From 36c764292cebce24a40738db22c818b638dac0ad Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Tue, 27 Jun 2023 22:26:48 -0400 Subject: [PATCH 01/18] refactored functio checkTraceId. Still need to work on: (1. currently nothing will be displayed because still need to refactor chart and table display logic with new data shape) (2. need to clear data upon reload of tab page) --- .../dist/assets/panel-4db2af09.js | 40 ++++++++++ .../dist/assets/panel-fc89945a.js | 57 --------------- .../dist/src/pages/panel/index.html | 2 +- chrome-extension/src/pages/app/app.tsx | 21 ++++-- .../src/pages/app/functions/checkTraceId.ts | 73 +++++++++++-------- chrome-extension/src/types/types.ts | 6 +- 6 files changed, 100 insertions(+), 99 deletions(-) create mode 100644 chrome-extension/dist/assets/panel-4db2af09.js delete mode 100644 chrome-extension/dist/assets/panel-fc89945a.js diff --git a/chrome-extension/dist/assets/panel-4db2af09.js b/chrome-extension/dist/assets/panel-4db2af09.js new file mode 100644 index 0000000..7a907d9 --- /dev/null +++ b/chrome-extension/dist/assets/panel-4db2af09.js @@ -0,0 +1,40 @@ +import"./modulepreload-polyfill-3cfb730f.js";var Bi={exports:{}},br={},Hi={exports:{}},T={};/** + * @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 Yt=Symbol.for("react.element"),rc=Symbol.for("react.portal"),lc=Symbol.for("react.fragment"),uc=Symbol.for("react.strict_mode"),oc=Symbol.for("react.profiler"),ic=Symbol.for("react.provider"),sc=Symbol.for("react.context"),ac=Symbol.for("react.forward_ref"),cc=Symbol.for("react.suspense"),fc=Symbol.for("react.memo"),dc=Symbol.for("react.lazy"),Mo=Symbol.iterator;function pc(e){return e===null||typeof e!="object"?null:(e=Mo&&e[Mo]||e["@@iterator"],typeof e=="function"?e:null)}var Wi={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Qi=Object.assign,Ki={};function lt(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}lt.prototype.isReactComponent={};lt.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,n,"setState")};lt.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Yi(){}Yi.prototype=lt.prototype;function ju(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}var Uu=ju.prototype=new Yi;Uu.constructor=ju;Qi(Uu,lt.prototype);Uu.isPureReactComponent=!0;var Io=Array.isArray,Xi=Object.prototype.hasOwnProperty,$u={current:null},Gi={key:!0,ref:!0,__self:!0,__source:!0};function Zi(e,n,t){var r,l={},u=null,o=null;if(n!=null)for(r in n.ref!==void 0&&(o=n.ref),n.key!==void 0&&(u=""+n.key),n)Xi.call(n,r)&&!Gi.hasOwnProperty(r)&&(l[r]=n[r]);var i=arguments.length-2;if(i===1)l.children=t;else if(1>>1,X=C[H];if(0>>1;Hl(yl,z))hnl(bt,yl)?(C[H]=bt,C[hn]=z,H=hn):(C[H]=yl,C[vn]=z,H=vn);else if(hnl(bt,z))C[H]=bt,C[hn]=z,H=hn;else break e}}return P}function l(C,P){var z=C.sortIndex-P.sortIndex;return z!==0?z:C.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var o=Date,i=o.now();e.unstable_now=function(){return o.now()-i}}var s=[],c=[],v=1,m=null,p=3,g=!1,w=!1,k=!1,F=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var P=t(c);P!==null;){if(P.callback===null)r(c);else if(P.startTime<=C)r(c),P.sortIndex=P.expirationTime,n(s,P);else break;P=t(c)}}function h(C){if(k=!1,d(C),!w)if(t(s)!==null)w=!0,vl(E);else{var P=t(c);P!==null&&hl(h,P.startTime-C)}}function E(C,P){w=!1,k&&(k=!1,f(N),N=-1),g=!0;var z=p;try{for(d(P),m=t(s);m!==null&&(!(m.expirationTime>P)||C&&!xe());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var X=H(m.expirationTime<=P);P=e.unstable_now(),typeof X=="function"?m.callback=X:m===t(s)&&r(s),d(P)}else r(s);m=t(s)}if(m!==null)var qt=!0;else{var vn=t(c);vn!==null&&hl(h,vn.startTime-P),qt=!1}return qt}finally{m=null,p=z,g=!1}}var _=!1,x=null,N=-1,B=5,L=-1;function xe(){return!(e.unstable_now()-LC||125H?(C.sortIndex=z,n(c,C),t(s)===null&&C===t(c)&&(k?(f(N),N=-1):k=!0,hl(h,z-H))):(C.sortIndex=X,n(s,C),w||g||(w=!0,vl(E))),C},e.unstable_shouldYield=xe,e.unstable_wrapCallback=function(C){var P=p;return function(){var z=p;p=P;try{return C.apply(this,arguments)}finally{p=z}}}})(es);bi.exports=es;var _c=bi.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 ns=wn,he=_c;function y(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ql=Object.prototype.hasOwnProperty,xc=/^[: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]*$/,Fo={},jo={};function Nc(e){return Ql.call(jo,e)?!0:Ql.call(Fo,e)?!1:xc.test(e)?jo[e]=!0:(Fo[e]=!0,!1)}function Pc(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function zc(e,n,t,r){if(n===null||typeof n>"u"||Pc(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function ie(e,n,t,r,l,u,o){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=u,this.removeEmptyString=o}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){b[e]=new ie(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];b[n]=new ie(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){b[e]=new ie(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){b[e]=new ie(e,2,!1,e,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(e){b[e]=new ie(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){b[e]=new ie(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){b[e]=new ie(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){b[e]=new ie(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){b[e]=new ie(e,5,!1,e.toLowerCase(),null,!1,!1)});var Vu=/[\-:]([a-z])/g;function Bu(e){return e[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(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!1,!1)});b.xlinkHref=new ie("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!0,!0)});function Hu(e,n,t,r){var l=b.hasOwnProperty(n)?b[n]:null;(l!==null?l.type!==0:r||!(2i||l[o]!==u[i]){var s=` +`+l[o].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=i);break}}}finally{kl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?yt(e):""}function Tc(e){switch(e.tag){case 5:return yt(e.type);case 16:return yt("Lazy");case 13:return yt("Suspense");case 19:return yt("SuspenseList");case 0:case 2:case 15:return e=Sl(e.type,!1),e;case 11:return e=Sl(e.type.render,!1),e;case 1:return e=Sl(e.type,!0),e;default:return""}}function Gl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case In:return"Fragment";case Mn:return"Portal";case Kl:return"Profiler";case Wu:return"StrictMode";case Yl:return"Suspense";case Xl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ls:return(e.displayName||"Context")+".Consumer";case rs:return(e._context.displayName||"Context")+".Provider";case Qu:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ku:return n=e.displayName||null,n!==null?n:Gl(e.type)||"Memo";case Ge:n=e._payload,e=e._init;try{return Gl(e(n))}catch{}}return null}function Lc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gl(n);case 8:return n===Wu?"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 n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function cn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function os(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Rc(e){var n=os(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,u=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,u.call(this,o)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function tr(e){e._valueTracker||(e._valueTracker=Rc(e))}function is(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=os(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Tr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Zl(e,n){var t=n.checked;return A({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function $o(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=cn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function ss(e,n){n=n.checked,n!=null&&Hu(e,"checked",n,!1)}function Jl(e,n){ss(e,n);var t=cn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?ql(e,n.type,t):n.hasOwnProperty("defaultValue")&&ql(e,n.type,cn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Ao(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function ql(e,n,t){(n!=="number"||Tr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var gt=Array.isArray;function Qn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Rt(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var St={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},Oc=["Webkit","ms","Moz","O"];Object.keys(St).forEach(function(e){Oc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),St[n]=St[e]})});function ds(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||St.hasOwnProperty(e)&&St[e]?(""+n).trim():n+"px"}function ps(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=ds(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Mc=A({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 nu(e,n){if(n){if(Mc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function tu(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){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 ru=null;function Yu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var lu=null,Kn=null,Yn=null;function Ho(e){if(e=Zt(e)){if(typeof lu!="function")throw Error(y(280));var n=e.stateNode;n&&(n=ll(n),lu(e.stateNode,e.type,n))}}function ms(e){Kn?Yn?Yn.push(e):Yn=[e]:Kn=e}function vs(){if(Kn){var e=Kn,n=Yn;if(Yn=Kn=null,Ho(e),n)for(e=0;e>>=0,e===0?32:31-(Wc(e)/Qc|0)|0}var lr=64,ur=4194304;function wt(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Mr(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,u=e.pingedLanes,o=t&268435455;if(o!==0){var i=o&~l;i!==0?r=wt(i):(u&=o,u!==0&&(r=wt(u)))}else o=t&~l,o!==0?r=wt(o):u!==0&&(r=wt(u));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,u=n&-n,l>=u||l===16&&(u&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Xt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Le(n),e[n]=t}function Gc(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ct),qo=String.fromCharCode(32),bo=!1;function Ds(e,n){switch(e){case"keyup":return _f.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Dn=!1;function Nf(e,n){switch(e){case"compositionend":return Fs(n);case"keypress":return n.which!==32?null:(bo=!0,qo);case"textInput":return e=n.data,e===qo&&bo?null:e;default:return null}}function Pf(e,n){if(Dn)return e==="compositionend"||!no&&Ds(e,n)?(e=Ms(),kr=qu=be=null,Dn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=ri(t)}}function As(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?As(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Vs(){for(var e=window,n=Tr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Tr(e.document)}return n}function to(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Ff(e){var n=Vs(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&As(t.ownerDocument.documentElement,t)){if(r!==null&&to(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,u=Math.min(r.start,l);r=r.end===void 0?u:Math.min(r.end,l),!e.extend&&u>r&&(l=r,r=u,u=l),l=li(t,u);var o=li(t,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),u>r?(e.addRange(n),e.extend(o.node,o.offset)):(n.setEnd(o.node,o.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Fn=null,cu=null,xt=null,fu=!1;function ui(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;fu||Fn==null||Fn!==Tr(r)||(r=Fn,"selectionStart"in r&&to(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),xt&&jt(xt,r)||(xt=r,r=Fr(cu,"onSelect"),0$n||(e.current=yu[$n],yu[$n]=null,$n--)}function M(e,n){$n++,yu[$n]=e.current,e.current=n}var fn={},re=pn(fn),ce=pn(!1),xn=fn;function qn(e,n){var t=e.type.contextTypes;if(!t)return fn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},u;for(u in t)l[u]=n[u];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function fe(e){return e=e.childContextTypes,e!=null}function Ur(){D(ce),D(re)}function di(e,n,t){if(re.current!==fn)throw Error(y(168));M(re,n),M(ce,t)}function Zs(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Lc(e)||"Unknown",l));return A({},t,r)}function $r(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||fn,xn=re.current,M(re,e),M(ce,ce.current),!0}function pi(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=Zs(e,n,xn),r.__reactInternalMemoizedMergedChildContext=e,D(ce),D(re),M(re,e)):D(ce),M(ce,t)}var $e=null,ul=!1,Dl=!1;function Js(e){$e===null?$e=[e]:$e.push(e)}function Xf(e){ul=!0,Js(e)}function mn(){if(!Dl&&$e!==null){Dl=!0;var e=0,n=O;try{var t=$e;for(O=1;e>=o,l-=o,Ae=1<<32-Le(n)+l|t<N?(B=x,x=null):B=x.sibling;var L=p(f,x,d[N],h);if(L===null){x===null&&(x=B);break}e&&x&&L.alternate===null&&n(f,x),a=u(L,a,N),_===null?E=L:_.sibling=L,_=L,x=B}if(N===d.length)return t(f,x),j&&yn(f,N),E;if(x===null){for(;NN?(B=x,x=null):B=x.sibling;var xe=p(f,x,L.value,h);if(xe===null){x===null&&(x=B);break}e&&x&&xe.alternate===null&&n(f,x),a=u(xe,a,N),_===null?E=xe:_.sibling=xe,_=xe,x=B}if(L.done)return t(f,x),j&&yn(f,N),E;if(x===null){for(;!L.done;N++,L=d.next())L=m(f,L.value,h),L!==null&&(a=u(L,a,N),_===null?E=L:_.sibling=L,_=L);return j&&yn(f,N),E}for(x=r(f,x);!L.done;N++,L=d.next())L=g(x,f,N,L.value,h),L!==null&&(e&&L.alternate!==null&&x.delete(L.key===null?N:L.key),a=u(L,a,N),_===null?E=L:_.sibling=L,_=L);return e&&x.forEach(function(it){return n(f,it)}),j&&yn(f,N),E}function F(f,a,d,h){if(typeof d=="object"&&d!==null&&d.type===In&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case nr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===In){if(_.tag===7){t(f,_.sibling),a=l(_,d.props.children),a.return=f,f=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ge&&ki(E)===_.type){t(f,_.sibling),a=l(_,d.props),a.ref=mt(f,_,d),a.return=f,f=a;break e}t(f,_);break}else n(f,_);_=_.sibling}d.type===In?(a=_n(d.props.children,f.mode,h,d.key),a.return=f,f=a):(h=zr(d.type,d.key,d.props,null,f.mode,h),h.ref=mt(f,a,d),h.return=f,f=h)}return o(f);case Mn:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){t(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{t(f,a);break}else n(f,a);a=a.sibling}a=Hl(d,f.mode,h),a.return=f,f=a}return o(f);case Ge:return _=d._init,F(f,a,_(d._payload),h)}if(gt(d))return w(f,a,d,h);if(at(d))return k(f,a,d,h);dr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(t(f,a.sibling),a=l(a,d),a.return=f,f=a):(t(f,a),a=Bl(d,f.mode,h),a.return=f,f=a),o(f)):t(f,a)}return F}var et=ua(!0),oa=ua(!1),Jt={},je=pn(Jt),Vt=pn(Jt),Bt=pn(Jt);function En(e){if(e===Jt)throw Error(y(174));return e}function fo(e,n){switch(M(Bt,n),M(Vt,e),M(je,Jt),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:eu(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=eu(n,e)}D(je),M(je,n)}function nt(){D(je),D(Vt),D(Bt)}function ia(e){En(Bt.current);var n=En(je.current),t=eu(n,e.type);n!==t&&(M(Vt,e),M(je,t))}function po(e){Vt.current===e&&(D(je),D(Vt))}var U=pn(0);function Qr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Fl=[];function mo(){for(var e=0;et?t:4,e(!0);var r=jl.transition;jl.transition={};try{e(!1),n()}finally{O=t,jl.transition=r}}function Ca(){return _e().memoizedState}function qf(e,n,t){var r=sn(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},_a(e))xa(n,t);else if(t=na(e,n,t,r),t!==null){var l=ue();Re(t,e,r,l),Na(t,n,r)}}function bf(e,n,t){var r=sn(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(_a(e))xa(n,l);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=n.lastRenderedReducer,u!==null))try{var o=n.lastRenderedState,i=u(o,t);if(l.hasEagerState=!0,l.eagerState=i,Oe(i,o)){var s=n.interleaved;s===null?(l.next=l,ao(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=na(e,n,l,r),t!==null&&(l=ue(),Re(t,e,r,l),Na(t,n,r))}}function _a(e){var n=e.alternate;return e===$||n!==null&&n===$}function xa(e,n){Nt=Kr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Na(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Gu(e,t)}}var Yr={readContext:Ce,useCallback:ee,useContext:ee,useEffect:ee,useImperativeHandle:ee,useInsertionEffect:ee,useLayoutEffect:ee,useMemo:ee,useReducer:ee,useRef:ee,useState:ee,useDebugValue:ee,useDeferredValue:ee,useTransition:ee,useMutableSource:ee,useSyncExternalStore:ee,useId:ee,unstable_isNewReconciler:!1},ed={readContext:Ce,useCallback:function(e,n){return Ie().memoizedState=[e,n===void 0?null:n],e},useContext:Ce,useEffect:Ei,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,_r(4194308,4,ga.bind(null,n,e),t)},useLayoutEffect:function(e,n){return _r(4194308,4,e,n)},useInsertionEffect:function(e,n){return _r(4,2,e,n)},useMemo:function(e,n){var t=Ie();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=Ie();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=qf.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var n=Ie();return e={current:e},n.memoizedState=e},useState:Si,useDebugValue:wo,useDeferredValue:function(e){return Ie().memoizedState=e},useTransition:function(){var e=Si(!1),n=e[0];return e=Jf.bind(null,e[1]),Ie().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=$,l=Ie();if(j){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),Z===null)throw Error(y(349));Pn&30||ca(r,n,t)}l.memoizedState=t;var u={value:t,getSnapshot:n};return l.queue=u,Ei(da.bind(null,r,u,e),[e]),r.flags|=2048,Qt(9,fa.bind(null,r,u,t,n),void 0,null),t},useId:function(){var e=Ie(),n=Z.identifierPrefix;if(j){var t=Ve,r=Ae;t=(r&~(1<<32-Le(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Ht++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(t,{is:r.is}):(e=o.createElement(t),t==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,t),e[De]=n,e[At]=r,Da(e,n,!1,!1),n.stateNode=e;e:{switch(o=tu(t,r),t){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;lrt&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304)}else{if(!r)if(e=Qr(o),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),vt(u,!0),u.tail===null&&u.tailMode==="hidden"&&!o.alternate&&!j)return ne(n),null}else 2*W()-u.renderingStartTime>rt&&t!==1073741824&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304);u.isBackwards?(o.sibling=n.child,n.child=o):(t=u.last,t!==null?t.sibling=o:n.child=o,u.last=o)}return u.tail!==null?(n=u.tail,u.rendering=n,u.tail=n.sibling,u.renderingStartTime=W(),n.sibling=null,t=U.current,M(U,r?t&1|2:t&1),n):(ne(n),null);case 22:case 23:return xo(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?pe&1073741824&&(ne(n),n.subtreeFlags&6&&(n.flags|=8192)):ne(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function sd(e,n){switch(lo(n),n.tag){case 1:return fe(n.type)&&Ur(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return nt(),D(ce),D(re),mo(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return po(n),null;case 13:if(D(U),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));bn()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return D(U),null;case 4:return nt(),null;case 10:return so(n.type._context),null;case 22:case 23:return xo(),null;case 24:return null;default:return null}}var mr=!1,te=!1,ad=typeof WeakSet=="function"?WeakSet:Set,S=null;function Hn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){V(e,n,r)}else t.current=null}function Tu(e,n,t){try{t()}catch(r){V(e,n,r)}}var Ri=!1;function cd(e,n){if(du=Ir,e=Vs(),to(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,u=r.focusNode;r=r.focusOffset;try{t.nodeType,u.nodeType}catch{t=null;break e}var o=0,i=-1,s=-1,c=0,v=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(i=o+l),m!==u||r!==0&&m.nodeType!==3||(s=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(i=o),p===u&&++v===r&&(s=o),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=i===-1||s===-1?null:{start:i,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(pu={focusedElem:e,selectionRange:t},Ir=!1,S=n;S!==null;)if(n=S,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,S=e;else for(;S!==null;){n=S;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,F=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?k:Pe(n.type,k),F);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){V(n,n.return,h)}if(e=n.sibling,e!==null){e.return=n.return,S=e;break}S=n.return}return w=Ri,Ri=!1,w}function Pt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var u=l.destroy;l.destroy=void 0,u!==void 0&&Tu(n,t,u)}l=l.next}while(l!==r)}}function sl(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Lu(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Ua(e){var n=e.alternate;n!==null&&(e.alternate=null,Ua(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[De],delete n[At],delete n[hu],delete n[Kf],delete n[Yf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $a(e){return e.tag===5||e.tag===3||e.tag===4}function Oi(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$a(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ru(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=jr));else if(r!==4&&(e=e.child,e!==null))for(Ru(e,n,t),e=e.sibling;e!==null;)Ru(e,n,t),e=e.sibling}function Ou(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ou(e,n,t),e=e.sibling;e!==null;)Ou(e,n,t),e=e.sibling}var J=null,ze=!1;function Xe(e,n,t){for(t=t.child;t!==null;)Aa(e,n,t),t=t.sibling}function Aa(e,n,t){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(el,t)}catch{}switch(t.tag){case 5:te||Hn(t,n);case 6:var r=J,l=ze;J=null,Xe(e,n,t),J=r,ze=l,J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):J.removeChild(t.stateNode));break;case 18:J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?Il(e.parentNode,t):e.nodeType===1&&Il(e,t),Dt(e)):Il(J,t.stateNode));break;case 4:r=J,l=ze,J=t.stateNode.containerInfo,ze=!0,Xe(e,n,t),J=r,ze=l;break;case 0:case 11:case 14:case 15:if(!te&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var u=l,o=u.destroy;u=u.tag,o!==void 0&&(u&2||u&4)&&Tu(t,n,o),l=l.next}while(l!==r)}Xe(e,n,t);break;case 1:if(!te&&(Hn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(i){V(t,n,i)}Xe(e,n,t);break;case 21:Xe(e,n,t);break;case 22:t.mode&1?(te=(r=te)||t.memoizedState!==null,Xe(e,n,t),te=r):Xe(e,n,t);break;default:Xe(e,n,t)}}function Mi(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new ad),n.forEach(function(r){var l=wd.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function Ne(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=o),r&=~u}if(r=l,r=W()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dd(r/1960))-r,10e?16:e,en===null)var r=!1;else{if(e=en,en=null,Zr=0,R&6)throw Error(y(331));var l=R;for(R|=4,S=e.current;S!==null;){var u=S,o=u.child;if(S.flags&16){var i=u.deletions;if(i!==null){for(var s=0;sW()-Co?Cn(e,0):Eo|=t),de(e,n)}function Xa(e,n){n===0&&(e.mode&1?(n=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):n=1);var t=ue();e=Qe(e,n),e!==null&&(Xt(e,n,t),de(e,t))}function gd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),Xa(e,t)}function wd(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),Xa(e,t)}var Ga;Ga=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||ce.current)ae=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return ae=!1,od(e,n,t);ae=!!(e.flags&131072)}else ae=!1,j&&n.flags&1048576&&qs(n,Vr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;xr(e,n),e=n.pendingProps;var l=qn(n,re.current);Gn(n,t),l=ho(null,n,r,e,l,t);var u=yo();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,fe(r)?(u=!0,$r(n)):u=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,co(n),l.updater=ol,n.stateNode=l,l._reactInternals=n,Eu(n,r,e,t),n=xu(null,n,r,!0,u,t)):(n.tag=0,j&&u&&ro(n),le(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(xr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Sd(r),e=Pe(r,e),l){case 0:n=_u(null,n,r,e,t);break e;case 1:n=zi(null,n,r,e,t);break e;case 11:n=Ni(null,n,r,e,t);break e;case 14:n=Pi(null,n,r,Pe(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),_u(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),zi(e,n,r,l,t);case 3:e:{if(Oa(n),e===null)throw Error(y(387));r=n.pendingProps,u=n.memoizedState,l=u.element,ta(e,n),Wr(n,r,null,t);var o=n.memoizedState;if(r=o.element,u.isDehydrated)if(u={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},n.updateQueue.baseState=u,n.memoizedState=u,n.flags&256){l=tt(Error(y(423)),n),n=Ti(e,n,r,t,l);break e}else if(r!==l){l=tt(Error(y(424)),n),n=Ti(e,n,r,t,l);break e}else for(me=ln(n.stateNode.containerInfo.firstChild),ve=n,j=!0,Te=null,t=oa(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(bn(),r===l){n=Ke(e,n,t);break e}le(e,n,r,t)}n=n.child}return n;case 5:return ia(n),e===null&&wu(n),r=n.type,l=n.pendingProps,u=e!==null?e.memoizedProps:null,o=l.children,mu(r,l)?o=null:u!==null&&mu(r,u)&&(n.flags|=32),Ra(e,n),le(e,n,o,t),n.child;case 6:return e===null&&wu(n),null;case 13:return Ma(e,n,t);case 4:return fo(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=et(n,null,r,t):le(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),Ni(e,n,r,l,t);case 7:return le(e,n,n.pendingProps,t),n.child;case 8:return le(e,n,n.pendingProps.children,t),n.child;case 12:return le(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,u=n.memoizedProps,o=l.value,M(Br,r._currentValue),r._currentValue=o,u!==null)if(Oe(u.value,o)){if(u.children===l.children&&!ce.current){n=Ke(e,n,t);break e}}else for(u=n.child,u!==null&&(u.return=n);u!==null;){var i=u.dependencies;if(i!==null){o=u.child;for(var s=i.firstContext;s!==null;){if(s.context===r){if(u.tag===1){s=Be(-1,t&-t),s.tag=2;var c=u.updateQueue;if(c!==null){c=c.shared;var v=c.pending;v===null?s.next=s:(s.next=v.next,v.next=s),c.pending=s}}u.lanes|=t,s=u.alternate,s!==null&&(s.lanes|=t),ku(u.return,t,n),i.lanes|=t;break}s=s.next}}else if(u.tag===10)o=u.type===n.type?null:u.child;else if(u.tag===18){if(o=u.return,o===null)throw Error(y(341));o.lanes|=t,i=o.alternate,i!==null&&(i.lanes|=t),ku(o,t,n),o=u.sibling}else o=u.child;if(o!==null)o.return=u;else for(o=u;o!==null;){if(o===n){o=null;break}if(u=o.sibling,u!==null){u.return=o.return,o=u;break}o=o.return}u=o}le(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Gn(n,t),l=Ce(l),r=r(l),n.flags|=1,le(e,n,r,t),n.child;case 14:return r=n.type,l=Pe(r,n.pendingProps),l=Pe(r.type,l),Pi(e,n,r,l,t);case 15:return Ta(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),xr(e,n),n.tag=1,fe(r)?(e=!0,$r(n)):e=!1,Gn(n,t),la(n,r,l),Eu(n,r,l,t),xu(null,n,r,!0,e,t);case 19:return Ia(e,n,t);case 22:return La(e,n,t)}throw Error(y(156,n.tag))};function Za(e,n){return Es(e,n)}function kd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Se(e,n,t,r){return new kd(e,n,t,r)}function Po(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sd(e){if(typeof e=="function")return Po(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qu)return 11;if(e===Ku)return 14}return 2}function an(e,n){var t=e.alternate;return t===null?(t=Se(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function zr(e,n,t,r,l,u){var o=2;if(r=e,typeof e=="function")Po(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case In:return _n(t.children,l,u,n);case Wu:o=8,l|=8;break;case Kl:return e=Se(12,t,n,l|2),e.elementType=Kl,e.lanes=u,e;case Yl:return e=Se(13,t,n,l),e.elementType=Yl,e.lanes=u,e;case Xl:return e=Se(19,t,n,l),e.elementType=Xl,e.lanes=u,e;case us:return cl(t,l,u,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rs:o=10;break e;case ls:o=9;break e;case Qu:o=11;break e;case Ku:o=14;break e;case Ge:o=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=Se(o,t,n,l),n.elementType=e,n.type=r,n.lanes=u,n}function _n(e,n,t,r){return e=Se(7,e,r,n),e.lanes=t,e}function cl(e,n,t,r){return e=Se(22,e,r,n),e.elementType=us,e.lanes=t,e.stateNode={isHidden:!1},e}function Bl(e,n,t){return e=Se(6,e,null,n),e.lanes=t,e}function Hl(e,n,t){return n=Se(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ed(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function zo(e,n,t,r,l,u,o,i,s){return e=new Ed(e,n,t,i,s),n===1?(n=1,u===!0&&(n|=8)):n=0,u=Se(3,null,null,n),e.current=u,u.stateNode=e,u.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},co(u),e}function Cd(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ec)}catch(e){console.error(e)}}ec(),qi.exports=ye;var zd=qi.exports,nc,Vi=zd;nc=Vi.createRoot,Vi.hydrateRoot;function Td(e,n){const t={...e};return n.traceId in t?t[n.traceId].push(n):t[n.traceId]=[n],t}function Ld(){const[e,n]=wn.useState([]),[t,r]=wn.useState({});return wn.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",u=>{try{console.log(u.data),n(o=>[...o,JSON.parse(u.data)]),r(o=>Td(o,JSON.parse(u.data)))}catch(o){console.log("failed",o)}})},[]),wn.useEffect(()=>{r({})}),wn.useEffect(()=>{console.log(t)},[t]),Wl.jsx(Wl.Fragment,{})}const Rd=document.getElementById("root"),Od=nc(Rd);console.log("panel/index.jsx reached");Od.render(Wl.jsx(Ld,{})); diff --git a/chrome-extension/dist/assets/panel-fc89945a.js b/chrome-extension/dist/assets/panel-fc89945a.js deleted file mode 100644 index d30161a..0000000 --- a/chrome-extension/dist/assets/panel-fc89945a.js +++ /dev/null @@ -1,57 +0,0 @@ -var Bp=Object.defineProperty;var Hp=(e,t,n)=>t in e?Bp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var R=(e,t,n)=>(Hp(e,typeof t!="symbol"?t+"":t,n),n);import"./modulepreload-polyfill-3cfb730f.js";function Vp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Af={exports:{}},Js={},Nf={exports:{}},I={};/** - * @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 xr=Symbol.for("react.element"),Wp=Symbol.for("react.portal"),$p=Symbol.for("react.fragment"),Up=Symbol.for("react.strict_mode"),Yp=Symbol.for("react.profiler"),Kp=Symbol.for("react.provider"),Qp=Symbol.for("react.context"),Xp=Symbol.for("react.forward_ref"),Gp=Symbol.for("react.suspense"),Zp=Symbol.for("react.memo"),qp=Symbol.for("react.lazy"),du=Symbol.iterator;function Jp(e){return e===null||typeof e!="object"?null:(e=du&&e[du]||e["@@iterator"],typeof e=="function"?e:null)}var jf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bf=Object.assign,Hf={};function di(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}di.prototype.isReactComponent={};di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Vf(){}Vf.prototype=di.prototype;function ra(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}var sa=ra.prototype=new Vf;sa.constructor=ra;Bf(sa,di.prototype);sa.isPureReactComponent=!0;var pu=Array.isArray,Wf=Object.prototype.hasOwnProperty,oa={current:null},$f={key:!0,ref:!0,__self:!0,__source:!0};function Uf(e,t,n){var i,r={},s=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(s=""+t.key),t)Wf.call(t,i)&&!$f.hasOwnProperty(i)&&(r[i]=t[i]);var l=arguments.length-2;if(l===1)r.children=n;else if(1>>1,Y=M[W];if(0>>1;Wr(xe,D))jtr(Mr,xe)?(M[W]=Mr,M[jt]=D,W=jt):(M[W]=xe,M[Nt]=D,W=Nt);else if(jtr(Mr,D))M[W]=Mr,M[jt]=D,W=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,m=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(y=!1,v(M),!m)if(n(a)!==null)m=!0,it(w);else{var O=n(u);O!==null&&vt(_,O.startTime-M)}}function w(M,O){m=!1,y&&(y=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var W=f.callback;if(typeof W=="function"){f.callback=null,h=f.priorityLevel;var Y=W(f.expirationTime<=O);O=e.unstable_now(),typeof Y=="function"?f.callback=Y:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&vt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125W?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(y?(p(b),b=-1):y=!0,vt(_,D-W))):(M.sortIndex=Y,t(a,M),m||d||(m=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Gf);Xf.exports=Gf;var cg=Xf.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 Zf=pt,$t=cg;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),il=Object.prototype.hasOwnProperty,fg=/^[: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]*$/,mu={},yu={};function hg(e){return il.call(yu,e)?!0:il.call(mu,e)?!1:fg.test(e)?yu[e]=!0:(mu[e]=!0,!1)}function dg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function pg(e,t,n,i){if(t===null||typeof t>"u"||dg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var aa=/[\-:]([a-z])/g;function ua(e){return e[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(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ca(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2l||r[o]!==s[l]){var a=` -`+r[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{ko=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function gg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=So(e.type,!1),e;case 11:return e=So(e.type.render,!1),e;case 1:return e=So(e.type,!0),e;default:return""}}function ll(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case An:return"Portal";case rl:return"Profiler";case fa:return"StrictMode";case sl:return"Suspense";case ol:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case th:return(e.displayName||"Context")+".Consumer";case Jf:return(e._context.displayName||"Context")+".Provider";case ha:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case da:return t=e.displayName||null,t!==null?t:ll(e.type)||"Memo";case Ie:t=e._payload,e=e._init;try{return ll(e(t))}catch{}}return null}function mg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ll(t);case 8:return t===fa?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function yg(e){var t=nh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Tr(e){e._valueTracker||(e._valueTracker=yg(e))}function ih(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=nh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function _s(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function al(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function xu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rh(e,t){t=t.checked,t!=null&&ca(e,"checked",t,!1)}function ul(e,t){rh(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?cl(e,t.type,n):t.hasOwnProperty("defaultValue")&&cl(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function _u(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function cl(e,t,n){(t!=="number"||_s(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Lr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ii={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},vg=["Webkit","ms","Moz","O"];Object.keys(Ii).forEach(function(e){vg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ii[t]=Ii[e]})});function ah(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ii.hasOwnProperty(e)&&Ii[e]?(""+t).trim():t+"px"}function uh(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=ah(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var xg=tt({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 dl(e,t){if(t){if(xg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function pl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 gl=null;function pa(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ml=null,qn=null,Jn=null;function Su(e){if(e=kr(e)){if(typeof ml!="function")throw Error(C(280));var t=e.stateNode;t&&(t=ro(t),ml(e.stateNode,e.type,t))}}function ch(e){qn?Jn?Jn.push(e):Jn=[e]:qn=e}function fh(){if(qn){var e=qn,t=Jn;if(Jn=qn=null,Su(e),t)for(e=0;e>>=0,e===0?32:31-(Lg(e)/Og|0)|0}var Or=64,Dr=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function bs(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function _r(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function Fg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Du=String.fromCharCode(32),zu=!1;function Oh(e,t){switch(e){case"keyup":return um.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function fm(e,t){switch(e){case"compositionend":return Dh(t);case"keypress":return t.which!==32?null:(zu=!0,Du);case"textInput":return e=t.data,e===Du&&zu?null:e;default:return null}}function hm(e,t){if(jn)return e==="compositionend"||!ka&&Oh(e,t)?(e=Th(),os=xa=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Au(n)}}function Ih(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ih(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ah(){for(var e=window,t=_s();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=_s(e.document)}return t}function Sa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function wm(e){var t=Ah(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ih(n.ownerDocument.documentElement,n)){if(i!==null&&Sa(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Nu(n,s);var o=Nu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,kl=null,Bi=null,Sl=!1;function ju(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Sl||Bn==null||Bn!==_s(i)||(i=Bn,"selectionStart"in i&&Sa(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ps(kl,"onSelect"),0Wn||(e.current=Tl[Wn],Tl[Wn]=null,Wn--)}function U(e,t){Wn++,Tl[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Ts(){Q(Rt),Q(St)}function Yu(e,t,n){if(St.current!==rn)throw Error(C(168));U(St,t),U(Rt,n)}function Yh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,mg(e)||"Unknown",r));return tt({},n,i)}function Ls(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,U(St,e),U(Rt,Rt.current),!0}function Ku(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Yh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,Q(Rt),Q(St),U(St,e)):Q(Rt),U(Rt,n)}var be=null,so=!1,Ao=!1;function Kh(e){be===null?be=[e]:be.push(e)}function zm(e){so=!0,Kh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=H;try{var n=be;for(H=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(F){return t(p,F)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Er:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ie&&tc(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ps(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case An:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=Uo(v,p.mode,_),g.return=p,p=g}return o(p);case Ie:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return m(p,g,v,_);if(mi(v))return y(p,g,v,_);jr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=$o(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=ed(!0),nd=ed(!1),Sr={},ye=an(Sr),or=an(Sr),lr=an(Sr);function xn(e){if(e===Sr)throw Error(C(174));return e}function Da(e,t){switch(U(lr,t),U(or,e),U(ye,Sr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:hl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=hl(t,e)}Q(ye),U(ye,t)}function ai(){Q(ye),Q(or),Q(lr)}function id(e){xn(lr.current);var t=xn(ye.current),n=hl(t,e.type);t!==n&&(U(or,e),U(ye,n))}function za(e){or.current===e&&(Q(ye),Q(or))}var q=an(0);function Is(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var No=[];function Ra(){for(var e=0;en?n:4,e(!0);var i=jo.transition;jo.transition={};try{e(!1),t()}finally{H=n,jo.transition=i}}function xd(){return te().memoizedState}function Am(e,t,n){var i=qe(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},_d(e))wd(t,n);else if(n=Zh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),kd(n,t,i)}}function Nm(e,t,n){var i=qe(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(_d(e))wd(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,La(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Zh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),kd(n,t,i))}}function _d(e){var t=e.alternate;return e===J||t!==null&&t===J}function wd(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ma(e,n)}}var Ns={readContext:Jt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},jm={readContext:Jt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:Jt,useEffect:nc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,cs(4194308,4,pd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return cs(4194308,4,e,t)},useInsertionEffect:function(e,t){return cs(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Am.bind(null,J,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:ec,useDebugValue:ja,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=ec(!1),t=e[0];return e=Im.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=J,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),ht===null)throw Error(C(349));Mn&30||od(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,nc(ad.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,ld.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=ht.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Od(e,t,!1,!1),t.stateNode=e;t:{switch(o=pl(n,i),n){case"dialog":K("cancel",e),K("close",e),r=i;break;case"iframe":case"object":case"embed":K("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Is(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=q.current,U(q,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return Ua(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Km(e,t){switch(Ca(t),t.tag){case 1:return Ft(t.type)&&Ts(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),Q(Rt),Q(St),Ra(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return za(t),null;case 13:if(Q(q),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Q(q),null;case 4:return ai(),null;case 10:return Ta(t.type._context),null;case 22:case 23:return Ua(),null;case 24:return null;default:return null}}var Hr=!1,kt=!1,Qm=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Hl(e,t,n){try{n()}catch(i){et(e,t,i)}}var fc=!1;function Xm(e,t){if(bl=Cs,e=Ah(),Sa(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(Cl={focusedElem:e,selectionRange:n},Cs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,x=m.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?y:ne(t.type,y),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return m=fc,fc=!1,m}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Hl(t,n,s)}r=r.next}while(r!==i)}}function ao(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Vl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Rd(e){var t=e.alternate;t!==null&&(e.alternate=null,Rd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[El],delete t[Om],delete t[Dm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function hc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Es));else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}function $l(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for($l(e,t,n),e=e.sibling;e!==null;)$l(e,t,n),e=e.sibling}var dt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Id(e,t,n),n=n.sibling}function Id(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(to,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=dt,r=ie;dt=null,Re(e,t,n),dt=i,ie=r,dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):dt.removeChild(n.stateNode));break;case 18:dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?Io(e.parentNode,n):e.nodeType===1&&Io(e,n),tr(e)):Io(dt,n.stateNode));break;case 4:i=dt,r=ie,dt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),dt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Hl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function dc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Qm),t.forEach(function(i){var r=r0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Zm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Hs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Wa?_n(e,0):Va|=n),It(e,t)}function $d(e,t){t===0&&(e.mode&1?(t=Dr,Dr<<=1,!(Dr&130023424)&&(Dr=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(_r(e,t,n),It(e,n))}function i0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$d(e,n)}function r0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),$d(e,n)}var Ud;Ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,Um(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Qh(t,Ds,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;fs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Ia(null,t,i,e,r,n);var s=Aa();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ls(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Oa(t),r.updater=oo,t.stateNode=r,r._reactInternals=t,Rl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&ba(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(fs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=o0(i),e=ne(i,e),r){case 0:t=Il(null,t,i,e,n);break t;case 1:t=ac(null,t,i,e,n);break t;case 11:t=oc(null,t,i,e,n);break t;case 14:t=lc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Il(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),ac(e,t,i,r,n);case 3:t:{if(Ed(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,qh(e,t),Fs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=uc(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=uc(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=nd(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return id(t),e===null&&Ol(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Ml(i,r)?o=null:s!==null&&Ml(i,s)&&(t.flags|=32),Pd(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ol(t),null;case 13:return Td(e,t,n);case 4:return Da(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),oc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,U(zs,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Dl(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Dl(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=Jt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),lc(e,t,i,r,n);case 15:return Cd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),fs(e,t),t.tag=1,Ft(i)?(e=!0,Ls(t)):e=!1,ei(t,n),td(t,i,r),Rl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Ld(e,t,n);case 22:return Md(e,t,n)}throw Error(C(156,t.tag))};function Yd(e,t){return vh(e,t)}function s0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new s0(e,t,n,i)}function Ka(e){return e=e.prototype,!(!e||!e.isReactComponent)}function o0(e){if(typeof e=="function")return Ka(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ha)return 11;if(e===da)return 14}return 2}function Je(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ps(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ka(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case fa:o=8,r|=8;break;case rl:return e=Gt(12,n,t,r|2),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(13,n,t,r),e.elementType=sl,e.lanes=s,e;case ol:return e=Gt(19,n,t,r),e.elementType=ol,e.lanes=s,e;case eh:return co(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Jf:o=10;break t;case th:o=9;break t;case ha:o=11;break t;case da:o=14;break t;case Ie:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function co(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=eh,e.lanes=n,e.stateNode={isHidden:!1},e}function $o(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function Uo(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function l0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Co(0),this.expirationTimes=Co(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Co(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Qa(e,t,n,i,r,s,o,l,a){return e=new l0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oa(s),e}function a0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gd)}catch(e){console.error(e)}}Gd(),Qf.exports=Ut;var d0=Qf.exports,Zd,wc=d0;Zd=wc.createRoot,wc.hydrateRoot;function hr(e,t){return t-e}function qd(e){const t=[];let n,i;e.map((o,l)=>{const a=hr(o.startTime,o.endTime),u={id:o.spanId,duration:a,start:o.startTime,end:o.endTime};t.push(u),l===0?(n=o.startTime,i=o.endTime):(o.startTimei&&(i=o.endTime))});const r=hr(n,i),s={id:e[0].traceId,duration:r,start:n,end:i};return t.unshift(s),t}function p0(e){const t=[];let n,i;return e.map((s,o)=>{if(o<13){const l=qd(s);t.push(l),o===0&&(n=l[0].start,i=l[0].id),l[0].start{const[t,n]=pt.useState(!1),i=e.length>1,r=qd(e);return z.jsxs(z.Fragment,{children:[z.jsxs("tr",{onClick:()=>n(!t),children:[z.jsxs("td",{className:i?"noPadding":"padding",children:[i?z.jsx("div",{className:t&&i?"arrowDown":"arrow"}):null,e[0].traceId]}),z.jsx("td",{children:e[0].name}),z.jsx("td",{children:e[0].spanId}),z.jsx("td",{children:e[0].applicationType}),z.jsx("td",{children:e[0].originatingService}),z.jsx("td",{children:e[0].method}),z.jsx("td",{children:e[0].status}),z.jsx("td",{children:e[0].protocol}),z.jsxs("td",{children:[t?hr(e[0].startTime,e[0].endTime):r[0].duration," ms"]})]}),i&&t?e.slice(1).map((s,o)=>z.jsxs("tr",{className:"span",children:[z.jsx("td",{}),z.jsx("td",{children:s.name}),z.jsx("td",{children:s.spanId}),z.jsx("td",{children:s.applicationType}),z.jsx("td",{children:s.originatingService}),z.jsx("td",{children:s.method}),z.jsx("td",{children:s.status}),z.jsx("td",{children:s.protocol}),z.jsxs("td",{children:[hr(s.startTime,s.endTime)," ms"]})]},o)):null]})},m0=({data:e})=>z.jsxs("table",{children:[z.jsxs("tr",{children:[z.jsx("th",{children:"Trace ID"}),z.jsx("th",{children:"Name"}),z.jsx("th",{children:"Span ID"}),z.jsx("th",{children:"Application Type"}),z.jsx("th",{children:"Orig. Svc."}),z.jsx("th",{children:"Method"}),z.jsx("th",{children:"Status"}),z.jsx("th",{children:"Protocol"}),z.jsx("th",{children:"Time"})]}),e.map((t,n)=>z.jsx(g0,{data:t},n))]});function y0(e,t){const n=[];return e.map((i,r)=>{const s=[],o=hr(t,i[0].start),l=o+i[0].duration;s.push(o,l),n.push(s)}),n}function v0(e){return e.map(n=>n[0].id)}/*! - * @kurkle/color v0.3.2 - * https://github.com/kurkle/color#readme - * (c) 2023 Jukka Kurkela - * Released under the MIT License - */function br(e){return e+.5|0}const Ve=(e,t,n)=>Math.max(Math.min(e,n),t);function zi(e){return Ve(br(e*2.55),0,255)}function tn(e){return Ve(br(e*255),0,255)}function Ce(e){return Ve(br(e/2.55)/100,0,1)}function kc(e){return Ve(br(e*100),0,100)}const Kt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Xl=[..."0123456789ABCDEF"],x0=e=>Xl[e&15],_0=e=>Xl[(e&240)>>4]+Xl[e&15],$r=e=>(e&240)>>4===(e&15),w0=e=>$r(e.r)&&$r(e.g)&&$r(e.b)&&$r(e.a);function k0(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&Kt[e[1]]*17,g:255&Kt[e[2]]*17,b:255&Kt[e[3]]*17,a:t===5?Kt[e[4]]*17:255}:(t===7||t===9)&&(n={r:Kt[e[1]]<<4|Kt[e[2]],g:Kt[e[3]]<<4|Kt[e[4]],b:Kt[e[5]]<<4|Kt[e[6]],a:t===9?Kt[e[7]]<<4|Kt[e[8]]:255})),n}const S0=(e,t)=>e<255?t(e):"";function b0(e){var t=w0(e)?x0:_0;return e?"#"+t(e.r)+t(e.g)+t(e.b)+S0(e.a,t):void 0}const C0=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Jd(e,t,n){const i=t*Math.min(n,1-n),r=(s,o=(s+e/30)%12)=>n-i*Math.max(Math.min(o-3,9-o,1),-1);return[r(0),r(8),r(4)]}function M0(e,t,n){const i=(r,s=(r+e/60)%6)=>n-n*t*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function P0(e,t,n){const i=Jd(e,1,.5);let r;for(t+n>1&&(r=1/(t+n),t*=r,n*=r),r=0;r<3;r++)i[r]*=1-t-n,i[r]+=t;return i}function E0(e,t,n,i,r){return e===r?(t-n)/i+(t.5?c/(2-s-o):c/(s+o),a=E0(n,i,r,c,s),a=a*60+.5),[a|0,u||0,l]}function Ja(e,t,n,i){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,i)).map(tn)}function tu(e,t,n){return Ja(Jd,e,t,n)}function T0(e,t,n){return Ja(P0,e,t,n)}function L0(e,t,n){return Ja(M0,e,t,n)}function tp(e){return(e%360+360)%360}function O0(e){const t=C0.exec(e);let n=255,i;if(!t)return;t[5]!==i&&(n=t[6]?zi(+t[5]):tn(+t[5]));const r=tp(+t[2]),s=+t[3]/100,o=+t[4]/100;return t[1]==="hwb"?i=T0(r,s,o):t[1]==="hsv"?i=L0(r,s,o):i=tu(r,s,o),{r:i[0],g:i[1],b:i[2],a:n}}function D0(e,t){var n=qa(e);n[0]=tp(n[0]+t),n=tu(n),e.r=n[0],e.g=n[1],e.b=n[2]}function z0(e){if(!e)return;const t=qa(e),n=t[0],i=kc(t[1]),r=kc(t[2]);return e.a<255?`hsla(${n}, ${i}%, ${r}%, ${Ce(e.a)})`:`hsl(${n}, ${i}%, ${r}%)`}const Sc={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},bc={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function R0(){const e={},t=Object.keys(bc),n=Object.keys(Sc);let i,r,s,o,l;for(i=0;i>16&255,s>>8&255,s&255]}return e}let Ur;function F0(e){Ur||(Ur=R0(),Ur.transparent=[0,0,0,0]);const t=Ur[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const I0=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function A0(e){const t=I0.exec(e);let n=255,i,r,s;if(t){if(t[7]!==i){const o=+t[7];n=t[8]?zi(o):Ve(o*255,0,255)}return i=+t[1],r=+t[3],s=+t[5],i=255&(t[2]?zi(i):Ve(i,0,255)),r=255&(t[4]?zi(r):Ve(r,0,255)),s=255&(t[6]?zi(s):Ve(s,0,255)),{r:i,g:r,b:s,a:n}}}function N0(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Ce(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Yo=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,In=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function j0(e,t,n){const i=In(Ce(e.r)),r=In(Ce(e.g)),s=In(Ce(e.b));return{r:tn(Yo(i+n*(In(Ce(t.r))-i))),g:tn(Yo(r+n*(In(Ce(t.g))-r))),b:tn(Yo(s+n*(In(Ce(t.b))-s))),a:e.a+n*(t.a-e.a)}}function Yr(e,t,n){if(e){let i=qa(e);i[t]=Math.max(0,Math.min(i[t]+i[t]*n,t===0?360:1)),i=tu(i),e.r=i[0],e.g=i[1],e.b=i[2]}}function ep(e,t){return e&&Object.assign(t||{},e)}function Cc(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=tn(e[3]))):(t=ep(e,{r:0,g:0,b:0,a:1}),t.a=tn(t.a)),t}function B0(e){return e.charAt(0)==="r"?A0(e):O0(e)}class dr{constructor(t){if(t instanceof dr)return t;const n=typeof t;let i;n==="object"?i=Cc(t):n==="string"&&(i=k0(t)||F0(t)||B0(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=ep(this._rgb);return t&&(t.a=Ce(t.a)),t}set rgb(t){this._rgb=Cc(t)}rgbString(){return this._valid?N0(this._rgb):void 0}hexString(){return this._valid?b0(this._rgb):void 0}hslString(){return this._valid?z0(this._rgb):void 0}mix(t,n){if(t){const i=this.rgb,r=t.rgb;let s;const o=n===s?.5:n,l=2*o-1,a=i.a-r.a,u=((l*a===-1?l:(l+a)/(1+l*a))+1)/2;s=1-u,i.r=255&u*i.r+s*r.r+.5,i.g=255&u*i.g+s*r.g+.5,i.b=255&u*i.b+s*r.b+.5,i.a=o*i.a+(1-o)*r.a,this.rgb=i}return this}interpolate(t,n){return t&&(this._rgb=j0(this._rgb,t._rgb,n)),this}clone(){return new dr(this.rgb)}alpha(t){return this._rgb.a=tn(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=br(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Yr(this._rgb,2,t),this}darken(t){return Yr(this._rgb,2,-t),this}saturate(t){return Yr(this._rgb,1,t),this}desaturate(t){return Yr(this._rgb,1,-t),this}rotate(t){return D0(this._rgb,t),this}}/*! - * Chart.js v4.3.0 - * https://www.chartjs.org - * (c) 2023 Chart.js Contributors - * Released under the MIT License - */function _e(){}const H0=(()=>{let e=0;return()=>e++})();function V(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function N(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ft(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ft(e)?e:t}function j(e,t){return typeof e>"u"?t:e}const V0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function $(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function B(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function U0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function Y0(e){const t=U0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Mc[t]||(Mc[t]=Y0(t)))(e)}function eu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const gr=e=>typeof e<"u",sn=e=>typeof e=="function",Pc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function K0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Ys=Number.POSITIVE_INFINITY,Q0=yt/180,zt=yt/2,cn=yt/4,Ec=yt*2/3,We=Math.log10,en=Math.sign;function gs(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ks(e){return!isNaN(parseFloat(e))&&isFinite(e)}function G0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function ip(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function iu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Gl=(e,t,n,i)=>iu(e,n,i?r=>{const s=e[r][t];return se[r][t]iu(e,n,i=>e[i][t]>=n);function ny(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+eu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Oc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(rp.forEach(s=>{delete e[s]}),delete e._chartjs)}function sp(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const op=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function lp(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,op.call(window,()=>{i=!1,e.apply(t,n)}))}}function ry(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const ru=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,sy=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Kr=e=>e===0||e===1,Dc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),zc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Kr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Kr(e)?e:Dc(e,.075,.3),easeOutElastic:e=>Kr(e)?e:zc(e,.075,.3),easeInOutElastic(e){return Kr(e)?e:e<.5?.5*Dc(e*2,.1125,.45):.5+.5*zc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function ap(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Rc(e){return ap(e)?e:new dr(e)}function Ko(e){return ap(e)?e:new dr(e).saturate(.5).darken(.1).hexString()}const oy=["x","y","borderWidth","radius","tension"],ly=["color","borderColor","backgroundColor"];function ay(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:ly},numbers:{type:"number",properties:oy}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function uy(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fc=new Map;function cy(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Fc.get(n);return i||(i=new Intl.NumberFormat(e,t),Fc.set(n,i)),i}function su(e,t,n){return cy(t,n).format(e)}const up={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=fy(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),su(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?up.numeric.call(this,e,t,n):""}};function fy(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var mo={formatters:up};function hy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:mo.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Zl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Ko(r.backgroundColor),this.hoverBorderColor=(i,r)=>Ko(r.borderColor),this.hoverColor=(i,r)=>Ko(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Qo(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Qo(Zl,t,n)}override(t,n){return Qo(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return N(a)?Object.assign({},u,a):j(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new dy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[ay,uy,hy]);function py(e){return!e||V(e.size)||V(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Qs(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function gy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,my(e,s),a=0;a+e||0;function fp(e,t){const n={},i=N(t),r=i?Object.keys(t):t,s=N(e)?i?o=>j(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=ky(s(o));return n}function hp(e){return fp(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return fp(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=hp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ut(e,t){e=e||{},t=t||nt.font;let n=j(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=j(e.style,t.style);i&&!(""+i).match(_y)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:j(e.family,t.family),lineHeight:wy(j(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:j(e.weight,t.weight),string:""};return r.string=py(r),r}function Qr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function au(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=mp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>au([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return pp(l,a,()=>Oy(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return jc(l).includes(a)},ownKeys(l){return jc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:dp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return pp(s,o,()=>Cy(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function dp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const by=(e,t)=>e?e+eu(t):t,uu=(e,t)=>N(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function pp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function Cy(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=My(t,l,e,n)),G(l)&&l.length&&(l=Py(t,l,e,o.isIndexable)),uu(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function My(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),uu(e,a)&&(a=cu(r._scopes,r,e,a)),a}function Py(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(N(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=cu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function gp(e,t,n){return sn(e)?e(t,n):e}const Ey=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function Ty(e,t,n,i,r){for(const s of t){const o=Ey(n,s);if(o){e.add(o);const l=gp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function cu(e,t,n,i){const r=t._rootScopes,s=gp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Nc(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Nc(l,o,s,a,i),a===null)?!1:au(Array.from(l),[""],r,s,()=>Ly(t,n,i))}function Nc(e,t,n,i,r){for(;n;)n=Ty(e,t,n,i,r);return n}function Ly(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&N(n)?n:r||{}}function Oy(e,t,n,i){let r;for(const s of t)if(r=mp(by(s,e),n),typeof r<"u")return uu(e,r)?cu(n,i,e,r):r}function mp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function jc(e){let t=e._keys;return t||(t=e._keys=Dy(e._scopes)),t}function Dy(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function yp(){return typeof window<"u"&&typeof document<"u"}function fu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Xs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const yo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function zy(e,t){return yo(e).getPropertyValue(t)}const Ry=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Ry[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Fy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function Iy(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(Fy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=yo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=Iy(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:m}=t;return s&&(d-=o.width+l.width,m-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/m*n.height/i)}}function Ay(e,t,n){let i,r;if(t===void 0||n===void 0){const s=fu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=yo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Xs(l.maxWidth,s,"clientWidth"),r=Xs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Ys,maxHeight:r||Ys}}const Xr=e=>Math.round(e*10)/10;function Ny(e,t,n,i){const r=yo(e),s=Sn(r,"margin"),o=Xs(r.maxWidth,e,"clientWidth")||Ys,l=Xs(r.maxHeight,e,"clientHeight")||Ys,a=Ay(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Xr(Math.min(u,o,a.maxWidth)),c=Xr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Xr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Xr(Math.floor(c*i))),{width:u,height:c}}function Bc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const jy=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Hc(e,t){const n=zy(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const By=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},Hy=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?By(t,n):Hy()}function vp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function xp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! - * Chart.js v4.3.0 - * https://www.chartjs.org - * (c) 2023 Chart.js Contributors - * Released under the MIT License - */class Vy{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,r){const s=n.listeners[r],o=n.duration;s.forEach(l=>l({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=op.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new Vy;const Vc="transparent",Wy={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Rc(e||Vc),r=i.valid&&Rc(t||Vc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class $y{constructor(t,n,i,r){const s=n[i];r=Qr([t.to,r,s,t.from]);const o=Qr([t.from,s,r]);this._active=!0,this._fn=t.fn||Wy[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Qr([t.to,n,r,t.from]),this._from=Qr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!N(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=Yy(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Uy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new $y(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Uy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Kc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Gy(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Jy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function tv(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Go=e=>e==="reset"||e==="none",Qc=(e,t)=>t?e:Object.assign({},e),ev=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:wp(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Uc(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,m)=>f==="x"?h:f==="r"?m:d,s=n.xAxisID=j(i.xAxisID,Xo(t,"x")),o=n.yAxisID=j(i.yAxisID,Xo(t,"y")),l=n.rAxisID=j(i.rAxisID,Xo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Oc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(N(n))this._data=Xy(n);else if(i!==n){if(i){Oc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&iy(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=Uc(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Kc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):N(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]y||f=0;--h)if(!m()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),y=u.resolveNamedOptions(h,d,m,f);return y.$shared&&(y.$shared=a,s[o]=Object.freeze(Qc(y,a))),y}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new _p(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Go(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Go(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Go(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function iv(e){const t=e.iScale,n=nv(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(gr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function kp(e,t,n,i){return G(e)?ov(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Xc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function av(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(V(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var yv={evaluateInteractionItems:Cr,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?qo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?qo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function Jc(e,t){return e.filter(n=>Sp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function vv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=Jc(t,"x"),a=Jc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function tf(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function bp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function kv(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!N(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&bp(o,s.getPadding());const l=Math.max(0,t.outerWidth-tf(o,e,"left","right")),a=Math.max(0,t.outerHeight-tf(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function Sv(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function bv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof y.beforeLayout=="function"&&y.beforeLayout()});const c=a.reduce((y,x)=>x.box.options&&x.box.options.display===!1?y:y+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);bp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),m=_v(a.concat(u),f);Ri(l.fullSize,d,f,m),Ri(a,d,f,m),Ri(u,d,f,m)&&Ri(a,d,f,m),Sv(d),ef(l.leftAndTop,d,f,m),d.x+=d.w,d.y+=d.h,ef(l.rightAndBottom,d,f,m),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},B(l.chartArea,y=>{const x=y.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class Cp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class Cv extends Cp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ys="$chartjs",Mv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},nf=e=>e===null||e==="";function Pv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ys]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",nf(r)){const s=Hc(e,"width");s!==void 0&&(e.width=s)}if(nf(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Hc(e,"height");s!==void 0&&(e.height=s)}return e}const Mp=jy?{passive:!0}:!1;function Ev(e,t,n){e.addEventListener(t,n,Mp)}function Tv(e,t,n){e.canvas.removeEventListener(t,n,Mp)}function Lv(e,t){const n=Mv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Gs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Ov(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Gs(l.addedNodes,i),o=o&&!Gs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Dv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Gs(l.removedNodes,i),o=o&&!Gs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const yr=new Map;let rf=0;function Pp(){const e=window.devicePixelRatio;e!==rf&&(rf=e,yr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function zv(e,t){yr.size||window.addEventListener("resize",Pp),yr.set(e,t)}function Rv(e){yr.delete(e),yr.size||window.removeEventListener("resize",Pp)}function Fv(e,t,n){const i=e.canvas,r=i&&fu(i);if(!r)return;const s=lp((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),zv(e,s),o}function tl(e,t,n){n&&n.disconnect(),t==="resize"&&Rv(e)}function Iv(e,t,n){const i=e.canvas,r=lp(s=>{e.ctx!==null&&n(Lv(s,e))},e);return Ev(i,t,r),r}class Av extends Cp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Pv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ys])return!1;const i=n[ys].initial;["height","width"].forEach(s=>{const o=i[s];V(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ys],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Ov,detach:Dv,resize:Fv}[n]||Iv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:tl,detach:tl,resize:tl}[n]||Tv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Ny(t,n,i,r)}isAttached(t){const n=fu(t);return!!(n&&n.isConnected)}}function Nv(e){return!yp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?Cv:Av}class on{constructor(){R(this,"x");R(this,"y");R(this,"active",!1);R(this,"options");R(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ks(this.x)&&Ks(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}R(on,"defaults",{}),R(on,"defaultRoutes");function jv(e,t){const n=e.options.ticks,i=Bv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?Vv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Wv(t,u,s,o/r),u;const c=Hv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Zr(t,u,c,V(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function Vv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,sf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,of=(e,t)=>Math.min(t||e,e);function lf(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function Kv(e,t){B(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){$(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Sy(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-af(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=nu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){$(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){$(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=af(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,m=$e(this.labelRotation),y=Math.cos(m),x=Math.sin(m);if(l){const p=i.mirror?0:x*f.width+y*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:y*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,y)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){$(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return ty(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],m=l.setContext(this.getContext()),y=m.display?m.width:0,x=y/2,p=function(it){return fn(i,it,y)};let g,v,_,w,k,S,b,T,E,L,F,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,F=t.right;else if(o==="right")g=p(this.left),E=t.left,F=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,F=t.right}const At=j(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/At));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function t1(e){return"id"in e&&"defaults"in e}class e1{constructor(){this.controllers=new qr(Qi,"datasets",!0),this.elements=new qr(on,"elements"),this.plugins=new qr(Object,"plugins"),this.scales=new qr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):B(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=eu(t);$(i["before"+r],[],i),n[t](i),$(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function i1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&uf(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function cf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function c1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return cf(e,"x",n[0])||cf(e,"y",n[0])}return{}}function f1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=ql(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!N(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=Jl(o,l,c1(o,e),nt.scales[l.type]),u=a1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||ql(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=l1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Ep(e){const t=e.options||(e.options={});t.plugins=j(t.plugins,{}),t.scales=f1(e,t)}function Tp(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function h1(e){return e=e||{},e.data=Tp(e.data),Ep(e),e}const ff=new Map,Lp=new Set;function Jr(e,t){let n=ff.get(e);return n||(n=t(),ff.set(e,n),Lp.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class d1{constructor(t){this._config=h1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Tp(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Ep(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Zl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Lp.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Zl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=hf(this._resolverCache,t,r);let a=o;if(g1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=hf(this._resolverCache,t,i);return N(n)?hi(s,n,void 0,r):s}}function hf(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:au(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const p1=e=>N(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function g1(e,t){const{isScriptable:n,isIndexable:i}=dp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||p1(l))||o&&G(l))return!0}return!1}var m1="4.3.0";const y1=["top","bottom","left","right","chartArea"];function df(e,t){return e==="top"||e==="bottom"||y1.indexOf(e)===-1&&t==="x"}function pf(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function gf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),$(n&&n.onComplete,[e],t)}function v1(e){const t=e.chart,n=t.options.animation;$(n&&n.onProgress,[e],t)}function Op(e){return yp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const vs={},mf=e=>{const t=Op(e);return Object.values(vs).filter(n=>n.canvas===t).pop()};function x1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function _1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function w1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let vo=(Fe=class{static register(...t){de.add(...t),yf()}static unregister(...t){de.remove(...t),yf()}constructor(t,n){const i=this.config=new d1(n),r=Op(t),s=mf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Nv(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=H0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new n1,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ry(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],vs[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",gf),we.listen(this,"progress",v1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return V(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ic(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),$(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};B(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=Jl(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),B(s,o=>{const l=o.options,a=l.id,u=Jl(a,l),c=j(l.type,o.dtype);(l.position===void 0||df(l.position,u)!==df(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),B(r,(o,l)=>{o||delete i[l]}),B(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(pf("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){B(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;x1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],B(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=w1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&ou(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&lu(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=yv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);gr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};B(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){B(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},B(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!$s(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=K0(t),u=_1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,$(s.onHover,[t,l,this],this),a&&$(s.onClick,[t,l,this],this));const c=!$s(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},R(Fe,"defaults",nt),R(Fe,"instances",vs),R(Fe,"overrides",Tn),R(Fe,"registry",de),R(Fe,"version",m1),R(Fe,"getChart",mf),Fe);function yf(){return B(vo.instances,e=>e._plugins.invalidate())}function Dp(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function k1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=hp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function S1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||N(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function b1(e){const t=Dp(e),n=t.right-t.left,i=t.bottom-t.top,r=k1(e,n/2,i/2),s=S1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function el(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Dp(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function C1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function M1(e,t){e.rect(t.x,t.y,t.w,t.h)}function nl(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class xs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=b1(this),l=C1(o.radius)?mr:M1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,nl(o,n,s)),t.clip(),l(t,nl(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,nl(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return el(this,t,n,i)}inXRange(t,n){return el(this,t,null,n)}inYRange(t,n){return el(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}R(xs,"id","bar"),R(xs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),R(xs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const vf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},P1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class xf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=$(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ut(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=vf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((m,y)=>{const x=i+n/2+s.measureText(m.text).width;(y===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(y>0?0:1)]=0,d+=c,h++),a[y]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,m=0,y=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=E1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),m+=h+l,y++,h=d=0),a[p]={left:m,top:d,col:y,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ou(t,this),this._draw(),lu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ut(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:m,boxHeight:y,itemHeight:x}=vf(o,f),p=function(k,S,b){if(isNaN(m)||m<=0||isNaN(y)||y<0)return;r.save();const T=j(b.lineWidth,1);if(r.fillStyle=j(b.fillStyle,l),r.lineCap=j(b.lineCap,"butt"),r.lineDashOffset=j(b.lineDashOffset,0),r.lineJoin=j(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=j(b.strokeStyle,l),r.setLineDash(j(b.lineDash,[])),o.usePointStyle){const E={radius:y*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,m/2),F=S+h;cp(r,E,L,F,o.pointStyleWidth&&m)}else{const E=S+Math.max((f-y)/2,0),L=a.leftForLtr(k,m),F=kn(b.borderRadius);r.beginPath(),Object.values(F).some(st=>st!==0)?mr(r,{x:L,y:E,w:m,h:y,radius:F}):r.rect(L,E,m,y),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},vp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=m+h+b;let L=d.x,F=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(F=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&F+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,F=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,F,k),L=sy(T,L+m+h,v?L+E:this.right,t.rtl),g(a.x(L),F,k),v)d.x+=E+c;else if(typeof k.text!="string"){const At=u.lineHeight;d.y+=zp(k,At)}else d.y+=w}),xp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ut(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const m=this.columnSizes.reduce((y,x)=>Math.max(y,x.height),0);c=u+wt(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(ru(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ut(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function L1(e,t,n){let i=e;return typeof t.text!="string"&&(i=zp(t,n)),i}function zp(e,t){const n=e.text?e.text.length+.5:0;return t*n}function O1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var D1={id:"legend",_element:xf,start(e,t,n){const i=e.legend=new xf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class Rp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ut(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ut(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:ru(n.align),textBaseline:"middle",translation:[o,l]})}}function z1(e,t){const n=new Rp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var R1={id:"title",_element:Rp,start(e,t,n){z1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;t-1?e.split(` -`):e}function F1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function _f(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ut(t.bodyFont),u=ut(t.titleFont),c=ut(t.footerFont),f=s.length,h=r.length,d=i.length,m=bt(t.padding);let y=m.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(y+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;y+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(y+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,B(e.title,v),n.font=a.string,B(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,B(i,_=>{B(_.before,v),B(_.lines,v),B(_.after,v)}),g=0,n.font=c.string,B(e.footer,v),n.restore(),x+=m.width,{width:x,height:y}}function I1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function A1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function N1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),A1(u,e,t,n)&&(u="center"),u}function wf(e,t,n){const i=n.yAlign||t.yAlign||I1(e,n);return{xAlign:n.xAlign||t.xAlign||N1(e,t,n,i),yAlign:i}}function j1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function B1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function kf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let m=j1(t,l);const y=B1(t,a,u);return a==="center"?l==="left"?m+=u:l==="right"&&(m-=u):l==="left"?m-=Math.max(c,h)+r:l==="right"&&(m+=Math.max(f,d)+r),{x:se(m,0,i.width-t.width),y:se(y,0,i.height-t.height)}}function ts(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function Sf(e){return fe([],ke(e))}function H1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function bf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Fp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Fp[t].call(n,i):r}class ta extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new _p(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=H1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return Sf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return B(t,s=>{const o={before:[],lines:[],after:[]},l=bf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return Sf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),B(l,c=>{const f=bf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=_f(this,i),u=Object.assign({},l,a),c=wf(this.chart,i,u),f=kf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:m,height:y}=n;let x,p,g,v,_,w;return s==="center"?(_=d+y/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+m,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+m-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+y,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=ts(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ut(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,mr(t,{x:y,y:m,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),mr(t,{x,y:m+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(y,m,u,a),t.strokeRect(y,m,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,m+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ut(i.bodyFont);let h=f.lineHeight,d=0;const m=ii(i.rtl,this.x,this.width),y=function(b){n.fillText(b,m.x(t.x+d),t.y+h/2),t.y+=h+s},x=m.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=ts(this,x,i),n.fillStyle=i.bodyColor,B(this.beforeBody,y),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=_f(this,t),a=Object.assign({},o,this._size),u=wf(n,t,a),c=kf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),vp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),xp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!$s(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!$s(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}R(ta,"positioners",Fi);var V1={id:"tooltip",_element:ta,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ta({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Fp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const W1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function $1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return W1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const U1=(e,t)=>e===null?null:se(Math.round(e),0,t);function Cf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}R(ea,"id","category"),R(ea,"defaults",{ticks:{callback:Cf}});function Y1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,m=c-1,{min:y,max:x}=t,p=!V(o),g=!V(l),v=!V(u),_=(x-y)/(f+1);let w=Tc((x-y)/m/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:y},{value:x}];T=Math.ceil(x/w)-Math.floor(y/w),T>m&&(w=Tc(T*w/m/d)*d),V(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(y/w)*w,b=Math.ceil(x/w)*w):(S=y,b=x),p&&g&&s&&G0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,gs(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Lc(w),Lc(S));k=Math.pow(10,V(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:F})}return g&&h&&b!==l?n.length&&gs(n[n.length-1].value,l,Mf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Mf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Zs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return V(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=Y1(r,s);return t.bounds==="ticks"&&ip(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return su(t,this.chart.options.locale,this.options.ticks.format)}}class na extends Zs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?t:0,this.max=ft(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}R(na,"id","linear"),R(na,"defaults",{ticks:{callback:mo.formatters.numeric}});const vr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,vr(e)+t);function Pf(e){return e/Math.pow(10,vr(e))===1}function Ef(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function K1(e,t){const n=t-e;let i=vr(n);for(;Ef(e,t,i)>10;)i++;for(;Ef(e,t,i)<10;)i--;return Math.min(i,vr(e))}function Q1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=vr(t);let s=K1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Pf(d),significand:f}),i}class Tf extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Zs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ft(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?Math.max(0,t):null,this.max=ft(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ft(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=Q1(n,this);return t.bounds==="ticks"&&ip(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":su(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}R(Tf,"id","logarithmic"),R(Tf,"defaults",{ticks:{callback:mo.formatters.logarithmic,major:{enabled:!0}}});function ia(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return j(t.font&&t.font.size,nt.font.size)+n.height}return 0}function X1(e,t,n){return n=G(n)?n:[n],{w:gy(e,t.string,n),h:n.length*t.lineHeight}}function Lf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function G1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function q1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(nu(pe(a.angle+zt))),c=ix(a.y,l.h,u),f=ex(u),h=nx(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function J1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function tx(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:ia(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function rx(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!V(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(m=>m!==0)?(e.beginPath(),mr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function sx(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));rx(n,o,s);const l=ut(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Ip(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=$(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?G1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(V(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(V(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),m=s.setContext(h);ox(this,d,a,o,m)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ut(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}R(es,"id","radialLinear"),R(es,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:mo.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),R(es,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),R(es,"descriptors",{angleLines:{_fallback:"grid"}});const xo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(xo);function ax(e,t){return e-t}function Of(e,t){if(V(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ft(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ks(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Df(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(xo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function cx(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function fx(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function Rf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Df(s.minUnit,n,i,this._getLabelCapacity(n)),l=j(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ks(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const m=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hy-x).map(y=>+y)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return $(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Gl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Gl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Ff extends qs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=ns(n,this.min),this._tableRange=ns(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Ap;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function dx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ap;const n={labels:[],datasets:[]};return Np(n,e.labels),jp(n,e.datasets,t),n}function px(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=pt.useRef(null),m=pt.useRef(),y=()=>{d.current&&(m.current=new vo(d.current,{type:o,data:dx(l,s),options:a&&{...a},plugins:u}),If(t,m.current))},x=()=>{If(t,null),m.current&&(m.current.destroy(),m.current=null)};return pt.useEffect(()=>{!r&&m.current&&a&&hx(m.current,a)},[r,a]),pt.useEffect(()=>{!r&&m.current&&Np(m.current.config.data,l.labels)},[r,l.labels]),pt.useEffect(()=>{!r&&m.current&&l.datasets&&jp(m.current.config.data,l.datasets,s)},[r,l.datasets]),pt.useEffect(()=>{m.current&&(r?(x(),setTimeout(y)):m.current.update(f))},[r,a,l.labels,l.datasets,f]),pt.useEffect(()=>{m.current&&(x(),setTimeout(y))},[o]),pt.useEffect(()=>(y(),()=>x()),[]),Yf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const gx=pt.forwardRef(px);function mx(e,t){return vo.register(t),pt.forwardRef((n,i)=>Yf.createElement(gx,Object.assign({},n,{ref:i,type:e})))}const yx=mx("bar",ms);vo.register(ea,na,xs,R1,V1,D1);const vx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},xx=({data:e})=>{const t=p0(e),n=v0(t.allTracesTimeInfo),i=y0(t.allTracesTimeInfo,t.earliestTime),r={labels:n,datasets:[{label:"Trace",data:i,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return z.jsx(yx,{options:vx,data:r})};function _x(e){let t="",n=!1,i=[];const r=[];return e.map((s,o)=>{o===0&&(t=e[0].traceId),n&&(i=[],n=!1),i.push(s),e[o+1]?e[o+1].traceId!==t&&(t=e[o+1].traceId,n=!0,r.push(i)):r.push(i)}),r.slice(0,13)}function wx(){const[e,t]=pt.useState([]);let n=0;pt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",s=>{try{n+=1,console.log(s.data),t(o=>[...o,JSON.parse(s.data)])}catch(o){console.log("failed",o)}})},[]),pt.useEffect(()=>{console.log(e)},[e]);const i=_x(e);return z.jsxs(z.Fragment,{children:[z.jsx(xx,{data:i}),z.jsx(m0,{data:i})]})}const kx=document.getElementById("root"),Sx=Zd(kx);console.log("panel/index.jsx reached");Sx.render(z.jsx(wx,{})); diff --git a/chrome-extension/dist/src/pages/panel/index.html b/chrome-extension/dist/src/pages/panel/index.html index 98d2591..8f19d29 100644 --- a/chrome-extension/dist/src/pages/panel/index.html +++ b/chrome-extension/dist/src/pages/panel/index.html @@ -2,7 +2,7 @@ - + diff --git a/chrome-extension/src/pages/app/app.tsx b/chrome-extension/src/pages/app/app.tsx index 6859865..abceb2e 100644 --- a/chrome-extension/src/pages/app/app.tsx +++ b/chrome-extension/src/pages/app/app.tsx @@ -3,17 +3,19 @@ import './App.css' import NetworkTable from './components/NetworkTable.tsx' import WaterfallChart from './components/WaterfallGraph.tsx'; import checkTraceId from './functions/checkTraceId.ts' -import { OtelData } from '../../types/types.ts'; +import { OtelData, ITraceIdData} from '../../types/types.ts'; function App() { - const [networkRequests, setNetworkRequests] = useState([]); + // const [networkRequests, setNetworkRequests] = useState([]); + const [traceIdData, setTraceIdData] = useState({}); useEffect(() => { const sseStream = new EventSource('http://localhost:3002/stream/sse'); sseStream.addEventListener('message', (e) => { try { console.log(e.data); - setNetworkRequests(prevNetworkRequests => [...prevNetworkRequests, JSON.parse(e.data)]); + // setNetworkRequests(prevNetworkRequests => [...prevNetworkRequests, JSON.parse(e.data)]); + setTraceIdData(prevTraceIdData => checkTraceId(prevTraceIdData, JSON.parse(e.data))) } catch (err) { console.log('failed', err); } @@ -22,17 +24,20 @@ function App() { useEffect(() => { - console.log(networkRequests); - }, [networkRequests]); + console.log(traceIdData); + }, [traceIdData]); + + - const aggregatedData = checkTraceId(networkRequests); + // const aggregatedData = checkTraceId(networkRequests); + return ( <> - - + {/* + */} ) } diff --git a/chrome-extension/src/pages/app/functions/checkTraceId.ts b/chrome-extension/src/pages/app/functions/checkTraceId.ts index 62f5387..6bc2acc 100644 --- a/chrome-extension/src/pages/app/functions/checkTraceId.ts +++ b/chrome-extension/src/pages/app/functions/checkTraceId.ts @@ -1,37 +1,46 @@ -import { OtelData } from '../../../types/types'; +import { OtelData, ITraceIdData } from '../../../types/types'; + + +export default function checkTraceId(prevTraceIdData:ITraceIdData, incomingSpanData: OtelData): ITraceIdData { + const newTraceIdData: ITraceIdData = {...prevTraceIdData}; + + if(incomingSpanData.traceId in newTraceIdData){ + newTraceIdData[incomingSpanData.traceId].push(incomingSpanData); + }else{ + newTraceIdData[incomingSpanData.traceId] = [incomingSpanData]; + } + return newTraceIdData; +} // import {IMockData} from '../mockData'; // need to refactor to take async requests into account // export default function checkTraceId(arrOfDataObj: IMockData[]): IMockData[][]{ -export default function checkTraceId(arrOfDataObj: OtelData[]): OtelData[][]{ - let singleTrace = ''; // storing current traceId - let newTrace = false; // boolean that checks if singleTrace has just been updated - // let singleTraceData: IMockData[] = []; // storing all spanId objects that share one traceId - let singleTraceData: OtelData[] = []; // storing all spanId objects that share one traceId - // const output: IMockData[][] = []; - const output: OtelData[][] = []; - - arrOfDataObj.map((obj, index) => { - if(index === 0){ - singleTrace = arrOfDataObj[0].traceId; - } - if(newTrace){ - singleTraceData = []; - newTrace = false; - } - singleTraceData.push(obj); - - if(!arrOfDataObj[index+1]){ - output.push(singleTraceData); - }else if(arrOfDataObj[index + 1].traceId !== singleTrace){ - singleTrace = arrOfDataObj[index + 1].traceId; - newTrace = true; - // console.log(singleTraceData) - output.push(singleTraceData); - } - }) - - // current sliced output is only due to complications in mockData - return output.slice(0, 13); -} \ No newline at end of file +// export default function checkTraceId(arrOfDataObj: OtelData[]): OtelData[][]{ +// let singleTrace = ''; // storing current traceId +// let singleTraceData: OtelData[] = []; // storing all spanId objects that share one traceId +// const output: OtelData[][] = []; + +// arrOfDataObj.map((obj, index) => { +// if(index === 0){ +// singleTrace = arrOfDataObj[0].traceId; +// } +// if(newTrace){ +// singleTraceData = []; +// newTrace = false; +// } +// singleTraceData.push(obj); + +// if(!arrOfDataObj[index+1]){ +// output.push(singleTraceData); +// }else if(arrOfDataObj[index + 1].traceId !== singleTrace){ +// singleTrace = arrOfDataObj[index + 1].traceId; +// newTrace = true; +// // console.log(singleTraceData) +// output.push(singleTraceData); +// } +// }) + +// // current sliced output is only due to complications in mockData +// return output.slice(0, 13); +// } \ No newline at end of file diff --git a/chrome-extension/src/types/types.ts b/chrome-extension/src/types/types.ts index 0958429..ddae6a6 100644 --- a/chrome-extension/src/types/types.ts +++ b/chrome-extension/src/types/types.ts @@ -12,4 +12,8 @@ export interface OtelData { type?: string, urlEndpoint?: string, name: string -} \ No newline at end of file +} + +export interface ITraceIdData { + [key: string]: OtelData[]; +}; \ No newline at end of file From 3a7ecc524fc2662037781336ac23a13404408282 Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Thu, 29 Jun 2023 19:44:43 -0400 Subject: [PATCH 02/18] refactored to store incoming data in a map object to keep insertion order for an accurate timeline --- .../{panel-4db2af09.js => panel-647f5f2f.js} | 14 +++++++------- chrome-extension/dist/src/pages/panel/index.html | 2 +- chrome-extension/src/pages/app/app.tsx | 2 +- .../src/pages/app/functions/checkTraceId.ts | 9 +++++---- chrome-extension/src/types/types.ts | 4 +--- 5 files changed, 15 insertions(+), 16 deletions(-) rename chrome-extension/dist/assets/{panel-4db2af09.js => panel-647f5f2f.js} (81%) diff --git a/chrome-extension/dist/assets/panel-4db2af09.js b/chrome-extension/dist/assets/panel-647f5f2f.js similarity index 81% rename from chrome-extension/dist/assets/panel-4db2af09.js rename to chrome-extension/dist/assets/panel-647f5f2f.js index 7a907d9..0dd11dc 100644 --- a/chrome-extension/dist/assets/panel-4db2af09.js +++ b/chrome-extension/dist/assets/panel-647f5f2f.js @@ -6,7 +6,7 @@ import"./modulepreload-polyfill-3cfb730f.js";var Bi={exports:{}},br={},Hi={expor * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Yt=Symbol.for("react.element"),rc=Symbol.for("react.portal"),lc=Symbol.for("react.fragment"),uc=Symbol.for("react.strict_mode"),oc=Symbol.for("react.profiler"),ic=Symbol.for("react.provider"),sc=Symbol.for("react.context"),ac=Symbol.for("react.forward_ref"),cc=Symbol.for("react.suspense"),fc=Symbol.for("react.memo"),dc=Symbol.for("react.lazy"),Mo=Symbol.iterator;function pc(e){return e===null||typeof e!="object"?null:(e=Mo&&e[Mo]||e["@@iterator"],typeof e=="function"?e:null)}var Wi={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Qi=Object.assign,Ki={};function lt(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}lt.prototype.isReactComponent={};lt.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,n,"setState")};lt.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Yi(){}Yi.prototype=lt.prototype;function ju(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}var Uu=ju.prototype=new Yi;Uu.constructor=ju;Qi(Uu,lt.prototype);Uu.isPureReactComponent=!0;var Io=Array.isArray,Xi=Object.prototype.hasOwnProperty,$u={current:null},Gi={key:!0,ref:!0,__self:!0,__source:!0};function Zi(e,n,t){var r,l={},u=null,o=null;if(n!=null)for(r in n.ref!==void 0&&(o=n.ref),n.key!==void 0&&(u=""+n.key),n)Xi.call(n,r)&&!Gi.hasOwnProperty(r)&&(l[r]=n[r]);var i=arguments.length-2;if(i===1)l.children=t;else if(1>>1,X=C[H];if(0>>1;Hl(yl,z))hnl(bt,yl)?(C[H]=bt,C[hn]=z,H=hn):(C[H]=yl,C[vn]=z,H=vn);else if(hnl(bt,z))C[H]=bt,C[hn]=z,H=hn;else break e}}return P}function l(C,P){var z=C.sortIndex-P.sortIndex;return z!==0?z:C.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var o=Date,i=o.now();e.unstable_now=function(){return o.now()-i}}var s=[],c=[],v=1,m=null,p=3,g=!1,w=!1,k=!1,F=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var P=t(c);P!==null;){if(P.callback===null)r(c);else if(P.startTime<=C)r(c),P.sortIndex=P.expirationTime,n(s,P);else break;P=t(c)}}function h(C){if(k=!1,d(C),!w)if(t(s)!==null)w=!0,vl(E);else{var P=t(c);P!==null&&hl(h,P.startTime-C)}}function E(C,P){w=!1,k&&(k=!1,f(N),N=-1),g=!0;var z=p;try{for(d(P),m=t(s);m!==null&&(!(m.expirationTime>P)||C&&!xe());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var X=H(m.expirationTime<=P);P=e.unstable_now(),typeof X=="function"?m.callback=X:m===t(s)&&r(s),d(P)}else r(s);m=t(s)}if(m!==null)var qt=!0;else{var vn=t(c);vn!==null&&hl(h,vn.startTime-P),qt=!1}return qt}finally{m=null,p=z,g=!1}}var _=!1,x=null,N=-1,B=5,L=-1;function xe(){return!(e.unstable_now()-LC||125H?(C.sortIndex=z,n(c,C),t(s)===null&&C===t(c)&&(k?(f(N),N=-1):k=!0,hl(h,z-H))):(C.sortIndex=X,n(s,C),w||g||(w=!0,vl(E))),C},e.unstable_shouldYield=xe,e.unstable_wrapCallback=function(C){var P=p;return function(){var z=p;p=P;try{return C.apply(this,arguments)}finally{p=z}}}})(es);bi.exports=es;var _c=bi.exports;/** + */(function(e){function n(C,N){var z=C.length;C.push(N);e:for(;0>>1,X=C[H];if(0>>1;Hl(yl,z))hnl(bt,yl)?(C[H]=bt,C[hn]=z,H=hn):(C[H]=yl,C[vn]=z,H=vn);else if(hnl(bt,z))C[H]=bt,C[hn]=z,H=hn;else break e}}return N}function l(C,N){var z=C.sortIndex-N.sortIndex;return z!==0?z:C.id-N.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var o=Date,i=o.now();e.unstable_now=function(){return o.now()-i}}var s=[],c=[],v=1,m=null,p=3,g=!1,w=!1,k=!1,F=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var N=t(c);N!==null;){if(N.callback===null)r(c);else if(N.startTime<=C)r(c),N.sortIndex=N.expirationTime,n(s,N);else break;N=t(c)}}function h(C){if(k=!1,d(C),!w)if(t(s)!==null)w=!0,vl(E);else{var N=t(c);N!==null&&hl(h,N.startTime-C)}}function E(C,N){w=!1,k&&(k=!1,f(P),P=-1),g=!0;var z=p;try{for(d(N),m=t(s);m!==null&&(!(m.expirationTime>N)||C&&!xe());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var X=H(m.expirationTime<=N);N=e.unstable_now(),typeof X=="function"?m.callback=X:m===t(s)&&r(s),d(N)}else r(s);m=t(s)}if(m!==null)var qt=!0;else{var vn=t(c);vn!==null&&hl(h,vn.startTime-N),qt=!1}return qt}finally{m=null,p=z,g=!1}}var _=!1,x=null,P=-1,B=5,L=-1;function xe(){return!(e.unstable_now()-LC||125H?(C.sortIndex=z,n(c,C),t(s)===null&&C===t(c)&&(k?(f(P),P=-1):k=!0,hl(h,z-H))):(C.sortIndex=X,n(s,C),w||g||(w=!0,vl(E))),C},e.unstable_shouldYield=xe,e.unstable_wrapCallback=function(C){var N=p;return function(){var z=p;p=N;try{return C.apply(this,arguments)}finally{p=z}}}})(es);bi.exports=es;var _c=bi.exports;/** * @license React * react-dom.production.min.js * @@ -30,11 +30,11 @@ import"./modulepreload-polyfill-3cfb730f.js";var Bi={exports:{}},br={},Hi={expor * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ns=wn,he=_c;function y(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ql=Object.prototype.hasOwnProperty,xc=/^[: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]*$/,Fo={},jo={};function Nc(e){return Ql.call(jo,e)?!0:Ql.call(Fo,e)?!1:xc.test(e)?jo[e]=!0:(Fo[e]=!0,!1)}function Pc(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function zc(e,n,t,r){if(n===null||typeof n>"u"||Pc(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function ie(e,n,t,r,l,u,o){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=u,this.removeEmptyString=o}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){b[e]=new ie(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];b[n]=new ie(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){b[e]=new ie(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){b[e]=new ie(e,2,!1,e,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(e){b[e]=new ie(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){b[e]=new ie(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){b[e]=new ie(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){b[e]=new ie(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){b[e]=new ie(e,5,!1,e.toLowerCase(),null,!1,!1)});var Vu=/[\-:]([a-z])/g;function Bu(e){return e[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(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!1,!1)});b.xlinkHref=new ie("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!0,!0)});function Hu(e,n,t,r){var l=b.hasOwnProperty(n)?b[n]:null;(l!==null?l.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ql=Object.prototype.hasOwnProperty,xc=/^[: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]*$/,Fo={},jo={};function Pc(e){return Ql.call(jo,e)?!0:Ql.call(Fo,e)?!1:xc.test(e)?jo[e]=!0:(Fo[e]=!0,!1)}function Nc(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function zc(e,n,t,r){if(n===null||typeof n>"u"||Nc(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function ie(e,n,t,r,l,u,o){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=u,this.removeEmptyString=o}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){b[e]=new ie(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];b[n]=new ie(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){b[e]=new ie(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){b[e]=new ie(e,2,!1,e,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(e){b[e]=new ie(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){b[e]=new ie(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){b[e]=new ie(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){b[e]=new ie(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){b[e]=new ie(e,5,!1,e.toLowerCase(),null,!1,!1)});var Vu=/[\-:]([a-z])/g;function Bu(e){return e[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(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!1,!1)});b.xlinkHref=new ie("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!0,!0)});function Hu(e,n,t,r){var l=b.hasOwnProperty(n)?b[n]:null;(l!==null?l.type!==0:r||!(2i||l[o]!==u[i]){var s=` -`+l[o].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=i);break}}}finally{kl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?yt(e):""}function Tc(e){switch(e.tag){case 5:return yt(e.type);case 16:return yt("Lazy");case 13:return yt("Suspense");case 19:return yt("SuspenseList");case 0:case 2:case 15:return e=Sl(e.type,!1),e;case 11:return e=Sl(e.type.render,!1),e;case 1:return e=Sl(e.type,!0),e;default:return""}}function Gl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case In:return"Fragment";case Mn:return"Portal";case Kl:return"Profiler";case Wu:return"StrictMode";case Yl:return"Suspense";case Xl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ls:return(e.displayName||"Context")+".Consumer";case rs:return(e._context.displayName||"Context")+".Provider";case Qu:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ku:return n=e.displayName||null,n!==null?n:Gl(e.type)||"Memo";case Ge:n=e._payload,e=e._init;try{return Gl(e(n))}catch{}}return null}function Lc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gl(n);case 8:return n===Wu?"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 n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function cn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function os(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Rc(e){var n=os(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,u=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,u.call(this,o)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function tr(e){e._valueTracker||(e._valueTracker=Rc(e))}function is(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=os(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Tr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Zl(e,n){var t=n.checked;return A({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function $o(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=cn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function ss(e,n){n=n.checked,n!=null&&Hu(e,"checked",n,!1)}function Jl(e,n){ss(e,n);var t=cn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?ql(e,n.type,t):n.hasOwnProperty("defaultValue")&&ql(e,n.type,cn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Ao(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function ql(e,n,t){(n!=="number"||Tr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var gt=Array.isArray;function Qn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Rt(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var St={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},Oc=["Webkit","ms","Moz","O"];Object.keys(St).forEach(function(e){Oc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),St[n]=St[e]})});function ds(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||St.hasOwnProperty(e)&&St[e]?(""+n).trim():n+"px"}function ps(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=ds(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Mc=A({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 nu(e,n){if(n){if(Mc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function tu(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){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 ru=null;function Yu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var lu=null,Kn=null,Yn=null;function Ho(e){if(e=Zt(e)){if(typeof lu!="function")throw Error(y(280));var n=e.stateNode;n&&(n=ll(n),lu(e.stateNode,e.type,n))}}function ms(e){Kn?Yn?Yn.push(e):Yn=[e]:Kn=e}function vs(){if(Kn){var e=Kn,n=Yn;if(Yn=Kn=null,Ho(e),n)for(e=0;e>>=0,e===0?32:31-(Wc(e)/Qc|0)|0}var lr=64,ur=4194304;function wt(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Mr(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,u=e.pingedLanes,o=t&268435455;if(o!==0){var i=o&~l;i!==0?r=wt(i):(u&=o,u!==0&&(r=wt(u)))}else o=t&~l,o!==0?r=wt(o):u!==0&&(r=wt(u));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,u=n&-n,l>=u||l===16&&(u&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Xt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Le(n),e[n]=t}function Gc(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ct),qo=String.fromCharCode(32),bo=!1;function Ds(e,n){switch(e){case"keyup":return _f.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Dn=!1;function Nf(e,n){switch(e){case"compositionend":return Fs(n);case"keypress":return n.which!==32?null:(bo=!0,qo);case"textInput":return e=n.data,e===qo&&bo?null:e;default:return null}}function Pf(e,n){if(Dn)return e==="compositionend"||!no&&Ds(e,n)?(e=Ms(),kr=qu=be=null,Dn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=ri(t)}}function As(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?As(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Vs(){for(var e=window,n=Tr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Tr(e.document)}return n}function to(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Ff(e){var n=Vs(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&As(t.ownerDocument.documentElement,t)){if(r!==null&&to(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,u=Math.min(r.start,l);r=r.end===void 0?u:Math.min(r.end,l),!e.extend&&u>r&&(l=r,r=u,u=l),l=li(t,u);var o=li(t,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),u>r?(e.addRange(n),e.extend(o.node,o.offset)):(n.setEnd(o.node,o.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Fn=null,cu=null,xt=null,fu=!1;function ui(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;fu||Fn==null||Fn!==Tr(r)||(r=Fn,"selectionStart"in r&&to(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),xt&&jt(xt,r)||(xt=r,r=Fr(cu,"onSelect"),0$n||(e.current=yu[$n],yu[$n]=null,$n--)}function M(e,n){$n++,yu[$n]=e.current,e.current=n}var fn={},re=pn(fn),ce=pn(!1),xn=fn;function qn(e,n){var t=e.type.contextTypes;if(!t)return fn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},u;for(u in t)l[u]=n[u];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function fe(e){return e=e.childContextTypes,e!=null}function Ur(){D(ce),D(re)}function di(e,n,t){if(re.current!==fn)throw Error(y(168));M(re,n),M(ce,t)}function Zs(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Lc(e)||"Unknown",l));return A({},t,r)}function $r(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||fn,xn=re.current,M(re,e),M(ce,ce.current),!0}function pi(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=Zs(e,n,xn),r.__reactInternalMemoizedMergedChildContext=e,D(ce),D(re),M(re,e)):D(ce),M(ce,t)}var $e=null,ul=!1,Dl=!1;function Js(e){$e===null?$e=[e]:$e.push(e)}function Xf(e){ul=!0,Js(e)}function mn(){if(!Dl&&$e!==null){Dl=!0;var e=0,n=O;try{var t=$e;for(O=1;e>=o,l-=o,Ae=1<<32-Le(n)+l|t<N?(B=x,x=null):B=x.sibling;var L=p(f,x,d[N],h);if(L===null){x===null&&(x=B);break}e&&x&&L.alternate===null&&n(f,x),a=u(L,a,N),_===null?E=L:_.sibling=L,_=L,x=B}if(N===d.length)return t(f,x),j&&yn(f,N),E;if(x===null){for(;NN?(B=x,x=null):B=x.sibling;var xe=p(f,x,L.value,h);if(xe===null){x===null&&(x=B);break}e&&x&&xe.alternate===null&&n(f,x),a=u(xe,a,N),_===null?E=xe:_.sibling=xe,_=xe,x=B}if(L.done)return t(f,x),j&&yn(f,N),E;if(x===null){for(;!L.done;N++,L=d.next())L=m(f,L.value,h),L!==null&&(a=u(L,a,N),_===null?E=L:_.sibling=L,_=L);return j&&yn(f,N),E}for(x=r(f,x);!L.done;N++,L=d.next())L=g(x,f,N,L.value,h),L!==null&&(e&&L.alternate!==null&&x.delete(L.key===null?N:L.key),a=u(L,a,N),_===null?E=L:_.sibling=L,_=L);return e&&x.forEach(function(it){return n(f,it)}),j&&yn(f,N),E}function F(f,a,d,h){if(typeof d=="object"&&d!==null&&d.type===In&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case nr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===In){if(_.tag===7){t(f,_.sibling),a=l(_,d.props.children),a.return=f,f=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ge&&ki(E)===_.type){t(f,_.sibling),a=l(_,d.props),a.ref=mt(f,_,d),a.return=f,f=a;break e}t(f,_);break}else n(f,_);_=_.sibling}d.type===In?(a=_n(d.props.children,f.mode,h,d.key),a.return=f,f=a):(h=zr(d.type,d.key,d.props,null,f.mode,h),h.ref=mt(f,a,d),h.return=f,f=h)}return o(f);case Mn:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){t(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{t(f,a);break}else n(f,a);a=a.sibling}a=Hl(d,f.mode,h),a.return=f,f=a}return o(f);case Ge:return _=d._init,F(f,a,_(d._payload),h)}if(gt(d))return w(f,a,d,h);if(at(d))return k(f,a,d,h);dr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(t(f,a.sibling),a=l(a,d),a.return=f,f=a):(t(f,a),a=Bl(d,f.mode,h),a.return=f,f=a),o(f)):t(f,a)}return F}var et=ua(!0),oa=ua(!1),Jt={},je=pn(Jt),Vt=pn(Jt),Bt=pn(Jt);function En(e){if(e===Jt)throw Error(y(174));return e}function fo(e,n){switch(M(Bt,n),M(Vt,e),M(je,Jt),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:eu(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=eu(n,e)}D(je),M(je,n)}function nt(){D(je),D(Vt),D(Bt)}function ia(e){En(Bt.current);var n=En(je.current),t=eu(n,e.type);n!==t&&(M(Vt,e),M(je,t))}function po(e){Vt.current===e&&(D(je),D(Vt))}var U=pn(0);function Qr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Fl=[];function mo(){for(var e=0;et?t:4,e(!0);var r=jl.transition;jl.transition={};try{e(!1),n()}finally{O=t,jl.transition=r}}function Ca(){return _e().memoizedState}function qf(e,n,t){var r=sn(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},_a(e))xa(n,t);else if(t=na(e,n,t,r),t!==null){var l=ue();Re(t,e,r,l),Na(t,n,r)}}function bf(e,n,t){var r=sn(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(_a(e))xa(n,l);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=n.lastRenderedReducer,u!==null))try{var o=n.lastRenderedState,i=u(o,t);if(l.hasEagerState=!0,l.eagerState=i,Oe(i,o)){var s=n.interleaved;s===null?(l.next=l,ao(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=na(e,n,l,r),t!==null&&(l=ue(),Re(t,e,r,l),Na(t,n,r))}}function _a(e){var n=e.alternate;return e===$||n!==null&&n===$}function xa(e,n){Nt=Kr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Na(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Gu(e,t)}}var Yr={readContext:Ce,useCallback:ee,useContext:ee,useEffect:ee,useImperativeHandle:ee,useInsertionEffect:ee,useLayoutEffect:ee,useMemo:ee,useReducer:ee,useRef:ee,useState:ee,useDebugValue:ee,useDeferredValue:ee,useTransition:ee,useMutableSource:ee,useSyncExternalStore:ee,useId:ee,unstable_isNewReconciler:!1},ed={readContext:Ce,useCallback:function(e,n){return Ie().memoizedState=[e,n===void 0?null:n],e},useContext:Ce,useEffect:Ei,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,_r(4194308,4,ga.bind(null,n,e),t)},useLayoutEffect:function(e,n){return _r(4194308,4,e,n)},useInsertionEffect:function(e,n){return _r(4,2,e,n)},useMemo:function(e,n){var t=Ie();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=Ie();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=qf.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var n=Ie();return e={current:e},n.memoizedState=e},useState:Si,useDebugValue:wo,useDeferredValue:function(e){return Ie().memoizedState=e},useTransition:function(){var e=Si(!1),n=e[0];return e=Jf.bind(null,e[1]),Ie().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=$,l=Ie();if(j){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),Z===null)throw Error(y(349));Pn&30||ca(r,n,t)}l.memoizedState=t;var u={value:t,getSnapshot:n};return l.queue=u,Ei(da.bind(null,r,u,e),[e]),r.flags|=2048,Qt(9,fa.bind(null,r,u,t,n),void 0,null),t},useId:function(){var e=Ie(),n=Z.identifierPrefix;if(j){var t=Ve,r=Ae;t=(r&~(1<<32-Le(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Ht++,0")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=i);break}}}finally{kl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?ht(e):""}function Tc(e){switch(e.tag){case 5:return ht(e.type);case 16:return ht("Lazy");case 13:return ht("Suspense");case 19:return ht("SuspenseList");case 0:case 2:case 15:return e=Sl(e.type,!1),e;case 11:return e=Sl(e.type.render,!1),e;case 1:return e=Sl(e.type,!0),e;default:return""}}function Gl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Mn:return"Fragment";case On:return"Portal";case Kl:return"Profiler";case Wu:return"StrictMode";case Yl:return"Suspense";case Xl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ls:return(e.displayName||"Context")+".Consumer";case rs:return(e._context.displayName||"Context")+".Provider";case Qu:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ku:return n=e.displayName||null,n!==null?n:Gl(e.type)||"Memo";case Ge:n=e._payload,e=e._init;try{return Gl(e(n))}catch{}}return null}function Lc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gl(n);case 8:return n===Wu?"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 n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function cn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function os(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Rc(e){var n=os(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,u=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,u.call(this,o)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function tr(e){e._valueTracker||(e._valueTracker=Rc(e))}function is(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=os(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Tr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Zl(e,n){var t=n.checked;return A({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function $o(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=cn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function ss(e,n){n=n.checked,n!=null&&Hu(e,"checked",n,!1)}function Jl(e,n){ss(e,n);var t=cn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?ql(e,n.type,t):n.hasOwnProperty("defaultValue")&&ql(e,n.type,cn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Ao(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function ql(e,n,t){(n!=="number"||Tr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var yt=Array.isArray;function Wn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Rt(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var St={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},Oc=["Webkit","ms","Moz","O"];Object.keys(St).forEach(function(e){Oc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),St[n]=St[e]})});function ds(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||St.hasOwnProperty(e)&&St[e]?(""+n).trim():n+"px"}function ps(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=ds(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Mc=A({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 nu(e,n){if(n){if(Mc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function tu(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){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 ru=null;function Yu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var lu=null,Qn=null,Kn=null;function Ho(e){if(e=Zt(e)){if(typeof lu!="function")throw Error(y(280));var n=e.stateNode;n&&(n=ll(n),lu(e.stateNode,e.type,n))}}function ms(e){Qn?Kn?Kn.push(e):Kn=[e]:Qn=e}function vs(){if(Qn){var e=Qn,n=Kn;if(Kn=Qn=null,Ho(e),n)for(e=0;e>>=0,e===0?32:31-(Wc(e)/Qc|0)|0}var lr=64,ur=4194304;function gt(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Mr(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,u=e.pingedLanes,o=t&268435455;if(o!==0){var i=o&~l;i!==0?r=gt(i):(u&=o,u!==0&&(r=gt(u)))}else o=t&~l,o!==0?r=gt(o):u!==0&&(r=gt(u));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,u=n&-n,l>=u||l===16&&(u&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Xt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Le(n),e[n]=t}function Gc(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ct),qo=String.fromCharCode(32),bo=!1;function Ds(e,n){switch(e){case"keyup":return _f.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var In=!1;function Pf(e,n){switch(e){case"compositionend":return Fs(n);case"keypress":return n.which!==32?null:(bo=!0,qo);case"textInput":return e=n.data,e===qo&&bo?null:e;default:return null}}function Nf(e,n){if(In)return e==="compositionend"||!no&&Ds(e,n)?(e=Ms(),kr=qu=be=null,In=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=ri(t)}}function As(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?As(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Vs(){for(var e=window,n=Tr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Tr(e.document)}return n}function to(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Ff(e){var n=Vs(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&As(t.ownerDocument.documentElement,t)){if(r!==null&&to(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,u=Math.min(r.start,l);r=r.end===void 0?u:Math.min(r.end,l),!e.extend&&u>r&&(l=r,r=u,u=l),l=li(t,u);var o=li(t,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),u>r?(e.addRange(n),e.extend(o.node,o.offset)):(n.setEnd(o.node,o.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Dn=null,cu=null,xt=null,fu=!1;function ui(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;fu||Dn==null||Dn!==Tr(r)||(r=Dn,"selectionStart"in r&&to(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),xt&&jt(xt,r)||(xt=r,r=Fr(cu,"onSelect"),0Un||(e.current=yu[Un],yu[Un]=null,Un--)}function M(e,n){Un++,yu[Un]=e.current,e.current=n}var fn={},re=pn(fn),ce=pn(!1),_n=fn;function Jn(e,n){var t=e.type.contextTypes;if(!t)return fn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},u;for(u in t)l[u]=n[u];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function fe(e){return e=e.childContextTypes,e!=null}function Ur(){D(ce),D(re)}function di(e,n,t){if(re.current!==fn)throw Error(y(168));M(re,n),M(ce,t)}function Zs(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Lc(e)||"Unknown",l));return A({},t,r)}function $r(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||fn,_n=re.current,M(re,e),M(ce,ce.current),!0}function pi(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=Zs(e,n,_n),r.__reactInternalMemoizedMergedChildContext=e,D(ce),D(re),M(re,e)):D(ce),M(ce,t)}var $e=null,ul=!1,Dl=!1;function Js(e){$e===null?$e=[e]:$e.push(e)}function Xf(e){ul=!0,Js(e)}function mn(){if(!Dl&&$e!==null){Dl=!0;var e=0,n=O;try{var t=$e;for(O=1;e>=o,l-=o,Ae=1<<32-Le(n)+l|t<P?(B=x,x=null):B=x.sibling;var L=p(f,x,d[P],h);if(L===null){x===null&&(x=B);break}e&&x&&L.alternate===null&&n(f,x),a=u(L,a,P),_===null?E=L:_.sibling=L,_=L,x=B}if(P===d.length)return t(f,x),j&&yn(f,P),E;if(x===null){for(;PP?(B=x,x=null):B=x.sibling;var xe=p(f,x,L.value,h);if(xe===null){x===null&&(x=B);break}e&&x&&xe.alternate===null&&n(f,x),a=u(xe,a,P),_===null?E=xe:_.sibling=xe,_=xe,x=B}if(L.done)return t(f,x),j&&yn(f,P),E;if(x===null){for(;!L.done;P++,L=d.next())L=m(f,L.value,h),L!==null&&(a=u(L,a,P),_===null?E=L:_.sibling=L,_=L);return j&&yn(f,P),E}for(x=r(f,x);!L.done;P++,L=d.next())L=g(x,f,P,L.value,h),L!==null&&(e&&L.alternate!==null&&x.delete(L.key===null?P:L.key),a=u(L,a,P),_===null?E=L:_.sibling=L,_=L);return e&&x.forEach(function(ot){return n(f,ot)}),j&&yn(f,P),E}function F(f,a,d,h){if(typeof d=="object"&&d!==null&&d.type===Mn&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case nr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===Mn){if(_.tag===7){t(f,_.sibling),a=l(_,d.props.children),a.return=f,f=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ge&&ki(E)===_.type){t(f,_.sibling),a=l(_,d.props),a.ref=pt(f,_,d),a.return=f,f=a;break e}t(f,_);break}else n(f,_);_=_.sibling}d.type===Mn?(a=Cn(d.props.children,f.mode,h,d.key),a.return=f,f=a):(h=zr(d.type,d.key,d.props,null,f.mode,h),h.ref=pt(f,a,d),h.return=f,f=h)}return o(f);case On:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){t(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{t(f,a);break}else n(f,a);a=a.sibling}a=Hl(d,f.mode,h),a.return=f,f=a}return o(f);case Ge:return _=d._init,F(f,a,_(d._payload),h)}if(yt(d))return w(f,a,d,h);if(st(d))return k(f,a,d,h);dr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(t(f,a.sibling),a=l(a,d),a.return=f,f=a):(t(f,a),a=Bl(d,f.mode,h),a.return=f,f=a),o(f)):t(f,a)}return F}var bn=ua(!0),oa=ua(!1),Jt={},je=pn(Jt),Vt=pn(Jt),Bt=pn(Jt);function Sn(e){if(e===Jt)throw Error(y(174));return e}function fo(e,n){switch(M(Bt,n),M(Vt,e),M(je,Jt),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:eu(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=eu(n,e)}D(je),M(je,n)}function et(){D(je),D(Vt),D(Bt)}function ia(e){Sn(Bt.current);var n=Sn(je.current),t=eu(n,e.type);n!==t&&(M(Vt,e),M(je,t))}function po(e){Vt.current===e&&(D(je),D(Vt))}var U=pn(0);function Qr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Fl=[];function mo(){for(var e=0;et?t:4,e(!0);var r=jl.transition;jl.transition={};try{e(!1),n()}finally{O=t,jl.transition=r}}function Ca(){return _e().memoizedState}function qf(e,n,t){var r=sn(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},_a(e))xa(n,t);else if(t=na(e,n,t,r),t!==null){var l=ue();Re(t,e,r,l),Pa(t,n,r)}}function bf(e,n,t){var r=sn(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(_a(e))xa(n,l);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=n.lastRenderedReducer,u!==null))try{var o=n.lastRenderedState,i=u(o,t);if(l.hasEagerState=!0,l.eagerState=i,Oe(i,o)){var s=n.interleaved;s===null?(l.next=l,ao(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=na(e,n,l,r),t!==null&&(l=ue(),Re(t,e,r,l),Pa(t,n,r))}}function _a(e){var n=e.alternate;return e===$||n!==null&&n===$}function xa(e,n){Pt=Kr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Pa(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Gu(e,t)}}var Yr={readContext:Ce,useCallback:ee,useContext:ee,useEffect:ee,useImperativeHandle:ee,useInsertionEffect:ee,useLayoutEffect:ee,useMemo:ee,useReducer:ee,useRef:ee,useState:ee,useDebugValue:ee,useDeferredValue:ee,useTransition:ee,useMutableSource:ee,useSyncExternalStore:ee,useId:ee,unstable_isNewReconciler:!1},ed={readContext:Ce,useCallback:function(e,n){return Ie().memoizedState=[e,n===void 0?null:n],e},useContext:Ce,useEffect:Ei,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,_r(4194308,4,ga.bind(null,n,e),t)},useLayoutEffect:function(e,n){return _r(4194308,4,e,n)},useInsertionEffect:function(e,n){return _r(4,2,e,n)},useMemo:function(e,n){var t=Ie();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=Ie();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=qf.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var n=Ie();return e={current:e},n.memoizedState=e},useState:Si,useDebugValue:wo,useDeferredValue:function(e){return Ie().memoizedState=e},useTransition:function(){var e=Si(!1),n=e[0];return e=Jf.bind(null,e[1]),Ie().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=$,l=Ie();if(j){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),Z===null)throw Error(y(349));Pn&30||ca(r,n,t)}l.memoizedState=t;var u={value:t,getSnapshot:n};return l.queue=u,Ei(da.bind(null,r,u,e),[e]),r.flags|=2048,Qt(9,fa.bind(null,r,u,t,n),void 0,null),t},useId:function(){var e=Ie(),n=Z.identifierPrefix;if(j){var t=Ve,r=Ae;t=(r&~(1<<32-Le(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Ht++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(t,{is:r.is}):(e=o.createElement(t),t==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,t),e[De]=n,e[At]=r,Da(e,n,!1,!1),n.stateNode=e;e:{switch(o=tu(t,r),t){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;lrt&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304)}else{if(!r)if(e=Qr(o),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),vt(u,!0),u.tail===null&&u.tailMode==="hidden"&&!o.alternate&&!j)return ne(n),null}else 2*W()-u.renderingStartTime>rt&&t!==1073741824&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304);u.isBackwards?(o.sibling=n.child,n.child=o):(t=u.last,t!==null?t.sibling=o:n.child=o,u.last=o)}return u.tail!==null?(n=u.tail,u.rendering=n,u.tail=n.sibling,u.renderingStartTime=W(),n.sibling=null,t=U.current,M(U,r?t&1|2:t&1),n):(ne(n),null);case 22:case 23:return xo(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?pe&1073741824&&(ne(n),n.subtreeFlags&6&&(n.flags|=8192)):ne(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function sd(e,n){switch(lo(n),n.tag){case 1:return fe(n.type)&&Ur(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return nt(),D(ce),D(re),mo(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return po(n),null;case 13:if(D(U),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));bn()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return D(U),null;case 4:return nt(),null;case 10:return so(n.type._context),null;case 22:case 23:return xo(),null;case 24:return null;default:return null}}var mr=!1,te=!1,ad=typeof WeakSet=="function"?WeakSet:Set,S=null;function Hn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){V(e,n,r)}else t.current=null}function Tu(e,n,t){try{t()}catch(r){V(e,n,r)}}var Ri=!1;function cd(e,n){if(du=Ir,e=Vs(),to(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,u=r.focusNode;r=r.focusOffset;try{t.nodeType,u.nodeType}catch{t=null;break e}var o=0,i=-1,s=-1,c=0,v=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(i=o+l),m!==u||r!==0&&m.nodeType!==3||(s=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(i=o),p===u&&++v===r&&(s=o),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=i===-1||s===-1?null:{start:i,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(pu={focusedElem:e,selectionRange:t},Ir=!1,S=n;S!==null;)if(n=S,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,S=e;else for(;S!==null;){n=S;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,F=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?k:Pe(n.type,k),F);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){V(n,n.return,h)}if(e=n.sibling,e!==null){e.return=n.return,S=e;break}S=n.return}return w=Ri,Ri=!1,w}function Pt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var u=l.destroy;l.destroy=void 0,u!==void 0&&Tu(n,t,u)}l=l.next}while(l!==r)}}function sl(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Lu(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Ua(e){var n=e.alternate;n!==null&&(e.alternate=null,Ua(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[De],delete n[At],delete n[hu],delete n[Kf],delete n[Yf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $a(e){return e.tag===5||e.tag===3||e.tag===4}function Oi(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$a(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ru(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=jr));else if(r!==4&&(e=e.child,e!==null))for(Ru(e,n,t),e=e.sibling;e!==null;)Ru(e,n,t),e=e.sibling}function Ou(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ou(e,n,t),e=e.sibling;e!==null;)Ou(e,n,t),e=e.sibling}var J=null,ze=!1;function Xe(e,n,t){for(t=t.child;t!==null;)Aa(e,n,t),t=t.sibling}function Aa(e,n,t){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(el,t)}catch{}switch(t.tag){case 5:te||Hn(t,n);case 6:var r=J,l=ze;J=null,Xe(e,n,t),J=r,ze=l,J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):J.removeChild(t.stateNode));break;case 18:J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?Il(e.parentNode,t):e.nodeType===1&&Il(e,t),Dt(e)):Il(J,t.stateNode));break;case 4:r=J,l=ze,J=t.stateNode.containerInfo,ze=!0,Xe(e,n,t),J=r,ze=l;break;case 0:case 11:case 14:case 15:if(!te&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var u=l,o=u.destroy;u=u.tag,o!==void 0&&(u&2||u&4)&&Tu(t,n,o),l=l.next}while(l!==r)}Xe(e,n,t);break;case 1:if(!te&&(Hn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(i){V(t,n,i)}Xe(e,n,t);break;case 21:Xe(e,n,t);break;case 22:t.mode&1?(te=(r=te)||t.memoizedState!==null,Xe(e,n,t),te=r):Xe(e,n,t);break;default:Xe(e,n,t)}}function Mi(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new ad),n.forEach(function(r){var l=wd.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function Ne(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=o),r&=~u}if(r=l,r=W()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dd(r/1960))-r,10e?16:e,en===null)var r=!1;else{if(e=en,en=null,Zr=0,R&6)throw Error(y(331));var l=R;for(R|=4,S=e.current;S!==null;){var u=S,o=u.child;if(S.flags&16){var i=u.deletions;if(i!==null){for(var s=0;sW()-Co?Cn(e,0):Eo|=t),de(e,n)}function Xa(e,n){n===0&&(e.mode&1?(n=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):n=1);var t=ue();e=Qe(e,n),e!==null&&(Xt(e,n,t),de(e,t))}function gd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),Xa(e,t)}function wd(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),Xa(e,t)}var Ga;Ga=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||ce.current)ae=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return ae=!1,od(e,n,t);ae=!!(e.flags&131072)}else ae=!1,j&&n.flags&1048576&&qs(n,Vr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;xr(e,n),e=n.pendingProps;var l=qn(n,re.current);Gn(n,t),l=ho(null,n,r,e,l,t);var u=yo();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,fe(r)?(u=!0,$r(n)):u=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,co(n),l.updater=ol,n.stateNode=l,l._reactInternals=n,Eu(n,r,e,t),n=xu(null,n,r,!0,u,t)):(n.tag=0,j&&u&&ro(n),le(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(xr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Sd(r),e=Pe(r,e),l){case 0:n=_u(null,n,r,e,t);break e;case 1:n=zi(null,n,r,e,t);break e;case 11:n=Ni(null,n,r,e,t);break e;case 14:n=Pi(null,n,r,Pe(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),_u(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),zi(e,n,r,l,t);case 3:e:{if(Oa(n),e===null)throw Error(y(387));r=n.pendingProps,u=n.memoizedState,l=u.element,ta(e,n),Wr(n,r,null,t);var o=n.memoizedState;if(r=o.element,u.isDehydrated)if(u={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},n.updateQueue.baseState=u,n.memoizedState=u,n.flags&256){l=tt(Error(y(423)),n),n=Ti(e,n,r,t,l);break e}else if(r!==l){l=tt(Error(y(424)),n),n=Ti(e,n,r,t,l);break e}else for(me=ln(n.stateNode.containerInfo.firstChild),ve=n,j=!0,Te=null,t=oa(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(bn(),r===l){n=Ke(e,n,t);break e}le(e,n,r,t)}n=n.child}return n;case 5:return ia(n),e===null&&wu(n),r=n.type,l=n.pendingProps,u=e!==null?e.memoizedProps:null,o=l.children,mu(r,l)?o=null:u!==null&&mu(r,u)&&(n.flags|=32),Ra(e,n),le(e,n,o,t),n.child;case 6:return e===null&&wu(n),null;case 13:return Ma(e,n,t);case 4:return fo(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=et(n,null,r,t):le(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),Ni(e,n,r,l,t);case 7:return le(e,n,n.pendingProps,t),n.child;case 8:return le(e,n,n.pendingProps.children,t),n.child;case 12:return le(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,u=n.memoizedProps,o=l.value,M(Br,r._currentValue),r._currentValue=o,u!==null)if(Oe(u.value,o)){if(u.children===l.children&&!ce.current){n=Ke(e,n,t);break e}}else for(u=n.child,u!==null&&(u.return=n);u!==null;){var i=u.dependencies;if(i!==null){o=u.child;for(var s=i.firstContext;s!==null;){if(s.context===r){if(u.tag===1){s=Be(-1,t&-t),s.tag=2;var c=u.updateQueue;if(c!==null){c=c.shared;var v=c.pending;v===null?s.next=s:(s.next=v.next,v.next=s),c.pending=s}}u.lanes|=t,s=u.alternate,s!==null&&(s.lanes|=t),ku(u.return,t,n),i.lanes|=t;break}s=s.next}}else if(u.tag===10)o=u.type===n.type?null:u.child;else if(u.tag===18){if(o=u.return,o===null)throw Error(y(341));o.lanes|=t,i=o.alternate,i!==null&&(i.lanes|=t),ku(o,t,n),o=u.sibling}else o=u.child;if(o!==null)o.return=u;else for(o=u;o!==null;){if(o===n){o=null;break}if(u=o.sibling,u!==null){u.return=o.return,o=u;break}o=o.return}u=o}le(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Gn(n,t),l=Ce(l),r=r(l),n.flags|=1,le(e,n,r,t),n.child;case 14:return r=n.type,l=Pe(r,n.pendingProps),l=Pe(r.type,l),Pi(e,n,r,l,t);case 15:return Ta(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),xr(e,n),n.tag=1,fe(r)?(e=!0,$r(n)):e=!1,Gn(n,t),la(n,r,l),Eu(n,r,l,t),xu(null,n,r,!0,e,t);case 19:return Ia(e,n,t);case 22:return La(e,n,t)}throw Error(y(156,n.tag))};function Za(e,n){return Es(e,n)}function kd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Se(e,n,t,r){return new kd(e,n,t,r)}function Po(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sd(e){if(typeof e=="function")return Po(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qu)return 11;if(e===Ku)return 14}return 2}function an(e,n){var t=e.alternate;return t===null?(t=Se(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function zr(e,n,t,r,l,u){var o=2;if(r=e,typeof e=="function")Po(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case In:return _n(t.children,l,u,n);case Wu:o=8,l|=8;break;case Kl:return e=Se(12,t,n,l|2),e.elementType=Kl,e.lanes=u,e;case Yl:return e=Se(13,t,n,l),e.elementType=Yl,e.lanes=u,e;case Xl:return e=Se(19,t,n,l),e.elementType=Xl,e.lanes=u,e;case us:return cl(t,l,u,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rs:o=10;break e;case ls:o=9;break e;case Qu:o=11;break e;case Ku:o=14;break e;case Ge:o=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=Se(o,t,n,l),n.elementType=e,n.type=r,n.lanes=u,n}function _n(e,n,t,r){return e=Se(7,e,r,n),e.lanes=t,e}function cl(e,n,t,r){return e=Se(22,e,r,n),e.elementType=us,e.lanes=t,e.stateNode={isHidden:!1},e}function Bl(e,n,t){return e=Se(6,e,null,n),e.lanes=t,e}function Hl(e,n,t){return n=Se(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ed(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function zo(e,n,t,r,l,u,o,i,s){return e=new Ed(e,n,t,i,s),n===1?(n=1,u===!0&&(n|=8)):n=0,u=Se(3,null,null,n),e.current=u,u.stateNode=e,u.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},co(u),e}function Cd(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ec)}catch(e){console.error(e)}}ec(),qi.exports=ye;var zd=qi.exports,nc,Vi=zd;nc=Vi.createRoot,Vi.hydrateRoot;function Td(e,n){const t={...e};return n.traceId in t?t[n.traceId].push(n):t[n.traceId]=[n],t}function Ld(){const[e,n]=wn.useState([]),[t,r]=wn.useState({});return wn.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",u=>{try{console.log(u.data),n(o=>[...o,JSON.parse(u.data)]),r(o=>Td(o,JSON.parse(u.data)))}catch(o){console.log("failed",o)}})},[]),wn.useEffect(()=>{r({})}),wn.useEffect(()=>{console.log(t)},[t]),Wl.jsx(Wl.Fragment,{})}const Rd=document.getElementById("root"),Od=nc(Rd);console.log("panel/index.jsx reached");Od.render(Wl.jsx(Ld,{})); +`+u.stack}return{value:e,source:n,stack:l,digest:null}}function Al(e,n,t){return{value:e,source:null,stack:t??null,digest:n??null}}function Cu(e,n){try{console.error(n.value)}catch(t){setTimeout(function(){throw t})}}var rd=typeof WeakMap=="function"?WeakMap:Map;function Na(e,n,t){t=Be(-1,t),t.tag=3,t.payload={element:null};var r=n.value;return t.callback=function(){Gr||(Gr=!0,Mu=r),Cu(e,n)},t}function za(e,n,t){t=Be(-1,t),t.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var l=n.value;t.payload=function(){return r(l)},t.callback=function(){Cu(e,n)}}var u=e.stateNode;return u!==null&&typeof u.componentDidCatch=="function"&&(t.callback=function(){Cu(e,n),typeof r!="function"&&(on===null?on=new Set([this]):on.add(this));var o=n.stack;this.componentDidCatch(n.value,{componentStack:o!==null?o:""})}),t}function Ci(e,n,t){var r=e.pingCache;if(r===null){r=e.pingCache=new rd;var l=new Set;r.set(n,l)}else l=r.get(n),l===void 0&&(l=new Set,r.set(n,l));l.has(t)||(l.add(t),e=yd.bind(null,e,n,t),n.then(e,e))}function _i(e){do{var n;if((n=e.tag===13)&&(n=e.memoizedState,n=n!==null?n.dehydrated!==null:!0),n)return e;e=e.return}while(e!==null);return null}function xi(e,n,t,r,l){return e.mode&1?(e.flags|=65536,e.lanes=l,e):(e===n?e.flags|=65536:(e.flags|=128,t.flags|=131072,t.flags&=-52805,t.tag===1&&(t.alternate===null?t.tag=17:(n=Be(-1,1),n.tag=2,un(t,n,1))),t.lanes|=1),e)}var ld=Ye.ReactCurrentOwner,ae=!1;function le(e,n,t,r){n.child=e===null?oa(n,null,t,r):bn(n,e.child,t,r)}function Pi(e,n,t,r,l){t=t.render;var u=n.ref;return Xn(n,l),r=ho(e,n,t,r,u,l),t=yo(),e!==null&&!ae?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,Ke(e,n,l)):(j&&t&&ro(n),n.flags|=1,le(e,n,r,l),n.child)}function Ni(e,n,t,r,l){if(e===null){var u=t.type;return typeof u=="function"&&!No(u)&&u.defaultProps===void 0&&t.compare===null&&t.defaultProps===void 0?(n.tag=15,n.type=u,Ta(e,n,u,r,l)):(e=zr(t.type,null,r,n,n.mode,l),e.ref=n.ref,e.return=n,n.child=e)}if(u=e.child,!(e.lanes&l)){var o=u.memoizedProps;if(t=t.compare,t=t!==null?t:jt,t(o,r)&&e.ref===n.ref)return Ke(e,n,l)}return n.flags|=1,e=an(u,r),e.ref=n.ref,e.return=n,n.child=e}function Ta(e,n,t,r,l){if(e!==null){var u=e.memoizedProps;if(jt(u,r)&&e.ref===n.ref)if(ae=!1,n.pendingProps=r=u,(e.lanes&l)!==0)e.flags&131072&&(ae=!0);else return n.lanes=e.lanes,Ke(e,n,l)}return _u(e,n,t,r,l)}function La(e,n,t){var r=n.pendingProps,l=r.children,u=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(n.mode&1))n.memoizedState={baseLanes:0,cachePool:null,transitions:null},M(Hn,pe),pe|=t;else{if(!(t&1073741824))return e=u!==null?u.baseLanes|t:t,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null,transitions:null},n.updateQueue=null,M(Hn,pe),pe|=e,null;n.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=u!==null?u.baseLanes:t,M(Hn,pe),pe|=r}else u!==null?(r=u.baseLanes|t,n.memoizedState=null):r=t,M(Hn,pe),pe|=r;return le(e,n,l,t),n.child}function Ra(e,n){var t=n.ref;(e===null&&t!==null||e!==null&&e.ref!==t)&&(n.flags|=512,n.flags|=2097152)}function _u(e,n,t,r,l){var u=fe(t)?_n:re.current;return u=Jn(n,u),Xn(n,l),t=ho(e,n,t,r,u,l),r=yo(),e!==null&&!ae?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,Ke(e,n,l)):(j&&r&&ro(n),n.flags|=1,le(e,n,t,l),n.child)}function zi(e,n,t,r,l){if(fe(t)){var u=!0;$r(n)}else u=!1;if(Xn(n,l),n.stateNode===null)xr(e,n),la(n,t,r),Eu(n,t,r,l),r=!0;else if(e===null){var o=n.stateNode,i=n.memoizedProps;o.props=i;var s=o.context,c=t.contextType;typeof c=="object"&&c!==null?c=Ce(c):(c=fe(t)?_n:re.current,c=Jn(n,c));var v=t.getDerivedStateFromProps,m=typeof v=="function"||typeof o.getSnapshotBeforeUpdate=="function";m||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(i!==r||s!==c)&&wi(n,o,r,c),Ze=!1;var p=n.memoizedState;o.state=p,Wr(n,r,o,l),s=n.memoizedState,i!==r||p!==s||ce.current||Ze?(typeof v=="function"&&(Su(n,t,v,r),s=n.memoizedState),(i=Ze||gi(n,t,i,r,p,s,c))?(m||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(n.flags|=4194308)):(typeof o.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=s),o.props=r,o.state=s,o.context=c,r=i):(typeof o.componentDidMount=="function"&&(n.flags|=4194308),r=!1)}else{o=n.stateNode,ta(e,n),i=n.memoizedProps,c=n.type===n.elementType?i:Ne(n.type,i),o.props=c,m=n.pendingProps,p=o.context,s=t.contextType,typeof s=="object"&&s!==null?s=Ce(s):(s=fe(t)?_n:re.current,s=Jn(n,s));var g=t.getDerivedStateFromProps;(v=typeof g=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(i!==m||p!==s)&&wi(n,o,r,s),Ze=!1,p=n.memoizedState,o.state=p,Wr(n,r,o,l);var w=n.memoizedState;i!==m||p!==w||ce.current||Ze?(typeof g=="function"&&(Su(n,t,g,r),w=n.memoizedState),(c=Ze||gi(n,t,c,r,p,w,s)||!1)?(v||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,w,s),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,w,s)),typeof o.componentDidUpdate=="function"&&(n.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof o.componentDidUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=w),o.props=r,o.state=w,o.context=s,r=c):(typeof o.componentDidUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=1024),r=!1)}return xu(e,n,t,r,u,l)}function xu(e,n,t,r,l,u){Ra(e,n);var o=(n.flags&128)!==0;if(!r&&!o)return l&&pi(n,t,!1),Ke(e,n,u);r=n.stateNode,ld.current=n;var i=o&&typeof t.getDerivedStateFromError!="function"?null:r.render();return n.flags|=1,e!==null&&o?(n.child=bn(n,e.child,null,u),n.child=bn(n,null,i,u)):le(e,n,i,u),n.memoizedState=r.state,l&&pi(n,t,!0),n.child}function Oa(e){var n=e.stateNode;n.pendingContext?di(e,n.pendingContext,n.pendingContext!==n.context):n.context&&di(e,n.context,!1),fo(e,n.containerInfo)}function Ti(e,n,t,r,l){return qn(),uo(l),n.flags|=256,le(e,n,t,r),n.child}var Pu={dehydrated:null,treeContext:null,retryLane:0};function Nu(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ma(e,n,t){var r=n.pendingProps,l=U.current,u=!1,o=(n.flags&128)!==0,i;if((i=o)||(i=e!==null&&e.memoizedState===null?!1:(l&2)!==0),i?(u=!0,n.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),M(U,l&1),e===null)return wu(n),e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(n.mode&1?e.data==="$!"?n.lanes=8:n.lanes=1073741824:n.lanes=1,null):(o=r.children,e=r.fallback,u?(r=n.mode,u=n.child,o={mode:"hidden",children:o},!(r&1)&&u!==null?(u.childLanes=0,u.pendingProps=o):u=cl(o,r,0,null),e=Cn(e,r,t,null),u.return=n,e.return=n,u.sibling=e,n.child=u,n.child.memoizedState=Nu(t),n.memoizedState=Pu,e):ko(n,o));if(l=e.memoizedState,l!==null&&(i=l.dehydrated,i!==null))return ud(e,n,o,r,i,l,t);if(u){u=r.fallback,o=n.mode,l=e.child,i=l.sibling;var s={mode:"hidden",children:r.children};return!(o&1)&&n.child!==l?(r=n.child,r.childLanes=0,r.pendingProps=s,n.deletions=null):(r=an(l,s),r.subtreeFlags=l.subtreeFlags&14680064),i!==null?u=an(i,u):(u=Cn(u,o,t,null),u.flags|=2),u.return=n,r.return=n,r.sibling=u,n.child=r,r=u,u=n.child,o=e.child.memoizedState,o=o===null?Nu(t):{baseLanes:o.baseLanes|t,cachePool:null,transitions:o.transitions},u.memoizedState=o,u.childLanes=e.childLanes&~t,n.memoizedState=Pu,r}return u=e.child,e=u.sibling,r=an(u,{mode:"visible",children:r.children}),!(n.mode&1)&&(r.lanes=t),r.return=n,r.sibling=null,e!==null&&(t=n.deletions,t===null?(n.deletions=[e],n.flags|=16):t.push(e)),n.child=r,n.memoizedState=null,r}function ko(e,n){return n=cl({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function pr(e,n,t,r){return r!==null&&uo(r),bn(n,e.child,null,t),e=ko(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function ud(e,n,t,r,l,u,o){if(t)return n.flags&256?(n.flags&=-257,r=Al(Error(y(422))),pr(e,n,o,r)):n.memoizedState!==null?(n.child=e.child,n.flags|=128,null):(u=r.fallback,l=n.mode,r=cl({mode:"visible",children:r.children},l,0,null),u=Cn(u,l,o,null),u.flags|=2,r.return=n,u.return=n,r.sibling=u,n.child=r,n.mode&1&&bn(n,e.child,null,o),n.child.memoizedState=Nu(o),n.memoizedState=Pu,u);if(!(n.mode&1))return pr(e,n,o,null);if(l.data==="$!"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var i=r.dgst;return r=i,u=Error(y(419)),r=Al(u,r,void 0),pr(e,n,o,r)}if(i=(o&e.childLanes)!==0,ae||i){if(r=Z,r!==null){switch(o&-o){case 4:l=2;break;case 16:l=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:l=32;break;case 536870912:l=268435456;break;default:l=0}l=l&(r.suspendedLanes|o)?0:l,l!==0&&l!==u.retryLane&&(u.retryLane=l,Qe(e,l),Re(r,e,l,-1))}return Po(),r=Al(Error(y(421))),pr(e,n,o,r)}return l.data==="$?"?(n.flags|=128,n.child=e.child,n=gd.bind(null,e),l._reactRetry=n,null):(e=u.treeContext,me=ln(l.nextSibling),ve=n,j=!0,Te=null,e!==null&&(we[ke++]=Ae,we[ke++]=Ve,we[ke++]=xn,Ae=e.id,Ve=e.overflow,xn=n),n=ko(n,r.children),n.flags|=4096,n)}function Li(e,n,t){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n),ku(e.return,n,t)}function Vl(e,n,t,r,l){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:t,tailMode:l}:(u.isBackwards=n,u.rendering=null,u.renderingStartTime=0,u.last=r,u.tail=t,u.tailMode=l)}function Ia(e,n,t){var r=n.pendingProps,l=r.revealOrder,u=r.tail;if(le(e,n,r.children,t),r=U.current,r&2)r=r&1|2,n.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Li(e,t,n);else if(e.tag===19)Li(e,t,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(M(U,r),!(n.mode&1))n.memoizedState=null;else switch(l){case"forwards":for(t=n.child,l=null;t!==null;)e=t.alternate,e!==null&&Qr(e)===null&&(l=t),t=t.sibling;t=l,t===null?(l=n.child,n.child=null):(l=t.sibling,t.sibling=null),Vl(n,!1,l,t,u);break;case"backwards":for(t=null,l=n.child,n.child=null;l!==null;){if(e=l.alternate,e!==null&&Qr(e)===null){n.child=l;break}e=l.sibling,l.sibling=t,t=l,l=e}Vl(n,!0,t,null,u);break;case"together":Vl(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function xr(e,n){!(n.mode&1)&&e!==null&&(e.alternate=null,n.alternate=null,n.flags|=2)}function Ke(e,n,t){if(e!==null&&(n.dependencies=e.dependencies),Nn|=n.lanes,!(t&n.childLanes))return null;if(e!==null&&n.child!==e.child)throw Error(y(153));if(n.child!==null){for(e=n.child,t=an(e,e.pendingProps),n.child=t,t.return=n;e.sibling!==null;)e=e.sibling,t=t.sibling=an(e,e.pendingProps),t.return=n;t.sibling=null}return n.child}function od(e,n,t){switch(n.tag){case 3:Oa(n),qn();break;case 5:ia(n);break;case 1:fe(n.type)&&$r(n);break;case 4:fo(n,n.stateNode.containerInfo);break;case 10:var r=n.type._context,l=n.memoizedProps.value;M(Br,r._currentValue),r._currentValue=l;break;case 13:if(r=n.memoizedState,r!==null)return r.dehydrated!==null?(M(U,U.current&1),n.flags|=128,null):t&n.child.childLanes?Ma(e,n,t):(M(U,U.current&1),e=Ke(e,n,t),e!==null?e.sibling:null);M(U,U.current&1);break;case 19:if(r=(t&n.childLanes)!==0,e.flags&128){if(r)return Ia(e,n,t);n.flags|=128}if(l=n.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),M(U,U.current),r)break;return null;case 22:case 23:return n.lanes=0,La(e,n,t)}return Ke(e,n,t)}var Da,zu,Fa,ja;Da=function(e,n){for(var t=n.child;t!==null;){if(t.tag===5||t.tag===6)e.appendChild(t.stateNode);else if(t.tag!==4&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===n)break;for(;t.sibling===null;){if(t.return===null||t.return===n)return;t=t.return}t.sibling.return=t.return,t=t.sibling}};zu=function(){};Fa=function(e,n,t,r){var l=e.memoizedProps;if(l!==r){e=n.stateNode,Sn(je.current);var u=null;switch(t){case"input":l=Zl(e,l),r=Zl(e,r),u=[];break;case"select":l=A({},l,{value:void 0}),r=A({},r,{value:void 0}),u=[];break;case"textarea":l=bl(e,l),r=bl(e,r),u=[];break;default:typeof l.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=jr)}nu(t,r);var o;t=null;for(c in l)if(!r.hasOwnProperty(c)&&l.hasOwnProperty(c)&&l[c]!=null)if(c==="style"){var i=l[c];for(o in i)i.hasOwnProperty(o)&&(t||(t={}),t[o]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(Lt.hasOwnProperty(c)?u||(u=[]):(u=u||[]).push(c,null));for(c in r){var s=r[c];if(i=l!=null?l[c]:void 0,r.hasOwnProperty(c)&&s!==i&&(s!=null||i!=null))if(c==="style")if(i){for(o in i)!i.hasOwnProperty(o)||s&&s.hasOwnProperty(o)||(t||(t={}),t[o]="");for(o in s)s.hasOwnProperty(o)&&i[o]!==s[o]&&(t||(t={}),t[o]=s[o])}else t||(u||(u=[]),u.push(c,t)),t=s;else c==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,i=i?i.__html:void 0,s!=null&&i!==s&&(u=u||[]).push(c,s)):c==="children"?typeof s!="string"&&typeof s!="number"||(u=u||[]).push(c,""+s):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(Lt.hasOwnProperty(c)?(s!=null&&c==="onScroll"&&I("scroll",e),u||i===s||(u=[])):(u=u||[]).push(c,s))}t&&(u=u||[]).push("style",t);var c=u;(n.updateQueue=c)&&(n.flags|=4)}};ja=function(e,n,t,r){t!==r&&(n.flags|=4)};function mt(e,n){if(!j)switch(e.tailMode){case"hidden":n=e.tail;for(var t=null;n!==null;)n.alternate!==null&&(t=n),n=n.sibling;t===null?e.tail=null:t.sibling=null;break;case"collapsed":t=e.tail;for(var r=null;t!==null;)t.alternate!==null&&(r=t),t=t.sibling;r===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ne(e){var n=e.alternate!==null&&e.alternate.child===e.child,t=0,r=0;if(n)for(var l=e.child;l!==null;)t|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)t|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=t,n}function id(e,n,t){var r=n.pendingProps;switch(lo(n),n.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ne(n),null;case 1:return fe(n.type)&&Ur(),ne(n),null;case 3:return r=n.stateNode,et(),D(ce),D(re),mo(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(fr(n)?n.flags|=4:e===null||e.memoizedState.isDehydrated&&!(n.flags&256)||(n.flags|=1024,Te!==null&&(Fu(Te),Te=null))),zu(e,n),ne(n),null;case 5:po(n);var l=Sn(Bt.current);if(t=n.type,e!==null&&n.stateNode!=null)Fa(e,n,t,r,l),e.ref!==n.ref&&(n.flags|=512,n.flags|=2097152);else{if(!r){if(n.stateNode===null)throw Error(y(166));return ne(n),null}if(e=Sn(je.current),fr(n)){r=n.stateNode,t=n.type;var u=n.memoizedProps;switch(r[De]=n,r[At]=u,e=(n.mode&1)!==0,t){case"dialog":I("cancel",r),I("close",r);break;case"iframe":case"object":case"embed":I("load",r);break;case"video":case"audio":for(l=0;l<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(t,{is:r.is}):(e=o.createElement(t),t==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,t),e[De]=n,e[At]=r,Da(e,n,!1,!1),n.stateNode=e;e:{switch(o=tu(t,r),t){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;ltt&&(n.flags|=128,r=!0,mt(u,!1),n.lanes=4194304)}else{if(!r)if(e=Qr(o),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),mt(u,!0),u.tail===null&&u.tailMode==="hidden"&&!o.alternate&&!j)return ne(n),null}else 2*W()-u.renderingStartTime>tt&&t!==1073741824&&(n.flags|=128,r=!0,mt(u,!1),n.lanes=4194304);u.isBackwards?(o.sibling=n.child,n.child=o):(t=u.last,t!==null?t.sibling=o:n.child=o,u.last=o)}return u.tail!==null?(n=u.tail,u.rendering=n,u.tail=n.sibling,u.renderingStartTime=W(),n.sibling=null,t=U.current,M(U,r?t&1|2:t&1),n):(ne(n),null);case 22:case 23:return xo(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?pe&1073741824&&(ne(n),n.subtreeFlags&6&&(n.flags|=8192)):ne(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function sd(e,n){switch(lo(n),n.tag){case 1:return fe(n.type)&&Ur(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return et(),D(ce),D(re),mo(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return po(n),null;case 13:if(D(U),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));qn()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return D(U),null;case 4:return et(),null;case 10:return so(n.type._context),null;case 22:case 23:return xo(),null;case 24:return null;default:return null}}var mr=!1,te=!1,ad=typeof WeakSet=="function"?WeakSet:Set,S=null;function Bn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){V(e,n,r)}else t.current=null}function Tu(e,n,t){try{t()}catch(r){V(e,n,r)}}var Ri=!1;function cd(e,n){if(du=Ir,e=Vs(),to(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,u=r.focusNode;r=r.focusOffset;try{t.nodeType,u.nodeType}catch{t=null;break e}var o=0,i=-1,s=-1,c=0,v=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(i=o+l),m!==u||r!==0&&m.nodeType!==3||(s=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(i=o),p===u&&++v===r&&(s=o),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=i===-1||s===-1?null:{start:i,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(pu={focusedElem:e,selectionRange:t},Ir=!1,S=n;S!==null;)if(n=S,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,S=e;else for(;S!==null;){n=S;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,F=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?k:Ne(n.type,k),F);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){V(n,n.return,h)}if(e=n.sibling,e!==null){e.return=n.return,S=e;break}S=n.return}return w=Ri,Ri=!1,w}function Nt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var u=l.destroy;l.destroy=void 0,u!==void 0&&Tu(n,t,u)}l=l.next}while(l!==r)}}function sl(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Lu(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Ua(e){var n=e.alternate;n!==null&&(e.alternate=null,Ua(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[De],delete n[At],delete n[hu],delete n[Kf],delete n[Yf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $a(e){return e.tag===5||e.tag===3||e.tag===4}function Oi(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$a(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ru(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=jr));else if(r!==4&&(e=e.child,e!==null))for(Ru(e,n,t),e=e.sibling;e!==null;)Ru(e,n,t),e=e.sibling}function Ou(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ou(e,n,t),e=e.sibling;e!==null;)Ou(e,n,t),e=e.sibling}var J=null,ze=!1;function Xe(e,n,t){for(t=t.child;t!==null;)Aa(e,n,t),t=t.sibling}function Aa(e,n,t){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(el,t)}catch{}switch(t.tag){case 5:te||Bn(t,n);case 6:var r=J,l=ze;J=null,Xe(e,n,t),J=r,ze=l,J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):J.removeChild(t.stateNode));break;case 18:J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?Il(e.parentNode,t):e.nodeType===1&&Il(e,t),Dt(e)):Il(J,t.stateNode));break;case 4:r=J,l=ze,J=t.stateNode.containerInfo,ze=!0,Xe(e,n,t),J=r,ze=l;break;case 0:case 11:case 14:case 15:if(!te&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var u=l,o=u.destroy;u=u.tag,o!==void 0&&(u&2||u&4)&&Tu(t,n,o),l=l.next}while(l!==r)}Xe(e,n,t);break;case 1:if(!te&&(Bn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(i){V(t,n,i)}Xe(e,n,t);break;case 21:Xe(e,n,t);break;case 22:t.mode&1?(te=(r=te)||t.memoizedState!==null,Xe(e,n,t),te=r):Xe(e,n,t);break;default:Xe(e,n,t)}}function Mi(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new ad),n.forEach(function(r){var l=wd.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function Pe(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=o),r&=~u}if(r=l,r=W()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dd(r/1960))-r,10e?16:e,en===null)var r=!1;else{if(e=en,en=null,Zr=0,R&6)throw Error(y(331));var l=R;for(R|=4,S=e.current;S!==null;){var u=S,o=u.child;if(S.flags&16){var i=u.deletions;if(i!==null){for(var s=0;sW()-Co?En(e,0):Eo|=t),de(e,n)}function Xa(e,n){n===0&&(e.mode&1?(n=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):n=1);var t=ue();e=Qe(e,n),e!==null&&(Xt(e,n,t),de(e,t))}function gd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),Xa(e,t)}function wd(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),Xa(e,t)}var Ga;Ga=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||ce.current)ae=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return ae=!1,od(e,n,t);ae=!!(e.flags&131072)}else ae=!1,j&&n.flags&1048576&&qs(n,Vr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;xr(e,n),e=n.pendingProps;var l=Jn(n,re.current);Xn(n,t),l=ho(null,n,r,e,l,t);var u=yo();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,fe(r)?(u=!0,$r(n)):u=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,co(n),l.updater=ol,n.stateNode=l,l._reactInternals=n,Eu(n,r,e,t),n=xu(null,n,r,!0,u,t)):(n.tag=0,j&&u&&ro(n),le(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(xr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Sd(r),e=Ne(r,e),l){case 0:n=_u(null,n,r,e,t);break e;case 1:n=zi(null,n,r,e,t);break e;case 11:n=Pi(null,n,r,e,t);break e;case 14:n=Ni(null,n,r,Ne(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),_u(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),zi(e,n,r,l,t);case 3:e:{if(Oa(n),e===null)throw Error(y(387));r=n.pendingProps,u=n.memoizedState,l=u.element,ta(e,n),Wr(n,r,null,t);var o=n.memoizedState;if(r=o.element,u.isDehydrated)if(u={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},n.updateQueue.baseState=u,n.memoizedState=u,n.flags&256){l=nt(Error(y(423)),n),n=Ti(e,n,r,t,l);break e}else if(r!==l){l=nt(Error(y(424)),n),n=Ti(e,n,r,t,l);break e}else for(me=ln(n.stateNode.containerInfo.firstChild),ve=n,j=!0,Te=null,t=oa(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(qn(),r===l){n=Ke(e,n,t);break e}le(e,n,r,t)}n=n.child}return n;case 5:return ia(n),e===null&&wu(n),r=n.type,l=n.pendingProps,u=e!==null?e.memoizedProps:null,o=l.children,mu(r,l)?o=null:u!==null&&mu(r,u)&&(n.flags|=32),Ra(e,n),le(e,n,o,t),n.child;case 6:return e===null&&wu(n),null;case 13:return Ma(e,n,t);case 4:return fo(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=bn(n,null,r,t):le(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),Pi(e,n,r,l,t);case 7:return le(e,n,n.pendingProps,t),n.child;case 8:return le(e,n,n.pendingProps.children,t),n.child;case 12:return le(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,u=n.memoizedProps,o=l.value,M(Br,r._currentValue),r._currentValue=o,u!==null)if(Oe(u.value,o)){if(u.children===l.children&&!ce.current){n=Ke(e,n,t);break e}}else for(u=n.child,u!==null&&(u.return=n);u!==null;){var i=u.dependencies;if(i!==null){o=u.child;for(var s=i.firstContext;s!==null;){if(s.context===r){if(u.tag===1){s=Be(-1,t&-t),s.tag=2;var c=u.updateQueue;if(c!==null){c=c.shared;var v=c.pending;v===null?s.next=s:(s.next=v.next,v.next=s),c.pending=s}}u.lanes|=t,s=u.alternate,s!==null&&(s.lanes|=t),ku(u.return,t,n),i.lanes|=t;break}s=s.next}}else if(u.tag===10)o=u.type===n.type?null:u.child;else if(u.tag===18){if(o=u.return,o===null)throw Error(y(341));o.lanes|=t,i=o.alternate,i!==null&&(i.lanes|=t),ku(o,t,n),o=u.sibling}else o=u.child;if(o!==null)o.return=u;else for(o=u;o!==null;){if(o===n){o=null;break}if(u=o.sibling,u!==null){u.return=o.return,o=u;break}o=o.return}u=o}le(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Xn(n,t),l=Ce(l),r=r(l),n.flags|=1,le(e,n,r,t),n.child;case 14:return r=n.type,l=Ne(r,n.pendingProps),l=Ne(r.type,l),Ni(e,n,r,l,t);case 15:return Ta(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),xr(e,n),n.tag=1,fe(r)?(e=!0,$r(n)):e=!1,Xn(n,t),la(n,r,l),Eu(n,r,l,t),xu(null,n,r,!0,e,t);case 19:return Ia(e,n,t);case 22:return La(e,n,t)}throw Error(y(156,n.tag))};function Za(e,n){return Es(e,n)}function kd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Se(e,n,t,r){return new kd(e,n,t,r)}function No(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sd(e){if(typeof e=="function")return No(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qu)return 11;if(e===Ku)return 14}return 2}function an(e,n){var t=e.alternate;return t===null?(t=Se(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function zr(e,n,t,r,l,u){var o=2;if(r=e,typeof e=="function")No(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Mn:return Cn(t.children,l,u,n);case Wu:o=8,l|=8;break;case Kl:return e=Se(12,t,n,l|2),e.elementType=Kl,e.lanes=u,e;case Yl:return e=Se(13,t,n,l),e.elementType=Yl,e.lanes=u,e;case Xl:return e=Se(19,t,n,l),e.elementType=Xl,e.lanes=u,e;case us:return cl(t,l,u,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rs:o=10;break e;case ls:o=9;break e;case Qu:o=11;break e;case Ku:o=14;break e;case Ge:o=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=Se(o,t,n,l),n.elementType=e,n.type=r,n.lanes=u,n}function Cn(e,n,t,r){return e=Se(7,e,r,n),e.lanes=t,e}function cl(e,n,t,r){return e=Se(22,e,r,n),e.elementType=us,e.lanes=t,e.stateNode={isHidden:!1},e}function Bl(e,n,t){return e=Se(6,e,null,n),e.lanes=t,e}function Hl(e,n,t){return n=Se(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ed(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function zo(e,n,t,r,l,u,o,i,s){return e=new Ed(e,n,t,i,s),n===1?(n=1,u===!0&&(n|=8)):n=0,u=Se(3,null,null,n),e.current=u,u.stateNode=e,u.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},co(u),e}function Cd(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ec)}catch(e){console.error(e)}}ec(),qi.exports=ye;var zd=qi.exports,nc,Vi=zd;nc=Vi.createRoot,Vi.hydrateRoot;function Td(e,n){const t=new Map([...e.entries()]);if(t.has(n.traceId)){const r=t.get(n.traceId);r==null||r.push(n)}else t.set(n.traceId,[n]);return t}function Ld(){const[e,n]=kt.useState(new Map);return kt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",r=>{try{console.log(r.data),n(l=>Td(l,JSON.parse(r.data)))}catch(l){console.log("failed",l)}})},[]),kt.useEffect(()=>{console.log(e)},[e]),Wl.jsx(Wl.Fragment,{})}const Rd=document.getElementById("root"),Od=nc(Rd);console.log("panel/index.jsx reached");Od.render(Wl.jsx(Ld,{})); diff --git a/chrome-extension/dist/src/pages/panel/index.html b/chrome-extension/dist/src/pages/panel/index.html index 8f19d29..ef6a51e 100644 --- a/chrome-extension/dist/src/pages/panel/index.html +++ b/chrome-extension/dist/src/pages/panel/index.html @@ -2,7 +2,7 @@ - + diff --git a/chrome-extension/src/pages/app/app.tsx b/chrome-extension/src/pages/app/app.tsx index abceb2e..0d9a91b 100644 --- a/chrome-extension/src/pages/app/app.tsx +++ b/chrome-extension/src/pages/app/app.tsx @@ -7,7 +7,7 @@ import { OtelData, ITraceIdData} from '../../types/types.ts'; function App() { // const [networkRequests, setNetworkRequests] = useState([]); - const [traceIdData, setTraceIdData] = useState({}); + const [traceIdData, setTraceIdData] = useState(new Map()); useEffect(() => { const sseStream = new EventSource('http://localhost:3002/stream/sse'); diff --git a/chrome-extension/src/pages/app/functions/checkTraceId.ts b/chrome-extension/src/pages/app/functions/checkTraceId.ts index 6bc2acc..18d006c 100644 --- a/chrome-extension/src/pages/app/functions/checkTraceId.ts +++ b/chrome-extension/src/pages/app/functions/checkTraceId.ts @@ -2,12 +2,13 @@ import { OtelData, ITraceIdData } from '../../../types/types'; export default function checkTraceId(prevTraceIdData:ITraceIdData, incomingSpanData: OtelData): ITraceIdData { - const newTraceIdData: ITraceIdData = {...prevTraceIdData}; + const newTraceIdData: ITraceIdData = new Map([...prevTraceIdData.entries()]); - if(incomingSpanData.traceId in newTraceIdData){ - newTraceIdData[incomingSpanData.traceId].push(incomingSpanData); + if(newTraceIdData.has(incomingSpanData.traceId)){ + const existingData = newTraceIdData.get(incomingSpanData.traceId); + existingData?.push(incomingSpanData); }else{ - newTraceIdData[incomingSpanData.traceId] = [incomingSpanData]; + newTraceIdData.set(incomingSpanData.traceId,[incomingSpanData]); } return newTraceIdData; } diff --git a/chrome-extension/src/types/types.ts b/chrome-extension/src/types/types.ts index ddae6a6..3cf2a34 100644 --- a/chrome-extension/src/types/types.ts +++ b/chrome-extension/src/types/types.ts @@ -14,6 +14,4 @@ export interface OtelData { name: string } -export interface ITraceIdData { - [key: string]: OtelData[]; -}; \ No newline at end of file +export type ITraceIdData = Map; \ No newline at end of file From 61b9f9b504a1cd7afe46e7499dec68749411eb37 Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Sat, 1 Jul 2023 14:07:27 -0400 Subject: [PATCH 03/18] moved incoming CS object type into types.ts --- .../dist/assets/devtools-6e5143ad.js | 1 - .../dist/assets/devtools-983288b1.js | 1 + .../dist/src/pages/devtools/index.html | 2 +- chrome-extension/src/pages/devtools/index.ts | 17 ++++------------- chrome-extension/src/types/types.ts | 19 ++++++++++++++++++- 5 files changed, 24 insertions(+), 16 deletions(-) delete mode 100644 chrome-extension/dist/assets/devtools-6e5143ad.js create mode 100644 chrome-extension/dist/assets/devtools-983288b1.js diff --git a/chrome-extension/dist/assets/devtools-6e5143ad.js b/chrome-extension/dist/assets/devtools-6e5143ad.js deleted file mode 100644 index 971b46f..0000000 --- a/chrome-extension/dist/assets/devtools-6e5143ad.js +++ /dev/null @@ -1 +0,0 @@ -import"./modulepreload-polyfill-3cfb730f.js";try{chrome.devtools.panels.create("NextInspect","icon.png","src/pages/panel/index.html"),chrome.devtools.network.onRequestFinished.addListener(function(e){const t={};e.request.httpVersion!=="chrome-extension"&&(t.method=e.request.method,t.protocol=e.request.httpVersion,t.size=e.response.bodySize,t.status=e.response.status,t.startTime=e.startedDateTime,t.time=e.time,t.urlEndpoint=e.request.url,t.type=e.response.content.mimeType,t.initiator=e._initiator,chrome.runtime.sendMessage(t))})}catch(e){console.log(e)} diff --git a/chrome-extension/dist/assets/devtools-983288b1.js b/chrome-extension/dist/assets/devtools-983288b1.js new file mode 100644 index 0000000..6d318da --- /dev/null +++ b/chrome-extension/dist/assets/devtools-983288b1.js @@ -0,0 +1 @@ +import"./modulepreload-polyfill-3cfb730f.js";try{chrome.devtools.panels.create("NextInspect","icon.png","src/pages/panel/index.html"),chrome.devtools.network.onRequestFinished.addListener(function(e){const t={};e.request.httpVersion!=="chrome-extension"&&(console.log(e),t.method=e.request.method,t.protocol=e.request.httpVersion,t.size=e.response.bodySize,t.status=e.response.status,t.startTime=e.startedDateTime,t.time=e.time,t.urlEndpoint=e.request.url,t.type=e.response.content.mimeType,t.initiator=e._initiator,chrome.runtime.sendMessage(t))})}catch(e){console.log(e)} diff --git a/chrome-extension/dist/src/pages/devtools/index.html b/chrome-extension/dist/src/pages/devtools/index.html index 27849f1..84853d3 100644 --- a/chrome-extension/dist/src/pages/devtools/index.html +++ b/chrome-extension/dist/src/pages/devtools/index.html @@ -2,7 +2,7 @@ - + diff --git a/chrome-extension/src/pages/devtools/index.ts b/chrome-extension/src/pages/devtools/index.ts index 4ca76de..56db60f 100644 --- a/chrome-extension/src/pages/devtools/index.ts +++ b/chrome-extension/src/pages/devtools/index.ts @@ -1,14 +1,4 @@ -type NetworkObject = { - method?: string, - protocol?: string, - size?: number, - status?: number, - startTime?: string, - time?: number, - urlEndpoint?: string, - type?: string, - initiator?: string | null, -} +import { INetworkObject } from "../../types/types"; try { chrome.devtools.panels.create( @@ -20,8 +10,9 @@ try { //panel.onShown chrome.devtools.network.onRequestFinished.addListener( function(request) { - const networkObject: NetworkObject = {}; + const networkObject: INetworkObject = {}; if (request.request.httpVersion === 'chrome-extension') return; + console.log(request); networkObject.method = request.request.method; networkObject.protocol = request.request.httpVersion; networkObject.size = request.response.bodySize; @@ -29,7 +20,7 @@ try { networkObject.startTime = request.startedDateTime; networkObject.time = request.time; networkObject.urlEndpoint = request.request.url; - networkObject.type = request.response.content.mimeType; + networkObject.type = request._resourceType as string;; networkObject.initiator = request._initiator; chrome.runtime.sendMessage(networkObject); } diff --git a/chrome-extension/src/types/types.ts b/chrome-extension/src/types/types.ts index 3cf2a34..b1ff9b9 100644 --- a/chrome-extension/src/types/types.ts +++ b/chrome-extension/src/types/types.ts @@ -14,4 +14,21 @@ export interface OtelData { name: string } -export type ITraceIdData = Map; \ No newline at end of file +export type ITraceIdData = Map; + +export type INetworkObject = { + method?: string, + protocol?: string, + size?: number, + status?: number, + startTime?: string, + time?: number, + urlEndpoint?: string, + type?: string | null, + initiator?: string | null, + } + +export type IAggregatedData = (OtelData | INetworkObject)[][]; + + + From 88939237de6b12fea0f5819e532c48d99ae40044 Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Sat, 1 Jul 2023 15:02:54 -0400 Subject: [PATCH 04/18] storing both chromeApi given request data and otel given data into one object in state. Issues: need to eliminate duplicate client side data --- .../dist/assets/devtools-2a6bba84.js | 1 + .../dist/assets/devtools-983288b1.js | 1 - .../{panel-abfe339d.js => panel-a57f5453.js} | 2 +- .../dist/assets/panel-fd2d6aa0.js | 57 ------------------- .../dist/src/pages/devtools/index.html | 2 +- .../dist/src/pages/panel/index.html | 2 +- chrome-extension/src/pages/app/app.tsx | 21 +++---- chrome-extension/src/pages/devtools/index.ts | 44 ++++++++------ chrome-extension/src/types/types.ts | 27 ++++----- 9 files changed, 52 insertions(+), 105 deletions(-) create mode 100644 chrome-extension/dist/assets/devtools-2a6bba84.js delete mode 100644 chrome-extension/dist/assets/devtools-983288b1.js rename chrome-extension/dist/assets/{panel-abfe339d.js => panel-a57f5453.js} (99%) delete mode 100644 chrome-extension/dist/assets/panel-fd2d6aa0.js diff --git a/chrome-extension/dist/assets/devtools-2a6bba84.js b/chrome-extension/dist/assets/devtools-2a6bba84.js new file mode 100644 index 0000000..48c83cc --- /dev/null +++ b/chrome-extension/dist/assets/devtools-2a6bba84.js @@ -0,0 +1 @@ +import"./modulepreload-polyfill-3cfb730f.js";function t(e){const o=new Date(e);return Math.floor(o.getTime()/1e3)}try{chrome.devtools.panels.create("NextInspect","icon.png","src/pages/panel/index.html"),chrome.devtools.network.onRequestFinished.addListener(function(e){const o={};e.request.httpVersion!=="chrome-extension"&&(console.log(e),o.method=e.request.method,o.protocol=e.request.httpVersion,o.size=e.response.bodySize,o.status=e.response.status,o.startTime=t(e.startedDateTime),o.time=e.time,o.urlEndpoint=e.request.url,o.type=e._resourceType,o.initiator=e._initiator,chrome.runtime.sendMessage(o))})}catch(e){console.log(e)} diff --git a/chrome-extension/dist/assets/devtools-983288b1.js b/chrome-extension/dist/assets/devtools-983288b1.js deleted file mode 100644 index 6d318da..0000000 --- a/chrome-extension/dist/assets/devtools-983288b1.js +++ /dev/null @@ -1 +0,0 @@ -import"./modulepreload-polyfill-3cfb730f.js";try{chrome.devtools.panels.create("NextInspect","icon.png","src/pages/panel/index.html"),chrome.devtools.network.onRequestFinished.addListener(function(e){const t={};e.request.httpVersion!=="chrome-extension"&&(console.log(e),t.method=e.request.method,t.protocol=e.request.httpVersion,t.size=e.response.bodySize,t.status=e.response.status,t.startTime=e.startedDateTime,t.time=e.time,t.urlEndpoint=e.request.url,t.type=e.response.content.mimeType,t.initiator=e._initiator,chrome.runtime.sendMessage(t))})}catch(e){console.log(e)} diff --git a/chrome-extension/dist/assets/panel-abfe339d.js b/chrome-extension/dist/assets/panel-a57f5453.js similarity index 99% rename from chrome-extension/dist/assets/panel-abfe339d.js rename to chrome-extension/dist/assets/panel-a57f5453.js index e52e451..6c2e6b7 100644 --- a/chrome-extension/dist/assets/panel-abfe339d.js +++ b/chrome-extension/dist/assets/panel-a57f5453.js @@ -37,4 +37,4 @@ import"./modulepreload-polyfill-3cfb730f.js";var Bi={exports:{}},br={},Hi={expor `+l[o].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=i);break}}}finally{kl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?yt(e):""}function Tc(e){switch(e.tag){case 5:return yt(e.type);case 16:return yt("Lazy");case 13:return yt("Suspense");case 19:return yt("SuspenseList");case 0:case 2:case 15:return e=Sl(e.type,!1),e;case 11:return e=Sl(e.type.render,!1),e;case 1:return e=Sl(e.type,!0),e;default:return""}}function Gl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case In:return"Fragment";case Mn:return"Portal";case Kl:return"Profiler";case Wu:return"StrictMode";case Yl:return"Suspense";case Xl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ls:return(e.displayName||"Context")+".Consumer";case rs:return(e._context.displayName||"Context")+".Provider";case Qu:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ku:return n=e.displayName||null,n!==null?n:Gl(e.type)||"Memo";case Ge:n=e._payload,e=e._init;try{return Gl(e(n))}catch{}}return null}function Lc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gl(n);case 8:return n===Wu?"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 n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function cn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function os(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Rc(e){var n=os(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,u=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,u.call(this,o)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function tr(e){e._valueTracker||(e._valueTracker=Rc(e))}function is(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=os(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Tr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Zl(e,n){var t=n.checked;return A({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function $o(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=cn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function ss(e,n){n=n.checked,n!=null&&Hu(e,"checked",n,!1)}function Jl(e,n){ss(e,n);var t=cn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?ql(e,n.type,t):n.hasOwnProperty("defaultValue")&&ql(e,n.type,cn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Ao(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function ql(e,n,t){(n!=="number"||Tr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var gt=Array.isArray;function Qn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Rt(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var St={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},Oc=["Webkit","ms","Moz","O"];Object.keys(St).forEach(function(e){Oc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),St[n]=St[e]})});function ds(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||St.hasOwnProperty(e)&&St[e]?(""+n).trim():n+"px"}function ps(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=ds(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Mc=A({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 nu(e,n){if(n){if(Mc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function tu(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){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 ru=null;function Yu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var lu=null,Kn=null,Yn=null;function Ho(e){if(e=Zt(e)){if(typeof lu!="function")throw Error(y(280));var n=e.stateNode;n&&(n=ll(n),lu(e.stateNode,e.type,n))}}function ms(e){Kn?Yn?Yn.push(e):Yn=[e]:Kn=e}function vs(){if(Kn){var e=Kn,n=Yn;if(Yn=Kn=null,Ho(e),n)for(e=0;e>>=0,e===0?32:31-(Wc(e)/Qc|0)|0}var lr=64,ur=4194304;function wt(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Mr(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,u=e.pingedLanes,o=t&268435455;if(o!==0){var i=o&~l;i!==0?r=wt(i):(u&=o,u!==0&&(r=wt(u)))}else o=t&~l,o!==0?r=wt(o):u!==0&&(r=wt(u));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,u=n&-n,l>=u||l===16&&(u&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Xt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Le(n),e[n]=t}function Gc(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ct),qo=String.fromCharCode(32),bo=!1;function Ds(e,n){switch(e){case"keyup":return _f.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Dn=!1;function Pf(e,n){switch(e){case"compositionend":return Fs(n);case"keypress":return n.which!==32?null:(bo=!0,qo);case"textInput":return e=n.data,e===qo&&bo?null:e;default:return null}}function Nf(e,n){if(Dn)return e==="compositionend"||!no&&Ds(e,n)?(e=Ms(),kr=qu=be=null,Dn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=ri(t)}}function As(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?As(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Vs(){for(var e=window,n=Tr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Tr(e.document)}return n}function to(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Ff(e){var n=Vs(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&As(t.ownerDocument.documentElement,t)){if(r!==null&&to(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,u=Math.min(r.start,l);r=r.end===void 0?u:Math.min(r.end,l),!e.extend&&u>r&&(l=r,r=u,u=l),l=li(t,u);var o=li(t,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),u>r?(e.addRange(n),e.extend(o.node,o.offset)):(n.setEnd(o.node,o.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Fn=null,cu=null,xt=null,fu=!1;function ui(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;fu||Fn==null||Fn!==Tr(r)||(r=Fn,"selectionStart"in r&&to(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),xt&&jt(xt,r)||(xt=r,r=Fr(cu,"onSelect"),0$n||(e.current=yu[$n],yu[$n]=null,$n--)}function M(e,n){$n++,yu[$n]=e.current,e.current=n}var fn={},re=pn(fn),ce=pn(!1),_n=fn;function qn(e,n){var t=e.type.contextTypes;if(!t)return fn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},u;for(u in t)l[u]=n[u];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function fe(e){return e=e.childContextTypes,e!=null}function Ur(){D(ce),D(re)}function di(e,n,t){if(re.current!==fn)throw Error(y(168));M(re,n),M(ce,t)}function Zs(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Lc(e)||"Unknown",l));return A({},t,r)}function $r(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||fn,_n=re.current,M(re,e),M(ce,ce.current),!0}function pi(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=Zs(e,n,_n),r.__reactInternalMemoizedMergedChildContext=e,D(ce),D(re),M(re,e)):D(ce),M(ce,t)}var $e=null,ul=!1,Dl=!1;function Js(e){$e===null?$e=[e]:$e.push(e)}function Xf(e){ul=!0,Js(e)}function mn(){if(!Dl&&$e!==null){Dl=!0;var e=0,n=O;try{var t=$e;for(O=1;e>=o,l-=o,Ae=1<<32-Le(n)+l|t<P?(B=x,x=null):B=x.sibling;var L=p(f,x,d[P],h);if(L===null){x===null&&(x=B);break}e&&x&&L.alternate===null&&n(f,x),a=u(L,a,P),_===null?E=L:_.sibling=L,_=L,x=B}if(P===d.length)return t(f,x),j&&yn(f,P),E;if(x===null){for(;PP?(B=x,x=null):B=x.sibling;var xe=p(f,x,L.value,h);if(xe===null){x===null&&(x=B);break}e&&x&&xe.alternate===null&&n(f,x),a=u(xe,a,P),_===null?E=xe:_.sibling=xe,_=xe,x=B}if(L.done)return t(f,x),j&&yn(f,P),E;if(x===null){for(;!L.done;P++,L=d.next())L=m(f,L.value,h),L!==null&&(a=u(L,a,P),_===null?E=L:_.sibling=L,_=L);return j&&yn(f,P),E}for(x=r(f,x);!L.done;P++,L=d.next())L=g(x,f,P,L.value,h),L!==null&&(e&&L.alternate!==null&&x.delete(L.key===null?P:L.key),a=u(L,a,P),_===null?E=L:_.sibling=L,_=L);return e&&x.forEach(function(it){return n(f,it)}),j&&yn(f,P),E}function F(f,a,d,h){if(typeof d=="object"&&d!==null&&d.type===In&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case nr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===In){if(_.tag===7){t(f,_.sibling),a=l(_,d.props.children),a.return=f,f=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ge&&ki(E)===_.type){t(f,_.sibling),a=l(_,d.props),a.ref=mt(f,_,d),a.return=f,f=a;break e}t(f,_);break}else n(f,_);_=_.sibling}d.type===In?(a=Cn(d.props.children,f.mode,h,d.key),a.return=f,f=a):(h=zr(d.type,d.key,d.props,null,f.mode,h),h.ref=mt(f,a,d),h.return=f,f=h)}return o(f);case Mn:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){t(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{t(f,a);break}else n(f,a);a=a.sibling}a=Hl(d,f.mode,h),a.return=f,f=a}return o(f);case Ge:return _=d._init,F(f,a,_(d._payload),h)}if(gt(d))return w(f,a,d,h);if(at(d))return k(f,a,d,h);dr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(t(f,a.sibling),a=l(a,d),a.return=f,f=a):(t(f,a),a=Bl(d,f.mode,h),a.return=f,f=a),o(f)):t(f,a)}return F}var et=ua(!0),oa=ua(!1),Jt={},je=pn(Jt),Vt=pn(Jt),Bt=pn(Jt);function Sn(e){if(e===Jt)throw Error(y(174));return e}function fo(e,n){switch(M(Bt,n),M(Vt,e),M(je,Jt),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:eu(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=eu(n,e)}D(je),M(je,n)}function nt(){D(je),D(Vt),D(Bt)}function ia(e){Sn(Bt.current);var n=Sn(je.current),t=eu(n,e.type);n!==t&&(M(Vt,e),M(je,t))}function po(e){Vt.current===e&&(D(je),D(Vt))}var U=pn(0);function Qr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Fl=[];function mo(){for(var e=0;et?t:4,e(!0);var r=jl.transition;jl.transition={};try{e(!1),n()}finally{O=t,jl.transition=r}}function Ca(){return _e().memoizedState}function qf(e,n,t){var r=sn(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},_a(e))xa(n,t);else if(t=na(e,n,t,r),t!==null){var l=ue();Re(t,e,r,l),Pa(t,n,r)}}function bf(e,n,t){var r=sn(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(_a(e))xa(n,l);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=n.lastRenderedReducer,u!==null))try{var o=n.lastRenderedState,i=u(o,t);if(l.hasEagerState=!0,l.eagerState=i,Oe(i,o)){var s=n.interleaved;s===null?(l.next=l,ao(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=na(e,n,l,r),t!==null&&(l=ue(),Re(t,e,r,l),Pa(t,n,r))}}function _a(e){var n=e.alternate;return e===$||n!==null&&n===$}function xa(e,n){Pt=Kr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Pa(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Gu(e,t)}}var Yr={readContext:Ce,useCallback:ee,useContext:ee,useEffect:ee,useImperativeHandle:ee,useInsertionEffect:ee,useLayoutEffect:ee,useMemo:ee,useReducer:ee,useRef:ee,useState:ee,useDebugValue:ee,useDeferredValue:ee,useTransition:ee,useMutableSource:ee,useSyncExternalStore:ee,useId:ee,unstable_isNewReconciler:!1},ed={readContext:Ce,useCallback:function(e,n){return Ie().memoizedState=[e,n===void 0?null:n],e},useContext:Ce,useEffect:Ei,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,_r(4194308,4,ga.bind(null,n,e),t)},useLayoutEffect:function(e,n){return _r(4194308,4,e,n)},useInsertionEffect:function(e,n){return _r(4,2,e,n)},useMemo:function(e,n){var t=Ie();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=Ie();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=qf.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var n=Ie();return e={current:e},n.memoizedState=e},useState:Si,useDebugValue:wo,useDeferredValue:function(e){return Ie().memoizedState=e},useTransition:function(){var e=Si(!1),n=e[0];return e=Jf.bind(null,e[1]),Ie().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=$,l=Ie();if(j){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),Z===null)throw Error(y(349));Pn&30||ca(r,n,t)}l.memoizedState=t;var u={value:t,getSnapshot:n};return l.queue=u,Ei(da.bind(null,r,u,e),[e]),r.flags|=2048,Qt(9,fa.bind(null,r,u,t,n),void 0,null),t},useId:function(){var e=Ie(),n=Z.identifierPrefix;if(j){var t=Ve,r=Ae;t=(r&~(1<<32-Le(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Ht++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(t,{is:r.is}):(e=o.createElement(t),t==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,t),e[De]=n,e[At]=r,Da(e,n,!1,!1),n.stateNode=e;e:{switch(o=tu(t,r),t){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;lrt&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304)}else{if(!r)if(e=Qr(o),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),vt(u,!0),u.tail===null&&u.tailMode==="hidden"&&!o.alternate&&!j)return ne(n),null}else 2*W()-u.renderingStartTime>rt&&t!==1073741824&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304);u.isBackwards?(o.sibling=n.child,n.child=o):(t=u.last,t!==null?t.sibling=o:n.child=o,u.last=o)}return u.tail!==null?(n=u.tail,u.rendering=n,u.tail=n.sibling,u.renderingStartTime=W(),n.sibling=null,t=U.current,M(U,r?t&1|2:t&1),n):(ne(n),null);case 22:case 23:return xo(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?pe&1073741824&&(ne(n),n.subtreeFlags&6&&(n.flags|=8192)):ne(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function sd(e,n){switch(lo(n),n.tag){case 1:return fe(n.type)&&Ur(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return nt(),D(ce),D(re),mo(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return po(n),null;case 13:if(D(U),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));bn()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return D(U),null;case 4:return nt(),null;case 10:return so(n.type._context),null;case 22:case 23:return xo(),null;case 24:return null;default:return null}}var mr=!1,te=!1,ad=typeof WeakSet=="function"?WeakSet:Set,S=null;function Hn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){V(e,n,r)}else t.current=null}function Tu(e,n,t){try{t()}catch(r){V(e,n,r)}}var Ri=!1;function cd(e,n){if(du=Ir,e=Vs(),to(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,u=r.focusNode;r=r.focusOffset;try{t.nodeType,u.nodeType}catch{t=null;break e}var o=0,i=-1,s=-1,c=0,v=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(i=o+l),m!==u||r!==0&&m.nodeType!==3||(s=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(i=o),p===u&&++v===r&&(s=o),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=i===-1||s===-1?null:{start:i,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(pu={focusedElem:e,selectionRange:t},Ir=!1,S=n;S!==null;)if(n=S,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,S=e;else for(;S!==null;){n=S;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,F=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?k:Ne(n.type,k),F);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){V(n,n.return,h)}if(e=n.sibling,e!==null){e.return=n.return,S=e;break}S=n.return}return w=Ri,Ri=!1,w}function Nt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var u=l.destroy;l.destroy=void 0,u!==void 0&&Tu(n,t,u)}l=l.next}while(l!==r)}}function sl(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Lu(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Ua(e){var n=e.alternate;n!==null&&(e.alternate=null,Ua(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[De],delete n[At],delete n[hu],delete n[Kf],delete n[Yf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $a(e){return e.tag===5||e.tag===3||e.tag===4}function Oi(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$a(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ru(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=jr));else if(r!==4&&(e=e.child,e!==null))for(Ru(e,n,t),e=e.sibling;e!==null;)Ru(e,n,t),e=e.sibling}function Ou(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ou(e,n,t),e=e.sibling;e!==null;)Ou(e,n,t),e=e.sibling}var J=null,ze=!1;function Xe(e,n,t){for(t=t.child;t!==null;)Aa(e,n,t),t=t.sibling}function Aa(e,n,t){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(el,t)}catch{}switch(t.tag){case 5:te||Hn(t,n);case 6:var r=J,l=ze;J=null,Xe(e,n,t),J=r,ze=l,J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):J.removeChild(t.stateNode));break;case 18:J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?Il(e.parentNode,t):e.nodeType===1&&Il(e,t),Dt(e)):Il(J,t.stateNode));break;case 4:r=J,l=ze,J=t.stateNode.containerInfo,ze=!0,Xe(e,n,t),J=r,ze=l;break;case 0:case 11:case 14:case 15:if(!te&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var u=l,o=u.destroy;u=u.tag,o!==void 0&&(u&2||u&4)&&Tu(t,n,o),l=l.next}while(l!==r)}Xe(e,n,t);break;case 1:if(!te&&(Hn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(i){V(t,n,i)}Xe(e,n,t);break;case 21:Xe(e,n,t);break;case 22:t.mode&1?(te=(r=te)||t.memoizedState!==null,Xe(e,n,t),te=r):Xe(e,n,t);break;default:Xe(e,n,t)}}function Mi(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new ad),n.forEach(function(r){var l=wd.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function Pe(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=o),r&=~u}if(r=l,r=W()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dd(r/1960))-r,10e?16:e,en===null)var r=!1;else{if(e=en,en=null,Zr=0,R&6)throw Error(y(331));var l=R;for(R|=4,S=e.current;S!==null;){var u=S,o=u.child;if(S.flags&16){var i=u.deletions;if(i!==null){for(var s=0;sW()-Co?En(e,0):Eo|=t),de(e,n)}function Xa(e,n){n===0&&(e.mode&1?(n=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):n=1);var t=ue();e=Qe(e,n),e!==null&&(Xt(e,n,t),de(e,t))}function gd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),Xa(e,t)}function wd(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),Xa(e,t)}var Ga;Ga=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||ce.current)ae=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return ae=!1,od(e,n,t);ae=!!(e.flags&131072)}else ae=!1,j&&n.flags&1048576&&qs(n,Vr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;xr(e,n),e=n.pendingProps;var l=qn(n,re.current);Gn(n,t),l=ho(null,n,r,e,l,t);var u=yo();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,fe(r)?(u=!0,$r(n)):u=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,co(n),l.updater=ol,n.stateNode=l,l._reactInternals=n,Eu(n,r,e,t),n=xu(null,n,r,!0,u,t)):(n.tag=0,j&&u&&ro(n),le(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(xr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Sd(r),e=Ne(r,e),l){case 0:n=_u(null,n,r,e,t);break e;case 1:n=zi(null,n,r,e,t);break e;case 11:n=Pi(null,n,r,e,t);break e;case 14:n=Ni(null,n,r,Ne(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),_u(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),zi(e,n,r,l,t);case 3:e:{if(Oa(n),e===null)throw Error(y(387));r=n.pendingProps,u=n.memoizedState,l=u.element,ta(e,n),Wr(n,r,null,t);var o=n.memoizedState;if(r=o.element,u.isDehydrated)if(u={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},n.updateQueue.baseState=u,n.memoizedState=u,n.flags&256){l=tt(Error(y(423)),n),n=Ti(e,n,r,t,l);break e}else if(r!==l){l=tt(Error(y(424)),n),n=Ti(e,n,r,t,l);break e}else for(me=ln(n.stateNode.containerInfo.firstChild),ve=n,j=!0,Te=null,t=oa(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(bn(),r===l){n=Ke(e,n,t);break e}le(e,n,r,t)}n=n.child}return n;case 5:return ia(n),e===null&&wu(n),r=n.type,l=n.pendingProps,u=e!==null?e.memoizedProps:null,o=l.children,mu(r,l)?o=null:u!==null&&mu(r,u)&&(n.flags|=32),Ra(e,n),le(e,n,o,t),n.child;case 6:return e===null&&wu(n),null;case 13:return Ma(e,n,t);case 4:return fo(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=et(n,null,r,t):le(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),Pi(e,n,r,l,t);case 7:return le(e,n,n.pendingProps,t),n.child;case 8:return le(e,n,n.pendingProps.children,t),n.child;case 12:return le(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,u=n.memoizedProps,o=l.value,M(Br,r._currentValue),r._currentValue=o,u!==null)if(Oe(u.value,o)){if(u.children===l.children&&!ce.current){n=Ke(e,n,t);break e}}else for(u=n.child,u!==null&&(u.return=n);u!==null;){var i=u.dependencies;if(i!==null){o=u.child;for(var s=i.firstContext;s!==null;){if(s.context===r){if(u.tag===1){s=Be(-1,t&-t),s.tag=2;var c=u.updateQueue;if(c!==null){c=c.shared;var v=c.pending;v===null?s.next=s:(s.next=v.next,v.next=s),c.pending=s}}u.lanes|=t,s=u.alternate,s!==null&&(s.lanes|=t),ku(u.return,t,n),i.lanes|=t;break}s=s.next}}else if(u.tag===10)o=u.type===n.type?null:u.child;else if(u.tag===18){if(o=u.return,o===null)throw Error(y(341));o.lanes|=t,i=o.alternate,i!==null&&(i.lanes|=t),ku(o,t,n),o=u.sibling}else o=u.child;if(o!==null)o.return=u;else for(o=u;o!==null;){if(o===n){o=null;break}if(u=o.sibling,u!==null){u.return=o.return,o=u;break}o=o.return}u=o}le(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Gn(n,t),l=Ce(l),r=r(l),n.flags|=1,le(e,n,r,t),n.child;case 14:return r=n.type,l=Ne(r,n.pendingProps),l=Ne(r.type,l),Ni(e,n,r,l,t);case 15:return Ta(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),xr(e,n),n.tag=1,fe(r)?(e=!0,$r(n)):e=!1,Gn(n,t),la(n,r,l),Eu(n,r,l,t),xu(null,n,r,!0,e,t);case 19:return Ia(e,n,t);case 22:return La(e,n,t)}throw Error(y(156,n.tag))};function Za(e,n){return Es(e,n)}function kd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Se(e,n,t,r){return new kd(e,n,t,r)}function No(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sd(e){if(typeof e=="function")return No(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qu)return 11;if(e===Ku)return 14}return 2}function an(e,n){var t=e.alternate;return t===null?(t=Se(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function zr(e,n,t,r,l,u){var o=2;if(r=e,typeof e=="function")No(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case In:return Cn(t.children,l,u,n);case Wu:o=8,l|=8;break;case Kl:return e=Se(12,t,n,l|2),e.elementType=Kl,e.lanes=u,e;case Yl:return e=Se(13,t,n,l),e.elementType=Yl,e.lanes=u,e;case Xl:return e=Se(19,t,n,l),e.elementType=Xl,e.lanes=u,e;case us:return cl(t,l,u,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rs:o=10;break e;case ls:o=9;break e;case Qu:o=11;break e;case Ku:o=14;break e;case Ge:o=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=Se(o,t,n,l),n.elementType=e,n.type=r,n.lanes=u,n}function Cn(e,n,t,r){return e=Se(7,e,r,n),e.lanes=t,e}function cl(e,n,t,r){return e=Se(22,e,r,n),e.elementType=us,e.lanes=t,e.stateNode={isHidden:!1},e}function Bl(e,n,t){return e=Se(6,e,null,n),e.lanes=t,e}function Hl(e,n,t){return n=Se(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ed(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function zo(e,n,t,r,l,u,o,i,s){return e=new Ed(e,n,t,i,s),n===1?(n=1,u===!0&&(n|=8)):n=0,u=Se(3,null,null,n),e.current=u,u.stateNode=e,u.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},co(u),e}function Cd(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ec)}catch(e){console.error(e)}}ec(),qi.exports=ye;var zd=qi.exports,nc,Vi=zd;nc=Vi.createRoot,Vi.hydrateRoot;function Td(e,n){const t=new Map([...e.entries()]);if(t.has(n.traceId)){const r=t.get(n.traceId);r==null||r.push(n)}else t.set(n.traceId,[n]);return t}function Ld(){const[e,n]=On.useState(new Map);return On.useEffect(()=>{chrome.runtime.onMessage.addListener(t=>{console.log("received chrome message",t)})},[]),On.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",r=>{try{console.log(r.data),n(l=>Td(l,JSON.parse(r.data)))}catch(l){console.log("failed",l)}})},[]),On.useEffect(()=>{console.log(e)},[e]),Wl.jsx(Wl.Fragment,{})}const Rd=document.getElementById("root"),Od=nc(Rd);console.log("panel/index.jsx reached");Od.render(Wl.jsx(Ld,{})); +`+u.stack}return{value:e,source:n,stack:l,digest:null}}function Al(e,n,t){return{value:e,source:null,stack:t??null,digest:n??null}}function Cu(e,n){try{console.error(n.value)}catch(t){setTimeout(function(){throw t})}}var rd=typeof WeakMap=="function"?WeakMap:Map;function Na(e,n,t){t=Be(-1,t),t.tag=3,t.payload={element:null};var r=n.value;return t.callback=function(){Gr||(Gr=!0,Mu=r),Cu(e,n)},t}function za(e,n,t){t=Be(-1,t),t.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var l=n.value;t.payload=function(){return r(l)},t.callback=function(){Cu(e,n)}}var u=e.stateNode;return u!==null&&typeof u.componentDidCatch=="function"&&(t.callback=function(){Cu(e,n),typeof r!="function"&&(on===null?on=new Set([this]):on.add(this));var o=n.stack;this.componentDidCatch(n.value,{componentStack:o!==null?o:""})}),t}function Ci(e,n,t){var r=e.pingCache;if(r===null){r=e.pingCache=new rd;var l=new Set;r.set(n,l)}else l=r.get(n),l===void 0&&(l=new Set,r.set(n,l));l.has(t)||(l.add(t),e=yd.bind(null,e,n,t),n.then(e,e))}function _i(e){do{var n;if((n=e.tag===13)&&(n=e.memoizedState,n=n!==null?n.dehydrated!==null:!0),n)return e;e=e.return}while(e!==null);return null}function xi(e,n,t,r,l){return e.mode&1?(e.flags|=65536,e.lanes=l,e):(e===n?e.flags|=65536:(e.flags|=128,t.flags|=131072,t.flags&=-52805,t.tag===1&&(t.alternate===null?t.tag=17:(n=Be(-1,1),n.tag=2,un(t,n,1))),t.lanes|=1),e)}var ld=Ye.ReactCurrentOwner,ae=!1;function le(e,n,t,r){n.child=e===null?oa(n,null,t,r):et(n,e.child,t,r)}function Pi(e,n,t,r,l){t=t.render;var u=n.ref;return Gn(n,l),r=ho(e,n,t,r,u,l),t=yo(),e!==null&&!ae?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,Ke(e,n,l)):(j&&t&&ro(n),n.flags|=1,le(e,n,r,l),n.child)}function Ni(e,n,t,r,l){if(e===null){var u=t.type;return typeof u=="function"&&!No(u)&&u.defaultProps===void 0&&t.compare===null&&t.defaultProps===void 0?(n.tag=15,n.type=u,Ta(e,n,u,r,l)):(e=zr(t.type,null,r,n,n.mode,l),e.ref=n.ref,e.return=n,n.child=e)}if(u=e.child,!(e.lanes&l)){var o=u.memoizedProps;if(t=t.compare,t=t!==null?t:jt,t(o,r)&&e.ref===n.ref)return Ke(e,n,l)}return n.flags|=1,e=an(u,r),e.ref=n.ref,e.return=n,n.child=e}function Ta(e,n,t,r,l){if(e!==null){var u=e.memoizedProps;if(jt(u,r)&&e.ref===n.ref)if(ae=!1,n.pendingProps=r=u,(e.lanes&l)!==0)e.flags&131072&&(ae=!0);else return n.lanes=e.lanes,Ke(e,n,l)}return _u(e,n,t,r,l)}function La(e,n,t){var r=n.pendingProps,l=r.children,u=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(n.mode&1))n.memoizedState={baseLanes:0,cachePool:null,transitions:null},M(Wn,pe),pe|=t;else{if(!(t&1073741824))return e=u!==null?u.baseLanes|t:t,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null,transitions:null},n.updateQueue=null,M(Wn,pe),pe|=e,null;n.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=u!==null?u.baseLanes:t,M(Wn,pe),pe|=r}else u!==null?(r=u.baseLanes|t,n.memoizedState=null):r=t,M(Wn,pe),pe|=r;return le(e,n,l,t),n.child}function Ra(e,n){var t=n.ref;(e===null&&t!==null||e!==null&&e.ref!==t)&&(n.flags|=512,n.flags|=2097152)}function _u(e,n,t,r,l){var u=fe(t)?_n:re.current;return u=qn(n,u),Gn(n,l),t=ho(e,n,t,r,u,l),r=yo(),e!==null&&!ae?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,Ke(e,n,l)):(j&&r&&ro(n),n.flags|=1,le(e,n,t,l),n.child)}function zi(e,n,t,r,l){if(fe(t)){var u=!0;$r(n)}else u=!1;if(Gn(n,l),n.stateNode===null)xr(e,n),la(n,t,r),Eu(n,t,r,l),r=!0;else if(e===null){var o=n.stateNode,i=n.memoizedProps;o.props=i;var s=o.context,c=t.contextType;typeof c=="object"&&c!==null?c=Ce(c):(c=fe(t)?_n:re.current,c=qn(n,c));var v=t.getDerivedStateFromProps,m=typeof v=="function"||typeof o.getSnapshotBeforeUpdate=="function";m||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(i!==r||s!==c)&&wi(n,o,r,c),Ze=!1;var p=n.memoizedState;o.state=p,Wr(n,r,o,l),s=n.memoizedState,i!==r||p!==s||ce.current||Ze?(typeof v=="function"&&(Su(n,t,v,r),s=n.memoizedState),(i=Ze||gi(n,t,i,r,p,s,c))?(m||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(n.flags|=4194308)):(typeof o.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=s),o.props=r,o.state=s,o.context=c,r=i):(typeof o.componentDidMount=="function"&&(n.flags|=4194308),r=!1)}else{o=n.stateNode,ta(e,n),i=n.memoizedProps,c=n.type===n.elementType?i:Ne(n.type,i),o.props=c,m=n.pendingProps,p=o.context,s=t.contextType,typeof s=="object"&&s!==null?s=Ce(s):(s=fe(t)?_n:re.current,s=qn(n,s));var g=t.getDerivedStateFromProps;(v=typeof g=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(i!==m||p!==s)&&wi(n,o,r,s),Ze=!1,p=n.memoizedState,o.state=p,Wr(n,r,o,l);var w=n.memoizedState;i!==m||p!==w||ce.current||Ze?(typeof g=="function"&&(Su(n,t,g,r),w=n.memoizedState),(c=Ze||gi(n,t,c,r,p,w,s)||!1)?(v||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,w,s),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,w,s)),typeof o.componentDidUpdate=="function"&&(n.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof o.componentDidUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=w),o.props=r,o.state=w,o.context=s,r=c):(typeof o.componentDidUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=1024),r=!1)}return xu(e,n,t,r,u,l)}function xu(e,n,t,r,l,u){Ra(e,n);var o=(n.flags&128)!==0;if(!r&&!o)return l&&pi(n,t,!1),Ke(e,n,u);r=n.stateNode,ld.current=n;var i=o&&typeof t.getDerivedStateFromError!="function"?null:r.render();return n.flags|=1,e!==null&&o?(n.child=et(n,e.child,null,u),n.child=et(n,null,i,u)):le(e,n,i,u),n.memoizedState=r.state,l&&pi(n,t,!0),n.child}function Oa(e){var n=e.stateNode;n.pendingContext?di(e,n.pendingContext,n.pendingContext!==n.context):n.context&&di(e,n.context,!1),fo(e,n.containerInfo)}function Ti(e,n,t,r,l){return bn(),uo(l),n.flags|=256,le(e,n,t,r),n.child}var Pu={dehydrated:null,treeContext:null,retryLane:0};function Nu(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ma(e,n,t){var r=n.pendingProps,l=U.current,u=!1,o=(n.flags&128)!==0,i;if((i=o)||(i=e!==null&&e.memoizedState===null?!1:(l&2)!==0),i?(u=!0,n.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),M(U,l&1),e===null)return wu(n),e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(n.mode&1?e.data==="$!"?n.lanes=8:n.lanes=1073741824:n.lanes=1,null):(o=r.children,e=r.fallback,u?(r=n.mode,u=n.child,o={mode:"hidden",children:o},!(r&1)&&u!==null?(u.childLanes=0,u.pendingProps=o):u=cl(o,r,0,null),e=Cn(e,r,t,null),u.return=n,e.return=n,u.sibling=e,n.child=u,n.child.memoizedState=Nu(t),n.memoizedState=Pu,e):ko(n,o));if(l=e.memoizedState,l!==null&&(i=l.dehydrated,i!==null))return ud(e,n,o,r,i,l,t);if(u){u=r.fallback,o=n.mode,l=e.child,i=l.sibling;var s={mode:"hidden",children:r.children};return!(o&1)&&n.child!==l?(r=n.child,r.childLanes=0,r.pendingProps=s,n.deletions=null):(r=an(l,s),r.subtreeFlags=l.subtreeFlags&14680064),i!==null?u=an(i,u):(u=Cn(u,o,t,null),u.flags|=2),u.return=n,r.return=n,r.sibling=u,n.child=r,r=u,u=n.child,o=e.child.memoizedState,o=o===null?Nu(t):{baseLanes:o.baseLanes|t,cachePool:null,transitions:o.transitions},u.memoizedState=o,u.childLanes=e.childLanes&~t,n.memoizedState=Pu,r}return u=e.child,e=u.sibling,r=an(u,{mode:"visible",children:r.children}),!(n.mode&1)&&(r.lanes=t),r.return=n,r.sibling=null,e!==null&&(t=n.deletions,t===null?(n.deletions=[e],n.flags|=16):t.push(e)),n.child=r,n.memoizedState=null,r}function ko(e,n){return n=cl({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function pr(e,n,t,r){return r!==null&&uo(r),et(n,e.child,null,t),e=ko(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function ud(e,n,t,r,l,u,o){if(t)return n.flags&256?(n.flags&=-257,r=Al(Error(y(422))),pr(e,n,o,r)):n.memoizedState!==null?(n.child=e.child,n.flags|=128,null):(u=r.fallback,l=n.mode,r=cl({mode:"visible",children:r.children},l,0,null),u=Cn(u,l,o,null),u.flags|=2,r.return=n,u.return=n,r.sibling=u,n.child=r,n.mode&1&&et(n,e.child,null,o),n.child.memoizedState=Nu(o),n.memoizedState=Pu,u);if(!(n.mode&1))return pr(e,n,o,null);if(l.data==="$!"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var i=r.dgst;return r=i,u=Error(y(419)),r=Al(u,r,void 0),pr(e,n,o,r)}if(i=(o&e.childLanes)!==0,ae||i){if(r=Z,r!==null){switch(o&-o){case 4:l=2;break;case 16:l=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:l=32;break;case 536870912:l=268435456;break;default:l=0}l=l&(r.suspendedLanes|o)?0:l,l!==0&&l!==u.retryLane&&(u.retryLane=l,Qe(e,l),Re(r,e,l,-1))}return Po(),r=Al(Error(y(421))),pr(e,n,o,r)}return l.data==="$?"?(n.flags|=128,n.child=e.child,n=gd.bind(null,e),l._reactRetry=n,null):(e=u.treeContext,me=ln(l.nextSibling),ve=n,j=!0,Te=null,e!==null&&(we[ke++]=Ae,we[ke++]=Ve,we[ke++]=xn,Ae=e.id,Ve=e.overflow,xn=n),n=ko(n,r.children),n.flags|=4096,n)}function Li(e,n,t){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n),ku(e.return,n,t)}function Vl(e,n,t,r,l){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:t,tailMode:l}:(u.isBackwards=n,u.rendering=null,u.renderingStartTime=0,u.last=r,u.tail=t,u.tailMode=l)}function Ia(e,n,t){var r=n.pendingProps,l=r.revealOrder,u=r.tail;if(le(e,n,r.children,t),r=U.current,r&2)r=r&1|2,n.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Li(e,t,n);else if(e.tag===19)Li(e,t,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(M(U,r),!(n.mode&1))n.memoizedState=null;else switch(l){case"forwards":for(t=n.child,l=null;t!==null;)e=t.alternate,e!==null&&Qr(e)===null&&(l=t),t=t.sibling;t=l,t===null?(l=n.child,n.child=null):(l=t.sibling,t.sibling=null),Vl(n,!1,l,t,u);break;case"backwards":for(t=null,l=n.child,n.child=null;l!==null;){if(e=l.alternate,e!==null&&Qr(e)===null){n.child=l;break}e=l.sibling,l.sibling=t,t=l,l=e}Vl(n,!0,t,null,u);break;case"together":Vl(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function xr(e,n){!(n.mode&1)&&e!==null&&(e.alternate=null,n.alternate=null,n.flags|=2)}function Ke(e,n,t){if(e!==null&&(n.dependencies=e.dependencies),Nn|=n.lanes,!(t&n.childLanes))return null;if(e!==null&&n.child!==e.child)throw Error(y(153));if(n.child!==null){for(e=n.child,t=an(e,e.pendingProps),n.child=t,t.return=n;e.sibling!==null;)e=e.sibling,t=t.sibling=an(e,e.pendingProps),t.return=n;t.sibling=null}return n.child}function od(e,n,t){switch(n.tag){case 3:Oa(n),bn();break;case 5:ia(n);break;case 1:fe(n.type)&&$r(n);break;case 4:fo(n,n.stateNode.containerInfo);break;case 10:var r=n.type._context,l=n.memoizedProps.value;M(Br,r._currentValue),r._currentValue=l;break;case 13:if(r=n.memoizedState,r!==null)return r.dehydrated!==null?(M(U,U.current&1),n.flags|=128,null):t&n.child.childLanes?Ma(e,n,t):(M(U,U.current&1),e=Ke(e,n,t),e!==null?e.sibling:null);M(U,U.current&1);break;case 19:if(r=(t&n.childLanes)!==0,e.flags&128){if(r)return Ia(e,n,t);n.flags|=128}if(l=n.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),M(U,U.current),r)break;return null;case 22:case 23:return n.lanes=0,La(e,n,t)}return Ke(e,n,t)}var Da,zu,Fa,ja;Da=function(e,n){for(var t=n.child;t!==null;){if(t.tag===5||t.tag===6)e.appendChild(t.stateNode);else if(t.tag!==4&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===n)break;for(;t.sibling===null;){if(t.return===null||t.return===n)return;t=t.return}t.sibling.return=t.return,t=t.sibling}};zu=function(){};Fa=function(e,n,t,r){var l=e.memoizedProps;if(l!==r){e=n.stateNode,Sn(je.current);var u=null;switch(t){case"input":l=Zl(e,l),r=Zl(e,r),u=[];break;case"select":l=A({},l,{value:void 0}),r=A({},r,{value:void 0}),u=[];break;case"textarea":l=bl(e,l),r=bl(e,r),u=[];break;default:typeof l.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=jr)}nu(t,r);var o;t=null;for(c in l)if(!r.hasOwnProperty(c)&&l.hasOwnProperty(c)&&l[c]!=null)if(c==="style"){var i=l[c];for(o in i)i.hasOwnProperty(o)&&(t||(t={}),t[o]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(Lt.hasOwnProperty(c)?u||(u=[]):(u=u||[]).push(c,null));for(c in r){var s=r[c];if(i=l!=null?l[c]:void 0,r.hasOwnProperty(c)&&s!==i&&(s!=null||i!=null))if(c==="style")if(i){for(o in i)!i.hasOwnProperty(o)||s&&s.hasOwnProperty(o)||(t||(t={}),t[o]="");for(o in s)s.hasOwnProperty(o)&&i[o]!==s[o]&&(t||(t={}),t[o]=s[o])}else t||(u||(u=[]),u.push(c,t)),t=s;else c==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,i=i?i.__html:void 0,s!=null&&i!==s&&(u=u||[]).push(c,s)):c==="children"?typeof s!="string"&&typeof s!="number"||(u=u||[]).push(c,""+s):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(Lt.hasOwnProperty(c)?(s!=null&&c==="onScroll"&&I("scroll",e),u||i===s||(u=[])):(u=u||[]).push(c,s))}t&&(u=u||[]).push("style",t);var c=u;(n.updateQueue=c)&&(n.flags|=4)}};ja=function(e,n,t,r){t!==r&&(n.flags|=4)};function vt(e,n){if(!j)switch(e.tailMode){case"hidden":n=e.tail;for(var t=null;n!==null;)n.alternate!==null&&(t=n),n=n.sibling;t===null?e.tail=null:t.sibling=null;break;case"collapsed":t=e.tail;for(var r=null;t!==null;)t.alternate!==null&&(r=t),t=t.sibling;r===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ne(e){var n=e.alternate!==null&&e.alternate.child===e.child,t=0,r=0;if(n)for(var l=e.child;l!==null;)t|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)t|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=t,n}function id(e,n,t){var r=n.pendingProps;switch(lo(n),n.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ne(n),null;case 1:return fe(n.type)&&Ur(),ne(n),null;case 3:return r=n.stateNode,nt(),D(ce),D(re),mo(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(fr(n)?n.flags|=4:e===null||e.memoizedState.isDehydrated&&!(n.flags&256)||(n.flags|=1024,Te!==null&&(Fu(Te),Te=null))),zu(e,n),ne(n),null;case 5:po(n);var l=Sn(Bt.current);if(t=n.type,e!==null&&n.stateNode!=null)Fa(e,n,t,r,l),e.ref!==n.ref&&(n.flags|=512,n.flags|=2097152);else{if(!r){if(n.stateNode===null)throw Error(y(166));return ne(n),null}if(e=Sn(je.current),fr(n)){r=n.stateNode,t=n.type;var u=n.memoizedProps;switch(r[De]=n,r[At]=u,e=(n.mode&1)!==0,t){case"dialog":I("cancel",r),I("close",r);break;case"iframe":case"object":case"embed":I("load",r);break;case"video":case"audio":for(l=0;l<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(t,{is:r.is}):(e=o.createElement(t),t==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,t),e[De]=n,e[At]=r,Da(e,n,!1,!1),n.stateNode=e;e:{switch(o=tu(t,r),t){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;lrt&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304)}else{if(!r)if(e=Qr(o),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),vt(u,!0),u.tail===null&&u.tailMode==="hidden"&&!o.alternate&&!j)return ne(n),null}else 2*W()-u.renderingStartTime>rt&&t!==1073741824&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304);u.isBackwards?(o.sibling=n.child,n.child=o):(t=u.last,t!==null?t.sibling=o:n.child=o,u.last=o)}return u.tail!==null?(n=u.tail,u.rendering=n,u.tail=n.sibling,u.renderingStartTime=W(),n.sibling=null,t=U.current,M(U,r?t&1|2:t&1),n):(ne(n),null);case 22:case 23:return xo(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?pe&1073741824&&(ne(n),n.subtreeFlags&6&&(n.flags|=8192)):ne(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function sd(e,n){switch(lo(n),n.tag){case 1:return fe(n.type)&&Ur(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return nt(),D(ce),D(re),mo(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return po(n),null;case 13:if(D(U),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));bn()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return D(U),null;case 4:return nt(),null;case 10:return so(n.type._context),null;case 22:case 23:return xo(),null;case 24:return null;default:return null}}var mr=!1,te=!1,ad=typeof WeakSet=="function"?WeakSet:Set,S=null;function Hn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){V(e,n,r)}else t.current=null}function Tu(e,n,t){try{t()}catch(r){V(e,n,r)}}var Ri=!1;function cd(e,n){if(du=Ir,e=Vs(),to(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,u=r.focusNode;r=r.focusOffset;try{t.nodeType,u.nodeType}catch{t=null;break e}var o=0,i=-1,s=-1,c=0,v=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(i=o+l),m!==u||r!==0&&m.nodeType!==3||(s=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(i=o),p===u&&++v===r&&(s=o),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=i===-1||s===-1?null:{start:i,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(pu={focusedElem:e,selectionRange:t},Ir=!1,S=n;S!==null;)if(n=S,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,S=e;else for(;S!==null;){n=S;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,F=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?k:Ne(n.type,k),F);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){V(n,n.return,h)}if(e=n.sibling,e!==null){e.return=n.return,S=e;break}S=n.return}return w=Ri,Ri=!1,w}function Nt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var u=l.destroy;l.destroy=void 0,u!==void 0&&Tu(n,t,u)}l=l.next}while(l!==r)}}function sl(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Lu(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Ua(e){var n=e.alternate;n!==null&&(e.alternate=null,Ua(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[De],delete n[At],delete n[hu],delete n[Kf],delete n[Yf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $a(e){return e.tag===5||e.tag===3||e.tag===4}function Oi(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$a(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ru(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=jr));else if(r!==4&&(e=e.child,e!==null))for(Ru(e,n,t),e=e.sibling;e!==null;)Ru(e,n,t),e=e.sibling}function Ou(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ou(e,n,t),e=e.sibling;e!==null;)Ou(e,n,t),e=e.sibling}var J=null,ze=!1;function Xe(e,n,t){for(t=t.child;t!==null;)Aa(e,n,t),t=t.sibling}function Aa(e,n,t){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(el,t)}catch{}switch(t.tag){case 5:te||Hn(t,n);case 6:var r=J,l=ze;J=null,Xe(e,n,t),J=r,ze=l,J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):J.removeChild(t.stateNode));break;case 18:J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?Il(e.parentNode,t):e.nodeType===1&&Il(e,t),Dt(e)):Il(J,t.stateNode));break;case 4:r=J,l=ze,J=t.stateNode.containerInfo,ze=!0,Xe(e,n,t),J=r,ze=l;break;case 0:case 11:case 14:case 15:if(!te&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var u=l,o=u.destroy;u=u.tag,o!==void 0&&(u&2||u&4)&&Tu(t,n,o),l=l.next}while(l!==r)}Xe(e,n,t);break;case 1:if(!te&&(Hn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(i){V(t,n,i)}Xe(e,n,t);break;case 21:Xe(e,n,t);break;case 22:t.mode&1?(te=(r=te)||t.memoizedState!==null,Xe(e,n,t),te=r):Xe(e,n,t);break;default:Xe(e,n,t)}}function Mi(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new ad),n.forEach(function(r){var l=wd.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function Pe(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=o),r&=~u}if(r=l,r=W()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dd(r/1960))-r,10e?16:e,en===null)var r=!1;else{if(e=en,en=null,Zr=0,R&6)throw Error(y(331));var l=R;for(R|=4,S=e.current;S!==null;){var u=S,o=u.child;if(S.flags&16){var i=u.deletions;if(i!==null){for(var s=0;sW()-Co?En(e,0):Eo|=t),de(e,n)}function Xa(e,n){n===0&&(e.mode&1?(n=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):n=1);var t=ue();e=Qe(e,n),e!==null&&(Xt(e,n,t),de(e,t))}function gd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),Xa(e,t)}function wd(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),Xa(e,t)}var Ga;Ga=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||ce.current)ae=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return ae=!1,od(e,n,t);ae=!!(e.flags&131072)}else ae=!1,j&&n.flags&1048576&&qs(n,Vr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;xr(e,n),e=n.pendingProps;var l=qn(n,re.current);Gn(n,t),l=ho(null,n,r,e,l,t);var u=yo();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,fe(r)?(u=!0,$r(n)):u=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,co(n),l.updater=ol,n.stateNode=l,l._reactInternals=n,Eu(n,r,e,t),n=xu(null,n,r,!0,u,t)):(n.tag=0,j&&u&&ro(n),le(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(xr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Sd(r),e=Ne(r,e),l){case 0:n=_u(null,n,r,e,t);break e;case 1:n=zi(null,n,r,e,t);break e;case 11:n=Pi(null,n,r,e,t);break e;case 14:n=Ni(null,n,r,Ne(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),_u(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),zi(e,n,r,l,t);case 3:e:{if(Oa(n),e===null)throw Error(y(387));r=n.pendingProps,u=n.memoizedState,l=u.element,ta(e,n),Wr(n,r,null,t);var o=n.memoizedState;if(r=o.element,u.isDehydrated)if(u={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},n.updateQueue.baseState=u,n.memoizedState=u,n.flags&256){l=tt(Error(y(423)),n),n=Ti(e,n,r,t,l);break e}else if(r!==l){l=tt(Error(y(424)),n),n=Ti(e,n,r,t,l);break e}else for(me=ln(n.stateNode.containerInfo.firstChild),ve=n,j=!0,Te=null,t=oa(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(bn(),r===l){n=Ke(e,n,t);break e}le(e,n,r,t)}n=n.child}return n;case 5:return ia(n),e===null&&wu(n),r=n.type,l=n.pendingProps,u=e!==null?e.memoizedProps:null,o=l.children,mu(r,l)?o=null:u!==null&&mu(r,u)&&(n.flags|=32),Ra(e,n),le(e,n,o,t),n.child;case 6:return e===null&&wu(n),null;case 13:return Ma(e,n,t);case 4:return fo(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=et(n,null,r,t):le(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),Pi(e,n,r,l,t);case 7:return le(e,n,n.pendingProps,t),n.child;case 8:return le(e,n,n.pendingProps.children,t),n.child;case 12:return le(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,u=n.memoizedProps,o=l.value,M(Br,r._currentValue),r._currentValue=o,u!==null)if(Oe(u.value,o)){if(u.children===l.children&&!ce.current){n=Ke(e,n,t);break e}}else for(u=n.child,u!==null&&(u.return=n);u!==null;){var i=u.dependencies;if(i!==null){o=u.child;for(var s=i.firstContext;s!==null;){if(s.context===r){if(u.tag===1){s=Be(-1,t&-t),s.tag=2;var c=u.updateQueue;if(c!==null){c=c.shared;var v=c.pending;v===null?s.next=s:(s.next=v.next,v.next=s),c.pending=s}}u.lanes|=t,s=u.alternate,s!==null&&(s.lanes|=t),ku(u.return,t,n),i.lanes|=t;break}s=s.next}}else if(u.tag===10)o=u.type===n.type?null:u.child;else if(u.tag===18){if(o=u.return,o===null)throw Error(y(341));o.lanes|=t,i=o.alternate,i!==null&&(i.lanes|=t),ku(o,t,n),o=u.sibling}else o=u.child;if(o!==null)o.return=u;else for(o=u;o!==null;){if(o===n){o=null;break}if(u=o.sibling,u!==null){u.return=o.return,o=u;break}o=o.return}u=o}le(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Gn(n,t),l=Ce(l),r=r(l),n.flags|=1,le(e,n,r,t),n.child;case 14:return r=n.type,l=Ne(r,n.pendingProps),l=Ne(r.type,l),Ni(e,n,r,l,t);case 15:return Ta(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),xr(e,n),n.tag=1,fe(r)?(e=!0,$r(n)):e=!1,Gn(n,t),la(n,r,l),Eu(n,r,l,t),xu(null,n,r,!0,e,t);case 19:return Ia(e,n,t);case 22:return La(e,n,t)}throw Error(y(156,n.tag))};function Za(e,n){return Es(e,n)}function kd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Se(e,n,t,r){return new kd(e,n,t,r)}function No(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sd(e){if(typeof e=="function")return No(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qu)return 11;if(e===Ku)return 14}return 2}function an(e,n){var t=e.alternate;return t===null?(t=Se(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function zr(e,n,t,r,l,u){var o=2;if(r=e,typeof e=="function")No(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case In:return Cn(t.children,l,u,n);case Wu:o=8,l|=8;break;case Kl:return e=Se(12,t,n,l|2),e.elementType=Kl,e.lanes=u,e;case Yl:return e=Se(13,t,n,l),e.elementType=Yl,e.lanes=u,e;case Xl:return e=Se(19,t,n,l),e.elementType=Xl,e.lanes=u,e;case us:return cl(t,l,u,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rs:o=10;break e;case ls:o=9;break e;case Qu:o=11;break e;case Ku:o=14;break e;case Ge:o=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=Se(o,t,n,l),n.elementType=e,n.type=r,n.lanes=u,n}function Cn(e,n,t,r){return e=Se(7,e,r,n),e.lanes=t,e}function cl(e,n,t,r){return e=Se(22,e,r,n),e.elementType=us,e.lanes=t,e.stateNode={isHidden:!1},e}function Bl(e,n,t){return e=Se(6,e,null,n),e.lanes=t,e}function Hl(e,n,t){return n=Se(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ed(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function zo(e,n,t,r,l,u,o,i,s){return e=new Ed(e,n,t,i,s),n===1?(n=1,u===!0&&(n|=8)):n=0,u=Se(3,null,null,n),e.current=u,u.stateNode=e,u.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},co(u),e}function Cd(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ec)}catch(e){console.error(e)}}ec(),qi.exports=ye;var zd=qi.exports,nc,Vi=zd;nc=Vi.createRoot,Vi.hydrateRoot;function Td(e,n){const t=new Map([...e.entries()]);if(t.has(n.traceId)){const r=t.get(n.traceId);r==null||r.push(n)}else t.set(n.traceId,[n]);return t}function Ld(){const[e,n]=On.useState(new Map);return On.useEffect(()=>{chrome.runtime.onMessage.addListener(t=>{n(r=>r.set(`chromeApiRequestData: ${t.type}, startTime ${t.startTime}`,t))})},[]),On.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",r=>{try{console.log(r.data),n(l=>Td(l,JSON.parse(r.data)))}catch(l){console.log("failed",l)}})},[]),On.useEffect(()=>{console.log(e)},[e]),Wl.jsx(Wl.Fragment,{})}const Rd=document.getElementById("root"),Od=nc(Rd);console.log("panel/index.jsx reached");Od.render(Wl.jsx(Ld,{})); diff --git a/chrome-extension/dist/assets/panel-fd2d6aa0.js b/chrome-extension/dist/assets/panel-fd2d6aa0.js deleted file mode 100644 index c7bccf1..0000000 --- a/chrome-extension/dist/assets/panel-fd2d6aa0.js +++ /dev/null @@ -1,57 +0,0 @@ -var Bp=Object.defineProperty;var Hp=(e,t,n)=>t in e?Bp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var R=(e,t,n)=>(Hp(e,typeof t!="symbol"?t+"":t,n),n);import"./modulepreload-polyfill-3cfb730f.js";function Vp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Af={exports:{}},Js={},Nf={exports:{}},I={};/** - * @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 xr=Symbol.for("react.element"),Wp=Symbol.for("react.portal"),$p=Symbol.for("react.fragment"),Up=Symbol.for("react.strict_mode"),Yp=Symbol.for("react.profiler"),Kp=Symbol.for("react.provider"),Qp=Symbol.for("react.context"),Xp=Symbol.for("react.forward_ref"),Gp=Symbol.for("react.suspense"),Zp=Symbol.for("react.memo"),qp=Symbol.for("react.lazy"),du=Symbol.iterator;function Jp(e){return e===null||typeof e!="object"?null:(e=du&&e[du]||e["@@iterator"],typeof e=="function"?e:null)}var jf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bf=Object.assign,Hf={};function di(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}di.prototype.isReactComponent={};di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Vf(){}Vf.prototype=di.prototype;function ra(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}var sa=ra.prototype=new Vf;sa.constructor=ra;Bf(sa,di.prototype);sa.isPureReactComponent=!0;var pu=Array.isArray,Wf=Object.prototype.hasOwnProperty,oa={current:null},$f={key:!0,ref:!0,__self:!0,__source:!0};function Uf(e,t,n){var i,r={},s=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(s=""+t.key),t)Wf.call(t,i)&&!$f.hasOwnProperty(i)&&(r[i]=t[i]);var l=arguments.length-2;if(l===1)r.children=n;else if(1>>1,Y=M[W];if(0>>1;Wr(xe,D))jtr(Mr,xe)?(M[W]=Mr,M[jt]=D,W=jt):(M[W]=xe,M[Nt]=D,W=Nt);else if(jtr(Mr,D))M[W]=Mr,M[jt]=D,W=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,m=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(y=!1,v(M),!m)if(n(a)!==null)m=!0,it(w);else{var O=n(u);O!==null&&vt(_,O.startTime-M)}}function w(M,O){m=!1,y&&(y=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var W=f.callback;if(typeof W=="function"){f.callback=null,h=f.priorityLevel;var Y=W(f.expirationTime<=O);O=e.unstable_now(),typeof Y=="function"?f.callback=Y:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&vt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125W?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(y?(p(b),b=-1):y=!0,vt(_,D-W))):(M.sortIndex=Y,t(a,M),m||d||(m=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Gf);Xf.exports=Gf;var cg=Xf.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 Zf=pt,$t=cg;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),il=Object.prototype.hasOwnProperty,fg=/^[: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]*$/,mu={},yu={};function hg(e){return il.call(yu,e)?!0:il.call(mu,e)?!1:fg.test(e)?yu[e]=!0:(mu[e]=!0,!1)}function dg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function pg(e,t,n,i){if(t===null||typeof t>"u"||dg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var aa=/[\-:]([a-z])/g;function ua(e){return e[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(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ca(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2l||r[o]!==s[l]){var a=` -`+r[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{ko=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function gg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=So(e.type,!1),e;case 11:return e=So(e.type.render,!1),e;case 1:return e=So(e.type,!0),e;default:return""}}function ll(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case An:return"Portal";case rl:return"Profiler";case fa:return"StrictMode";case sl:return"Suspense";case ol:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case th:return(e.displayName||"Context")+".Consumer";case Jf:return(e._context.displayName||"Context")+".Provider";case ha:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case da:return t=e.displayName||null,t!==null?t:ll(e.type)||"Memo";case Ie:t=e._payload,e=e._init;try{return ll(e(t))}catch{}}return null}function mg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ll(t);case 8:return t===fa?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function yg(e){var t=nh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Tr(e){e._valueTracker||(e._valueTracker=yg(e))}function ih(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=nh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function _s(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function al(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function xu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rh(e,t){t=t.checked,t!=null&&ca(e,"checked",t,!1)}function ul(e,t){rh(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?cl(e,t.type,n):t.hasOwnProperty("defaultValue")&&cl(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function _u(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function cl(e,t,n){(t!=="number"||_s(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Lr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ii={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},vg=["Webkit","ms","Moz","O"];Object.keys(Ii).forEach(function(e){vg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ii[t]=Ii[e]})});function ah(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ii.hasOwnProperty(e)&&Ii[e]?(""+t).trim():t+"px"}function uh(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=ah(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var xg=tt({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 dl(e,t){if(t){if(xg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function pl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 gl=null;function pa(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ml=null,qn=null,Jn=null;function Su(e){if(e=kr(e)){if(typeof ml!="function")throw Error(C(280));var t=e.stateNode;t&&(t=ro(t),ml(e.stateNode,e.type,t))}}function ch(e){qn?Jn?Jn.push(e):Jn=[e]:qn=e}function fh(){if(qn){var e=qn,t=Jn;if(Jn=qn=null,Su(e),t)for(e=0;e>>=0,e===0?32:31-(Lg(e)/Og|0)|0}var Or=64,Dr=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function bs(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function _r(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function Fg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Du=String.fromCharCode(32),zu=!1;function Oh(e,t){switch(e){case"keyup":return um.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function fm(e,t){switch(e){case"compositionend":return Dh(t);case"keypress":return t.which!==32?null:(zu=!0,Du);case"textInput":return e=t.data,e===Du&&zu?null:e;default:return null}}function hm(e,t){if(jn)return e==="compositionend"||!ka&&Oh(e,t)?(e=Th(),os=xa=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Au(n)}}function Ih(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ih(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ah(){for(var e=window,t=_s();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=_s(e.document)}return t}function Sa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function wm(e){var t=Ah(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ih(n.ownerDocument.documentElement,n)){if(i!==null&&Sa(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Nu(n,s);var o=Nu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,kl=null,Bi=null,Sl=!1;function ju(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Sl||Bn==null||Bn!==_s(i)||(i=Bn,"selectionStart"in i&&Sa(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ps(kl,"onSelect"),0Wn||(e.current=Tl[Wn],Tl[Wn]=null,Wn--)}function U(e,t){Wn++,Tl[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Ts(){Q(Rt),Q(St)}function Yu(e,t,n){if(St.current!==rn)throw Error(C(168));U(St,t),U(Rt,n)}function Yh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,mg(e)||"Unknown",r));return tt({},n,i)}function Ls(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,U(St,e),U(Rt,Rt.current),!0}function Ku(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Yh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,Q(Rt),Q(St),U(St,e)):Q(Rt),U(Rt,n)}var be=null,so=!1,Ao=!1;function Kh(e){be===null?be=[e]:be.push(e)}function zm(e){so=!0,Kh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=H;try{var n=be;for(H=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(F){return t(p,F)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Er:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ie&&tc(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ps(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case An:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=Uo(v,p.mode,_),g.return=p,p=g}return o(p);case Ie:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return m(p,g,v,_);if(mi(v))return y(p,g,v,_);jr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=$o(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=ed(!0),nd=ed(!1),Sr={},ye=an(Sr),or=an(Sr),lr=an(Sr);function xn(e){if(e===Sr)throw Error(C(174));return e}function Da(e,t){switch(U(lr,t),U(or,e),U(ye,Sr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:hl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=hl(t,e)}Q(ye),U(ye,t)}function ai(){Q(ye),Q(or),Q(lr)}function id(e){xn(lr.current);var t=xn(ye.current),n=hl(t,e.type);t!==n&&(U(or,e),U(ye,n))}function za(e){or.current===e&&(Q(ye),Q(or))}var q=an(0);function Is(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var No=[];function Ra(){for(var e=0;en?n:4,e(!0);var i=jo.transition;jo.transition={};try{e(!1),t()}finally{H=n,jo.transition=i}}function xd(){return te().memoizedState}function Am(e,t,n){var i=qe(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},_d(e))wd(t,n);else if(n=Zh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),kd(n,t,i)}}function Nm(e,t,n){var i=qe(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(_d(e))wd(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,La(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Zh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),kd(n,t,i))}}function _d(e){var t=e.alternate;return e===J||t!==null&&t===J}function wd(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ma(e,n)}}var Ns={readContext:Jt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},jm={readContext:Jt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:Jt,useEffect:nc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,cs(4194308,4,pd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return cs(4194308,4,e,t)},useInsertionEffect:function(e,t){return cs(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Am.bind(null,J,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:ec,useDebugValue:ja,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=ec(!1),t=e[0];return e=Im.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=J,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),ht===null)throw Error(C(349));Mn&30||od(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,nc(ad.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,ld.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=ht.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Od(e,t,!1,!1),t.stateNode=e;t:{switch(o=pl(n,i),n){case"dialog":K("cancel",e),K("close",e),r=i;break;case"iframe":case"object":case"embed":K("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Is(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=q.current,U(q,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return Ua(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Km(e,t){switch(Ca(t),t.tag){case 1:return Ft(t.type)&&Ts(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),Q(Rt),Q(St),Ra(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return za(t),null;case 13:if(Q(q),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Q(q),null;case 4:return ai(),null;case 10:return Ta(t.type._context),null;case 22:case 23:return Ua(),null;case 24:return null;default:return null}}var Hr=!1,kt=!1,Qm=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Hl(e,t,n){try{n()}catch(i){et(e,t,i)}}var fc=!1;function Xm(e,t){if(bl=Cs,e=Ah(),Sa(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(Cl={focusedElem:e,selectionRange:n},Cs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,x=m.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?y:ne(t.type,y),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return m=fc,fc=!1,m}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Hl(t,n,s)}r=r.next}while(r!==i)}}function ao(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Vl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Rd(e){var t=e.alternate;t!==null&&(e.alternate=null,Rd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[El],delete t[Om],delete t[Dm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function hc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Es));else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}function $l(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for($l(e,t,n),e=e.sibling;e!==null;)$l(e,t,n),e=e.sibling}var dt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Id(e,t,n),n=n.sibling}function Id(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(to,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=dt,r=ie;dt=null,Re(e,t,n),dt=i,ie=r,dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):dt.removeChild(n.stateNode));break;case 18:dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?Io(e.parentNode,n):e.nodeType===1&&Io(e,n),tr(e)):Io(dt,n.stateNode));break;case 4:i=dt,r=ie,dt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),dt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Hl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function dc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Qm),t.forEach(function(i){var r=r0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Zm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Hs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Wa?_n(e,0):Va|=n),It(e,t)}function $d(e,t){t===0&&(e.mode&1?(t=Dr,Dr<<=1,!(Dr&130023424)&&(Dr=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(_r(e,t,n),It(e,n))}function i0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$d(e,n)}function r0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),$d(e,n)}var Ud;Ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,Um(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Qh(t,Ds,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;fs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Ia(null,t,i,e,r,n);var s=Aa();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ls(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Oa(t),r.updater=oo,t.stateNode=r,r._reactInternals=t,Rl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&ba(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(fs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=o0(i),e=ne(i,e),r){case 0:t=Il(null,t,i,e,n);break t;case 1:t=ac(null,t,i,e,n);break t;case 11:t=oc(null,t,i,e,n);break t;case 14:t=lc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Il(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),ac(e,t,i,r,n);case 3:t:{if(Ed(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,qh(e,t),Fs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=uc(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=uc(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=nd(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return id(t),e===null&&Ol(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Ml(i,r)?o=null:s!==null&&Ml(i,s)&&(t.flags|=32),Pd(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ol(t),null;case 13:return Td(e,t,n);case 4:return Da(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),oc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,U(zs,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Dl(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Dl(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=Jt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),lc(e,t,i,r,n);case 15:return Cd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),fs(e,t),t.tag=1,Ft(i)?(e=!0,Ls(t)):e=!1,ei(t,n),td(t,i,r),Rl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Ld(e,t,n);case 22:return Md(e,t,n)}throw Error(C(156,t.tag))};function Yd(e,t){return vh(e,t)}function s0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new s0(e,t,n,i)}function Ka(e){return e=e.prototype,!(!e||!e.isReactComponent)}function o0(e){if(typeof e=="function")return Ka(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ha)return 11;if(e===da)return 14}return 2}function Je(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ps(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ka(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case fa:o=8,r|=8;break;case rl:return e=Gt(12,n,t,r|2),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(13,n,t,r),e.elementType=sl,e.lanes=s,e;case ol:return e=Gt(19,n,t,r),e.elementType=ol,e.lanes=s,e;case eh:return co(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Jf:o=10;break t;case th:o=9;break t;case ha:o=11;break t;case da:o=14;break t;case Ie:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function co(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=eh,e.lanes=n,e.stateNode={isHidden:!1},e}function $o(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function Uo(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function l0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Co(0),this.expirationTimes=Co(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Co(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Qa(e,t,n,i,r,s,o,l,a){return e=new l0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oa(s),e}function a0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gd)}catch(e){console.error(e)}}Gd(),Qf.exports=Ut;var d0=Qf.exports,Zd,wc=d0;Zd=wc.createRoot,wc.hydrateRoot;function hr(e,t){return t-e}function qd(e){const t=[];let n,i;e.map((o,l)=>{const a=hr(o.startTime,o.endTime),u={id:o.spanId,duration:a,start:o.startTime,end:o.endTime};t.push(u),l===0?(n=o.startTime,i=o.endTime):(o.startTimei&&(i=o.endTime))});const r=hr(n,i),s={id:e[0].traceId,duration:r,start:n,end:i};return t.unshift(s),t}function p0(e){const t=[];let n,i;return e.map((s,o)=>{if(o<13){const l=qd(s);t.push(l),o===0&&(n=l[0].start,i=l[0].id),l[0].start{const[t,n]=pt.useState(!1),i=e.length>1,r=qd(e);return z.jsxs(z.Fragment,{children:[z.jsxs("tr",{onClick:()=>n(!t),children:[z.jsxs("td",{className:i?"noPadding":"padding",children:[i?z.jsx("div",{className:t&&i?"arrowDown":"arrow"}):null,e[0].traceId]}),z.jsx("td",{children:e[0].name}),z.jsx("td",{children:e[0].spanId}),z.jsx("td",{children:e[0].applicationType}),z.jsx("td",{children:e[0].originatingService}),z.jsx("td",{children:e[0].method}),z.jsx("td",{children:e[0].status}),z.jsx("td",{children:e[0].protocol}),z.jsxs("td",{children:[t?hr(e[0].startTime,e[0].endTime):r[0].duration," ms"]})]}),i&&t?e.slice(1).map((s,o)=>z.jsxs("tr",{className:"span",children:[z.jsx("td",{}),z.jsx("td",{children:s.name}),z.jsx("td",{children:s.spanId}),z.jsx("td",{children:s.applicationType}),z.jsx("td",{children:s.originatingService}),z.jsx("td",{children:s.method}),z.jsx("td",{children:s.status}),z.jsx("td",{children:s.protocol}),z.jsxs("td",{children:[hr(s.startTime,s.endTime)," ms"]})]},o)):null]})},m0=({data:e})=>z.jsxs("table",{children:[z.jsxs("tr",{children:[z.jsx("th",{children:"Trace ID"}),z.jsx("th",{children:"Name"}),z.jsx("th",{children:"Span ID"}),z.jsx("th",{children:"Application Type"}),z.jsx("th",{children:"Orig. Svc."}),z.jsx("th",{children:"Method"}),z.jsx("th",{children:"Status"}),z.jsx("th",{children:"Protocol"}),z.jsx("th",{children:"Time"})]}),e.map((t,n)=>z.jsx(g0,{data:t},n))]});function y0(e,t){const n=[];return e.map((i,r)=>{const s=[],o=hr(t,i[0].start),l=o+i[0].duration;s.push(o,l),n.push(s)}),n}function v0(e){return e.map(n=>n[0].id)}/*! - * @kurkle/color v0.3.2 - * https://github.com/kurkle/color#readme - * (c) 2023 Jukka Kurkela - * Released under the MIT License - */function br(e){return e+.5|0}const Ve=(e,t,n)=>Math.max(Math.min(e,n),t);function zi(e){return Ve(br(e*2.55),0,255)}function tn(e){return Ve(br(e*255),0,255)}function Ce(e){return Ve(br(e/2.55)/100,0,1)}function kc(e){return Ve(br(e*100),0,100)}const Kt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Xl=[..."0123456789ABCDEF"],x0=e=>Xl[e&15],_0=e=>Xl[(e&240)>>4]+Xl[e&15],$r=e=>(e&240)>>4===(e&15),w0=e=>$r(e.r)&&$r(e.g)&&$r(e.b)&&$r(e.a);function k0(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&Kt[e[1]]*17,g:255&Kt[e[2]]*17,b:255&Kt[e[3]]*17,a:t===5?Kt[e[4]]*17:255}:(t===7||t===9)&&(n={r:Kt[e[1]]<<4|Kt[e[2]],g:Kt[e[3]]<<4|Kt[e[4]],b:Kt[e[5]]<<4|Kt[e[6]],a:t===9?Kt[e[7]]<<4|Kt[e[8]]:255})),n}const S0=(e,t)=>e<255?t(e):"";function b0(e){var t=w0(e)?x0:_0;return e?"#"+t(e.r)+t(e.g)+t(e.b)+S0(e.a,t):void 0}const C0=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Jd(e,t,n){const i=t*Math.min(n,1-n),r=(s,o=(s+e/30)%12)=>n-i*Math.max(Math.min(o-3,9-o,1),-1);return[r(0),r(8),r(4)]}function M0(e,t,n){const i=(r,s=(r+e/60)%6)=>n-n*t*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function P0(e,t,n){const i=Jd(e,1,.5);let r;for(t+n>1&&(r=1/(t+n),t*=r,n*=r),r=0;r<3;r++)i[r]*=1-t-n,i[r]+=t;return i}function E0(e,t,n,i,r){return e===r?(t-n)/i+(t.5?c/(2-s-o):c/(s+o),a=E0(n,i,r,c,s),a=a*60+.5),[a|0,u||0,l]}function Ja(e,t,n,i){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,i)).map(tn)}function tu(e,t,n){return Ja(Jd,e,t,n)}function T0(e,t,n){return Ja(P0,e,t,n)}function L0(e,t,n){return Ja(M0,e,t,n)}function tp(e){return(e%360+360)%360}function O0(e){const t=C0.exec(e);let n=255,i;if(!t)return;t[5]!==i&&(n=t[6]?zi(+t[5]):tn(+t[5]));const r=tp(+t[2]),s=+t[3]/100,o=+t[4]/100;return t[1]==="hwb"?i=T0(r,s,o):t[1]==="hsv"?i=L0(r,s,o):i=tu(r,s,o),{r:i[0],g:i[1],b:i[2],a:n}}function D0(e,t){var n=qa(e);n[0]=tp(n[0]+t),n=tu(n),e.r=n[0],e.g=n[1],e.b=n[2]}function z0(e){if(!e)return;const t=qa(e),n=t[0],i=kc(t[1]),r=kc(t[2]);return e.a<255?`hsla(${n}, ${i}%, ${r}%, ${Ce(e.a)})`:`hsl(${n}, ${i}%, ${r}%)`}const Sc={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},bc={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function R0(){const e={},t=Object.keys(bc),n=Object.keys(Sc);let i,r,s,o,l;for(i=0;i>16&255,s>>8&255,s&255]}return e}let Ur;function F0(e){Ur||(Ur=R0(),Ur.transparent=[0,0,0,0]);const t=Ur[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const I0=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function A0(e){const t=I0.exec(e);let n=255,i,r,s;if(t){if(t[7]!==i){const o=+t[7];n=t[8]?zi(o):Ve(o*255,0,255)}return i=+t[1],r=+t[3],s=+t[5],i=255&(t[2]?zi(i):Ve(i,0,255)),r=255&(t[4]?zi(r):Ve(r,0,255)),s=255&(t[6]?zi(s):Ve(s,0,255)),{r:i,g:r,b:s,a:n}}}function N0(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Ce(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Yo=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,In=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function j0(e,t,n){const i=In(Ce(e.r)),r=In(Ce(e.g)),s=In(Ce(e.b));return{r:tn(Yo(i+n*(In(Ce(t.r))-i))),g:tn(Yo(r+n*(In(Ce(t.g))-r))),b:tn(Yo(s+n*(In(Ce(t.b))-s))),a:e.a+n*(t.a-e.a)}}function Yr(e,t,n){if(e){let i=qa(e);i[t]=Math.max(0,Math.min(i[t]+i[t]*n,t===0?360:1)),i=tu(i),e.r=i[0],e.g=i[1],e.b=i[2]}}function ep(e,t){return e&&Object.assign(t||{},e)}function Cc(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=tn(e[3]))):(t=ep(e,{r:0,g:0,b:0,a:1}),t.a=tn(t.a)),t}function B0(e){return e.charAt(0)==="r"?A0(e):O0(e)}class dr{constructor(t){if(t instanceof dr)return t;const n=typeof t;let i;n==="object"?i=Cc(t):n==="string"&&(i=k0(t)||F0(t)||B0(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=ep(this._rgb);return t&&(t.a=Ce(t.a)),t}set rgb(t){this._rgb=Cc(t)}rgbString(){return this._valid?N0(this._rgb):void 0}hexString(){return this._valid?b0(this._rgb):void 0}hslString(){return this._valid?z0(this._rgb):void 0}mix(t,n){if(t){const i=this.rgb,r=t.rgb;let s;const o=n===s?.5:n,l=2*o-1,a=i.a-r.a,u=((l*a===-1?l:(l+a)/(1+l*a))+1)/2;s=1-u,i.r=255&u*i.r+s*r.r+.5,i.g=255&u*i.g+s*r.g+.5,i.b=255&u*i.b+s*r.b+.5,i.a=o*i.a+(1-o)*r.a,this.rgb=i}return this}interpolate(t,n){return t&&(this._rgb=j0(this._rgb,t._rgb,n)),this}clone(){return new dr(this.rgb)}alpha(t){return this._rgb.a=tn(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=br(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Yr(this._rgb,2,t),this}darken(t){return Yr(this._rgb,2,-t),this}saturate(t){return Yr(this._rgb,1,t),this}desaturate(t){return Yr(this._rgb,1,-t),this}rotate(t){return D0(this._rgb,t),this}}/*! - * Chart.js v4.3.0 - * https://www.chartjs.org - * (c) 2023 Chart.js Contributors - * Released under the MIT License - */function _e(){}const H0=(()=>{let e=0;return()=>e++})();function V(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function N(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ft(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ft(e)?e:t}function j(e,t){return typeof e>"u"?t:e}const V0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function $(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function B(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function U0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function Y0(e){const t=U0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Mc[t]||(Mc[t]=Y0(t)))(e)}function eu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const gr=e=>typeof e<"u",sn=e=>typeof e=="function",Pc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function K0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Ys=Number.POSITIVE_INFINITY,Q0=yt/180,zt=yt/2,cn=yt/4,Ec=yt*2/3,We=Math.log10,en=Math.sign;function gs(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ks(e){return!isNaN(parseFloat(e))&&isFinite(e)}function G0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function ip(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function iu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Gl=(e,t,n,i)=>iu(e,n,i?r=>{const s=e[r][t];return se[r][t]iu(e,n,i=>e[i][t]>=n);function ny(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+eu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Oc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(rp.forEach(s=>{delete e[s]}),delete e._chartjs)}function sp(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const op=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function lp(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,op.call(window,()=>{i=!1,e.apply(t,n)}))}}function ry(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const ru=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,sy=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Kr=e=>e===0||e===1,Dc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),zc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Kr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Kr(e)?e:Dc(e,.075,.3),easeOutElastic:e=>Kr(e)?e:zc(e,.075,.3),easeInOutElastic(e){return Kr(e)?e:e<.5?.5*Dc(e*2,.1125,.45):.5+.5*zc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function ap(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Rc(e){return ap(e)?e:new dr(e)}function Ko(e){return ap(e)?e:new dr(e).saturate(.5).darken(.1).hexString()}const oy=["x","y","borderWidth","radius","tension"],ly=["color","borderColor","backgroundColor"];function ay(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:ly},numbers:{type:"number",properties:oy}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function uy(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fc=new Map;function cy(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Fc.get(n);return i||(i=new Intl.NumberFormat(e,t),Fc.set(n,i)),i}function su(e,t,n){return cy(t,n).format(e)}const up={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=fy(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),su(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?up.numeric.call(this,e,t,n):""}};function fy(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var mo={formatters:up};function hy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:mo.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Zl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Ko(r.backgroundColor),this.hoverBorderColor=(i,r)=>Ko(r.borderColor),this.hoverColor=(i,r)=>Ko(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Qo(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Qo(Zl,t,n)}override(t,n){return Qo(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return N(a)?Object.assign({},u,a):j(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new dy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[ay,uy,hy]);function py(e){return!e||V(e.size)||V(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Qs(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function gy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,my(e,s),a=0;a+e||0;function fp(e,t){const n={},i=N(t),r=i?Object.keys(t):t,s=N(e)?i?o=>j(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=ky(s(o));return n}function hp(e){return fp(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return fp(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=hp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ut(e,t){e=e||{},t=t||nt.font;let n=j(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=j(e.style,t.style);i&&!(""+i).match(_y)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:j(e.family,t.family),lineHeight:wy(j(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:j(e.weight,t.weight),string:""};return r.string=py(r),r}function Qr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function au(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=mp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>au([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return pp(l,a,()=>Oy(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return jc(l).includes(a)},ownKeys(l){return jc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:dp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return pp(s,o,()=>Cy(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function dp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const by=(e,t)=>e?e+eu(t):t,uu=(e,t)=>N(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function pp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function Cy(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=My(t,l,e,n)),G(l)&&l.length&&(l=Py(t,l,e,o.isIndexable)),uu(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function My(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),uu(e,a)&&(a=cu(r._scopes,r,e,a)),a}function Py(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(N(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=cu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function gp(e,t,n){return sn(e)?e(t,n):e}const Ey=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function Ty(e,t,n,i,r){for(const s of t){const o=Ey(n,s);if(o){e.add(o);const l=gp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function cu(e,t,n,i){const r=t._rootScopes,s=gp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Nc(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Nc(l,o,s,a,i),a===null)?!1:au(Array.from(l),[""],r,s,()=>Ly(t,n,i))}function Nc(e,t,n,i,r){for(;n;)n=Ty(e,t,n,i,r);return n}function Ly(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&N(n)?n:r||{}}function Oy(e,t,n,i){let r;for(const s of t)if(r=mp(by(s,e),n),typeof r<"u")return uu(e,r)?cu(n,i,e,r):r}function mp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function jc(e){let t=e._keys;return t||(t=e._keys=Dy(e._scopes)),t}function Dy(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function yp(){return typeof window<"u"&&typeof document<"u"}function fu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Xs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const yo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function zy(e,t){return yo(e).getPropertyValue(t)}const Ry=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Ry[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Fy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function Iy(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(Fy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=yo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=Iy(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:m}=t;return s&&(d-=o.width+l.width,m-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/m*n.height/i)}}function Ay(e,t,n){let i,r;if(t===void 0||n===void 0){const s=fu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=yo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Xs(l.maxWidth,s,"clientWidth"),r=Xs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Ys,maxHeight:r||Ys}}const Xr=e=>Math.round(e*10)/10;function Ny(e,t,n,i){const r=yo(e),s=Sn(r,"margin"),o=Xs(r.maxWidth,e,"clientWidth")||Ys,l=Xs(r.maxHeight,e,"clientHeight")||Ys,a=Ay(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Xr(Math.min(u,o,a.maxWidth)),c=Xr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Xr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Xr(Math.floor(c*i))),{width:u,height:c}}function Bc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const jy=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Hc(e,t){const n=zy(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const By=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},Hy=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?By(t,n):Hy()}function vp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function xp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! - * Chart.js v4.3.0 - * https://www.chartjs.org - * (c) 2023 Chart.js Contributors - * Released under the MIT License - */class Vy{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,r){const s=n.listeners[r],o=n.duration;s.forEach(l=>l({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=op.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new Vy;const Vc="transparent",Wy={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Rc(e||Vc),r=i.valid&&Rc(t||Vc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class $y{constructor(t,n,i,r){const s=n[i];r=Qr([t.to,r,s,t.from]);const o=Qr([t.from,s,r]);this._active=!0,this._fn=t.fn||Wy[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Qr([t.to,n,r,t.from]),this._from=Qr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!N(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=Yy(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Uy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new $y(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Uy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Kc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Gy(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Jy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function tv(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Go=e=>e==="reset"||e==="none",Qc=(e,t)=>t?e:Object.assign({},e),ev=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:wp(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Uc(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,m)=>f==="x"?h:f==="r"?m:d,s=n.xAxisID=j(i.xAxisID,Xo(t,"x")),o=n.yAxisID=j(i.yAxisID,Xo(t,"y")),l=n.rAxisID=j(i.rAxisID,Xo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Oc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(N(n))this._data=Xy(n);else if(i!==n){if(i){Oc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&iy(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=Uc(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Kc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):N(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]y||f=0;--h)if(!m()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),y=u.resolveNamedOptions(h,d,m,f);return y.$shared&&(y.$shared=a,s[o]=Object.freeze(Qc(y,a))),y}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new _p(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Go(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Go(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Go(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function iv(e){const t=e.iScale,n=nv(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(gr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function kp(e,t,n,i){return G(e)?ov(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Xc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function av(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(V(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var yv={evaluateInteractionItems:Cr,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?qo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?qo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function Jc(e,t){return e.filter(n=>Sp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function vv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=Jc(t,"x"),a=Jc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function tf(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function bp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function kv(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!N(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&bp(o,s.getPadding());const l=Math.max(0,t.outerWidth-tf(o,e,"left","right")),a=Math.max(0,t.outerHeight-tf(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function Sv(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function bv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof y.beforeLayout=="function"&&y.beforeLayout()});const c=a.reduce((y,x)=>x.box.options&&x.box.options.display===!1?y:y+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);bp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),m=_v(a.concat(u),f);Ri(l.fullSize,d,f,m),Ri(a,d,f,m),Ri(u,d,f,m)&&Ri(a,d,f,m),Sv(d),ef(l.leftAndTop,d,f,m),d.x+=d.w,d.y+=d.h,ef(l.rightAndBottom,d,f,m),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},B(l.chartArea,y=>{const x=y.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class Cp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class Cv extends Cp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ys="$chartjs",Mv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},nf=e=>e===null||e==="";function Pv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ys]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",nf(r)){const s=Hc(e,"width");s!==void 0&&(e.width=s)}if(nf(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Hc(e,"height");s!==void 0&&(e.height=s)}return e}const Mp=jy?{passive:!0}:!1;function Ev(e,t,n){e.addEventListener(t,n,Mp)}function Tv(e,t,n){e.canvas.removeEventListener(t,n,Mp)}function Lv(e,t){const n=Mv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Gs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Ov(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Gs(l.addedNodes,i),o=o&&!Gs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Dv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Gs(l.removedNodes,i),o=o&&!Gs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const yr=new Map;let rf=0;function Pp(){const e=window.devicePixelRatio;e!==rf&&(rf=e,yr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function zv(e,t){yr.size||window.addEventListener("resize",Pp),yr.set(e,t)}function Rv(e){yr.delete(e),yr.size||window.removeEventListener("resize",Pp)}function Fv(e,t,n){const i=e.canvas,r=i&&fu(i);if(!r)return;const s=lp((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),zv(e,s),o}function tl(e,t,n){n&&n.disconnect(),t==="resize"&&Rv(e)}function Iv(e,t,n){const i=e.canvas,r=lp(s=>{e.ctx!==null&&n(Lv(s,e))},e);return Ev(i,t,r),r}class Av extends Cp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Pv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ys])return!1;const i=n[ys].initial;["height","width"].forEach(s=>{const o=i[s];V(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ys],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Ov,detach:Dv,resize:Fv}[n]||Iv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:tl,detach:tl,resize:tl}[n]||Tv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Ny(t,n,i,r)}isAttached(t){const n=fu(t);return!!(n&&n.isConnected)}}function Nv(e){return!yp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?Cv:Av}class on{constructor(){R(this,"x");R(this,"y");R(this,"active",!1);R(this,"options");R(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ks(this.x)&&Ks(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}R(on,"defaults",{}),R(on,"defaultRoutes");function jv(e,t){const n=e.options.ticks,i=Bv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?Vv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Wv(t,u,s,o/r),u;const c=Hv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Zr(t,u,c,V(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function Vv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,sf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,of=(e,t)=>Math.min(t||e,e);function lf(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function Kv(e,t){B(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){$(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Sy(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-af(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=nu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){$(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){$(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=af(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,m=$e(this.labelRotation),y=Math.cos(m),x=Math.sin(m);if(l){const p=i.mirror?0:x*f.width+y*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:y*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,y)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){$(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return ty(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],m=l.setContext(this.getContext()),y=m.display?m.width:0,x=y/2,p=function(it){return fn(i,it,y)};let g,v,_,w,k,S,b,T,E,L,F,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,F=t.right;else if(o==="right")g=p(this.left),E=t.left,F=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,F=t.right}const At=j(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/At));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function t1(e){return"id"in e&&"defaults"in e}class e1{constructor(){this.controllers=new qr(Qi,"datasets",!0),this.elements=new qr(on,"elements"),this.plugins=new qr(Object,"plugins"),this.scales=new qr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):B(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=eu(t);$(i["before"+r],[],i),n[t](i),$(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function i1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&uf(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function cf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function c1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return cf(e,"x",n[0])||cf(e,"y",n[0])}return{}}function f1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=ql(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!N(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=Jl(o,l,c1(o,e),nt.scales[l.type]),u=a1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||ql(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=l1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Ep(e){const t=e.options||(e.options={});t.plugins=j(t.plugins,{}),t.scales=f1(e,t)}function Tp(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function h1(e){return e=e||{},e.data=Tp(e.data),Ep(e),e}const ff=new Map,Lp=new Set;function Jr(e,t){let n=ff.get(e);return n||(n=t(),ff.set(e,n),Lp.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class d1{constructor(t){this._config=h1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Tp(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Ep(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Zl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Lp.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Zl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=hf(this._resolverCache,t,r);let a=o;if(g1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=hf(this._resolverCache,t,i);return N(n)?hi(s,n,void 0,r):s}}function hf(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:au(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const p1=e=>N(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function g1(e,t){const{isScriptable:n,isIndexable:i}=dp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||p1(l))||o&&G(l))return!0}return!1}var m1="4.3.0";const y1=["top","bottom","left","right","chartArea"];function df(e,t){return e==="top"||e==="bottom"||y1.indexOf(e)===-1&&t==="x"}function pf(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function gf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),$(n&&n.onComplete,[e],t)}function v1(e){const t=e.chart,n=t.options.animation;$(n&&n.onProgress,[e],t)}function Op(e){return yp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const vs={},mf=e=>{const t=Op(e);return Object.values(vs).filter(n=>n.canvas===t).pop()};function x1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function _1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function w1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let vo=(Fe=class{static register(...t){de.add(...t),yf()}static unregister(...t){de.remove(...t),yf()}constructor(t,n){const i=this.config=new d1(n),r=Op(t),s=mf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Nv(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=H0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new n1,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ry(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],vs[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",gf),we.listen(this,"progress",v1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return V(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ic(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),$(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};B(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=Jl(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),B(s,o=>{const l=o.options,a=l.id,u=Jl(a,l),c=j(l.type,o.dtype);(l.position===void 0||df(l.position,u)!==df(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),B(r,(o,l)=>{o||delete i[l]}),B(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(pf("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){B(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;x1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],B(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=w1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&ou(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&lu(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=yv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);gr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};B(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){B(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},B(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!$s(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=K0(t),u=_1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,$(s.onHover,[t,l,this],this),a&&$(s.onClick,[t,l,this],this));const c=!$s(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},R(Fe,"defaults",nt),R(Fe,"instances",vs),R(Fe,"overrides",Tn),R(Fe,"registry",de),R(Fe,"version",m1),R(Fe,"getChart",mf),Fe);function yf(){return B(vo.instances,e=>e._plugins.invalidate())}function Dp(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function k1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=hp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function S1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||N(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function b1(e){const t=Dp(e),n=t.right-t.left,i=t.bottom-t.top,r=k1(e,n/2,i/2),s=S1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function el(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Dp(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function C1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function M1(e,t){e.rect(t.x,t.y,t.w,t.h)}function nl(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class xs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=b1(this),l=C1(o.radius)?mr:M1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,nl(o,n,s)),t.clip(),l(t,nl(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,nl(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return el(this,t,n,i)}inXRange(t,n){return el(this,t,null,n)}inYRange(t,n){return el(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}R(xs,"id","bar"),R(xs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),R(xs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const vf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},P1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class xf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=$(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ut(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=vf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((m,y)=>{const x=i+n/2+s.measureText(m.text).width;(y===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(y>0?0:1)]=0,d+=c,h++),a[y]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,m=0,y=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=E1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),m+=h+l,y++,h=d=0),a[p]={left:m,top:d,col:y,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ou(t,this),this._draw(),lu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ut(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:m,boxHeight:y,itemHeight:x}=vf(o,f),p=function(k,S,b){if(isNaN(m)||m<=0||isNaN(y)||y<0)return;r.save();const T=j(b.lineWidth,1);if(r.fillStyle=j(b.fillStyle,l),r.lineCap=j(b.lineCap,"butt"),r.lineDashOffset=j(b.lineDashOffset,0),r.lineJoin=j(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=j(b.strokeStyle,l),r.setLineDash(j(b.lineDash,[])),o.usePointStyle){const E={radius:y*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,m/2),F=S+h;cp(r,E,L,F,o.pointStyleWidth&&m)}else{const E=S+Math.max((f-y)/2,0),L=a.leftForLtr(k,m),F=kn(b.borderRadius);r.beginPath(),Object.values(F).some(st=>st!==0)?mr(r,{x:L,y:E,w:m,h:y,radius:F}):r.rect(L,E,m,y),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},vp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=m+h+b;let L=d.x,F=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(F=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&F+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,F=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,F,k),L=sy(T,L+m+h,v?L+E:this.right,t.rtl),g(a.x(L),F,k),v)d.x+=E+c;else if(typeof k.text!="string"){const At=u.lineHeight;d.y+=zp(k,At)}else d.y+=w}),xp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ut(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const m=this.columnSizes.reduce((y,x)=>Math.max(y,x.height),0);c=u+wt(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(ru(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ut(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function L1(e,t,n){let i=e;return typeof t.text!="string"&&(i=zp(t,n)),i}function zp(e,t){const n=e.text?e.text.length+.5:0;return t*n}function O1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var D1={id:"legend",_element:xf,start(e,t,n){const i=e.legend=new xf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class Rp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ut(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ut(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:ru(n.align),textBaseline:"middle",translation:[o,l]})}}function z1(e,t){const n=new Rp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var R1={id:"title",_element:Rp,start(e,t,n){z1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;t-1?e.split(` -`):e}function F1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function _f(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ut(t.bodyFont),u=ut(t.titleFont),c=ut(t.footerFont),f=s.length,h=r.length,d=i.length,m=bt(t.padding);let y=m.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(y+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;y+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(y+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,B(e.title,v),n.font=a.string,B(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,B(i,_=>{B(_.before,v),B(_.lines,v),B(_.after,v)}),g=0,n.font=c.string,B(e.footer,v),n.restore(),x+=m.width,{width:x,height:y}}function I1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function A1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function N1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),A1(u,e,t,n)&&(u="center"),u}function wf(e,t,n){const i=n.yAlign||t.yAlign||I1(e,n);return{xAlign:n.xAlign||t.xAlign||N1(e,t,n,i),yAlign:i}}function j1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function B1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function kf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let m=j1(t,l);const y=B1(t,a,u);return a==="center"?l==="left"?m+=u:l==="right"&&(m-=u):l==="left"?m-=Math.max(c,h)+r:l==="right"&&(m+=Math.max(f,d)+r),{x:se(m,0,i.width-t.width),y:se(y,0,i.height-t.height)}}function ts(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function Sf(e){return fe([],ke(e))}function H1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function bf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Fp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Fp[t].call(n,i):r}class ta extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new _p(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=H1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return Sf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return B(t,s=>{const o={before:[],lines:[],after:[]},l=bf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return Sf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),B(l,c=>{const f=bf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=_f(this,i),u=Object.assign({},l,a),c=wf(this.chart,i,u),f=kf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:m,height:y}=n;let x,p,g,v,_,w;return s==="center"?(_=d+y/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+m,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+m-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+y,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=ts(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ut(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,mr(t,{x:y,y:m,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),mr(t,{x,y:m+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(y,m,u,a),t.strokeRect(y,m,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,m+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ut(i.bodyFont);let h=f.lineHeight,d=0;const m=ii(i.rtl,this.x,this.width),y=function(b){n.fillText(b,m.x(t.x+d),t.y+h/2),t.y+=h+s},x=m.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=ts(this,x,i),n.fillStyle=i.bodyColor,B(this.beforeBody,y),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=_f(this,t),a=Object.assign({},o,this._size),u=wf(n,t,a),c=kf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),vp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),xp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!$s(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!$s(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}R(ta,"positioners",Fi);var V1={id:"tooltip",_element:ta,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ta({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Fp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const W1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function $1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return W1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const U1=(e,t)=>e===null?null:se(Math.round(e),0,t);function Cf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}R(ea,"id","category"),R(ea,"defaults",{ticks:{callback:Cf}});function Y1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,m=c-1,{min:y,max:x}=t,p=!V(o),g=!V(l),v=!V(u),_=(x-y)/(f+1);let w=Tc((x-y)/m/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:y},{value:x}];T=Math.ceil(x/w)-Math.floor(y/w),T>m&&(w=Tc(T*w/m/d)*d),V(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(y/w)*w,b=Math.ceil(x/w)*w):(S=y,b=x),p&&g&&s&&G0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,gs(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Lc(w),Lc(S));k=Math.pow(10,V(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:F})}return g&&h&&b!==l?n.length&&gs(n[n.length-1].value,l,Mf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Mf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Zs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return V(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=Y1(r,s);return t.bounds==="ticks"&&ip(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return su(t,this.chart.options.locale,this.options.ticks.format)}}class na extends Zs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?t:0,this.max=ft(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}R(na,"id","linear"),R(na,"defaults",{ticks:{callback:mo.formatters.numeric}});const vr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,vr(e)+t);function Pf(e){return e/Math.pow(10,vr(e))===1}function Ef(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function K1(e,t){const n=t-e;let i=vr(n);for(;Ef(e,t,i)>10;)i++;for(;Ef(e,t,i)<10;)i--;return Math.min(i,vr(e))}function Q1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=vr(t);let s=K1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Pf(d),significand:f}),i}class Tf extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Zs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ft(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?Math.max(0,t):null,this.max=ft(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ft(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=Q1(n,this);return t.bounds==="ticks"&&ip(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":su(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}R(Tf,"id","logarithmic"),R(Tf,"defaults",{ticks:{callback:mo.formatters.logarithmic,major:{enabled:!0}}});function ia(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return j(t.font&&t.font.size,nt.font.size)+n.height}return 0}function X1(e,t,n){return n=G(n)?n:[n],{w:gy(e,t.string,n),h:n.length*t.lineHeight}}function Lf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function G1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function q1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(nu(pe(a.angle+zt))),c=ix(a.y,l.h,u),f=ex(u),h=nx(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function J1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function tx(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:ia(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function rx(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!V(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(m=>m!==0)?(e.beginPath(),mr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function sx(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));rx(n,o,s);const l=ut(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Ip(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=$(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?G1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(V(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(V(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),m=s.setContext(h);ox(this,d,a,o,m)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ut(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}R(es,"id","radialLinear"),R(es,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:mo.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),R(es,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),R(es,"descriptors",{angleLines:{_fallback:"grid"}});const xo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(xo);function ax(e,t){return e-t}function Of(e,t){if(V(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ft(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ks(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Df(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(xo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function cx(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function fx(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function Rf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Df(s.minUnit,n,i,this._getLabelCapacity(n)),l=j(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ks(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const m=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hy-x).map(y=>+y)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return $(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Gl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Gl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Ff extends qs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=ns(n,this.min),this._tableRange=ns(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Ap;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function dx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ap;const n={labels:[],datasets:[]};return Np(n,e.labels),jp(n,e.datasets,t),n}function px(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=pt.useRef(null),m=pt.useRef(),y=()=>{d.current&&(m.current=new vo(d.current,{type:o,data:dx(l,s),options:a&&{...a},plugins:u}),If(t,m.current))},x=()=>{If(t,null),m.current&&(m.current.destroy(),m.current=null)};return pt.useEffect(()=>{!r&&m.current&&a&&hx(m.current,a)},[r,a]),pt.useEffect(()=>{!r&&m.current&&Np(m.current.config.data,l.labels)},[r,l.labels]),pt.useEffect(()=>{!r&&m.current&&l.datasets&&jp(m.current.config.data,l.datasets,s)},[r,l.datasets]),pt.useEffect(()=>{m.current&&(r?(x(),setTimeout(y)):m.current.update(f))},[r,a,l.labels,l.datasets,f]),pt.useEffect(()=>{m.current&&(x(),setTimeout(y))},[o]),pt.useEffect(()=>(y(),()=>x()),[]),Yf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const gx=pt.forwardRef(px);function mx(e,t){return vo.register(t),pt.forwardRef((n,i)=>Yf.createElement(gx,Object.assign({},n,{ref:i,type:e})))}const yx=mx("bar",ms);vo.register(ea,na,xs,R1,V1,D1);const vx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},xx=({data:e})=>{const t=p0(e),n=v0(t.allTracesTimeInfo),i=y0(t.allTracesTimeInfo,t.earliestTime),r={labels:n,datasets:[{label:"Trace",data:i,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return z.jsx(yx,{options:vx,data:r})};function _x(e){let t="",n=!1,i=[];const r=[];return e.map((s,o)=>{o===0&&(t=e[0].traceId),n&&(i=[],n=!1),i.push(s),e[o+1]?e[o+1].traceId!==t&&(t=e[o+1].traceId,n=!0,r.push(i)):r.push(i)}),r.slice(0,13)}function wx(){const[e,t]=pt.useState([]);pt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",r=>{try{console.log(r.data),t(s=>[...s,JSON.parse(r.data)])}catch(s){console.log("failed",s)}})},[]),pt.useEffect(()=>{console.log(e)},[e]);const n=_x(e);return z.jsxs(z.Fragment,{children:[z.jsx(xx,{data:n}),z.jsx(m0,{data:n})]})}const kx=document.getElementById("root"),Sx=Zd(kx);console.log("panel/index.jsx reached");Sx.render(z.jsx(wx,{})); diff --git a/chrome-extension/dist/src/pages/devtools/index.html b/chrome-extension/dist/src/pages/devtools/index.html index 84853d3..81c0dff 100644 --- a/chrome-extension/dist/src/pages/devtools/index.html +++ b/chrome-extension/dist/src/pages/devtools/index.html @@ -2,7 +2,7 @@ - + diff --git a/chrome-extension/dist/src/pages/panel/index.html b/chrome-extension/dist/src/pages/panel/index.html index af1a241..9cad52b 100644 --- a/chrome-extension/dist/src/pages/panel/index.html +++ b/chrome-extension/dist/src/pages/panel/index.html @@ -2,7 +2,7 @@ - + diff --git a/chrome-extension/src/pages/app/app.tsx b/chrome-extension/src/pages/app/app.tsx index 26f8a4e..9476b67 100644 --- a/chrome-extension/src/pages/app/app.tsx +++ b/chrome-extension/src/pages/app/app.tsx @@ -3,14 +3,16 @@ import './App.css' import NetworkTable from './components/NetworkTable.tsx' import WaterfallChart from './components/WaterfallGraph.tsx'; import checkTraceId from './functions/checkTraceId.ts' -import { OtelData, ITraceIdData} from '../../types/types.ts'; +import { OtelData, IAggregatedData} from '../../types/types.ts'; function App() { - const [traceIdData, setTraceIdData] = useState(new Map()); + // const [traceIdData, setTraceIdData] = useState(new Map()); + const [aggregatedData, setAggregatedData] = useState(new Map()); useEffect(() => { chrome.runtime.onMessage.addListener((message) => { - console.log('received chrome message', message) + setAggregatedData(prevAggregatedData => prevAggregatedData.set(`chromeApiRequestData: ${message.type}, startTime ${message.startTime}`, message)) + }) }, []); @@ -21,7 +23,7 @@ function App() { try { console.log(e.data); // setNetworkRequests(prevNetworkRequests => [...prevNetworkRequests, JSON.parse(e.data)]); - setTraceIdData(prevTraceIdData => checkTraceId(prevTraceIdData, JSON.parse(e.data))) + setAggregatedData(prevAggregatedData => checkTraceId(prevAggregatedData, JSON.parse(e.data))) } catch (err) { console.log('failed', err); } @@ -30,15 +32,8 @@ function App() { useEffect(() => { - console.log(traceIdData); - }, [traceIdData]); - - - - // const aggregatedData = checkTraceId(networkRequests); - - - + console.log(aggregatedData); + }, [aggregatedData]); return ( <> diff --git a/chrome-extension/src/pages/devtools/index.ts b/chrome-extension/src/pages/devtools/index.ts index 56db60f..6007a74 100644 --- a/chrome-extension/src/pages/devtools/index.ts +++ b/chrome-extension/src/pages/devtools/index.ts @@ -1,4 +1,10 @@ -import { INetworkObject } from "../../types/types"; +import { IChromeApiNetworkObject } from "../../types/types"; + +function convertToEpoch(dateString: string):number { + const date = new Date(dateString); + const epochTime = Math.floor(date.getTime() / 1000); + return epochTime; +} try { chrome.devtools.panels.create( @@ -8,23 +14,25 @@ try { ); //panel.onShown - chrome.devtools.network.onRequestFinished.addListener( - function(request) { - const networkObject: INetworkObject = {}; - if (request.request.httpVersion === 'chrome-extension') return; - console.log(request); - networkObject.method = request.request.method; - networkObject.protocol = request.request.httpVersion; - networkObject.size = request.response.bodySize; - networkObject.status = request.response.status; - networkObject.startTime = request.startedDateTime; - networkObject.time = request.time; - networkObject.urlEndpoint = request.request.url; - networkObject.type = request._resourceType as string;; - networkObject.initiator = request._initiator; - chrome.runtime.sendMessage(networkObject); - } - ) + + + chrome.devtools.network.onRequestFinished.addListener( + function(request) { + const networkObject: IChromeApiNetworkObject = {}; + if (request.request.httpVersion === 'chrome-extension') return; + console.log(request); + networkObject.method = request.request.method; + networkObject.protocol = request.request.httpVersion; + networkObject.size = request.response.bodySize; + networkObject.status = request.response.status; + networkObject.startTime = convertToEpoch(request.startedDateTime); + networkObject.time = request.time; + networkObject.urlEndpoint = request.request.url; + networkObject.type = request._resourceType as string;; + networkObject.initiator = request._initiator; + chrome.runtime.sendMessage(networkObject); + } + ) } catch (error) { console.log(error); diff --git a/chrome-extension/src/types/types.ts b/chrome-extension/src/types/types.ts index b1ff9b9..a0d97ea 100644 --- a/chrome-extension/src/types/types.ts +++ b/chrome-extension/src/types/types.ts @@ -14,21 +14,22 @@ export interface OtelData { name: string } -export type ITraceIdData = Map; +export type IChromeApiNetworkObject = { + method?: string, + protocol?: string, + size?: number, + status?: number, + startTime?: number, + time?: number, + urlEndpoint?: string, + type?: string | null, + initiator?: string | null, +} + +export type IAggregatedData = Map; + -export type INetworkObject = { - method?: string, - protocol?: string, - size?: number, - status?: number, - startTime?: string, - time?: number, - urlEndpoint?: string, - type?: string | null, - initiator?: string | null, - } -export type IAggregatedData = (OtelData | INetworkObject)[][]; From 2368bbaa7b6660e1852eb4adcff08ed94b7f73ce Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Sat, 1 Jul 2023 15:09:16 -0400 Subject: [PATCH 05/18] refactored convertToEpoch function to return milliseconds to match Otel data time --- chrome-extension/src/pages/devtools/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome-extension/src/pages/devtools/index.ts b/chrome-extension/src/pages/devtools/index.ts index 6007a74..791b646 100644 --- a/chrome-extension/src/pages/devtools/index.ts +++ b/chrome-extension/src/pages/devtools/index.ts @@ -2,7 +2,7 @@ import { IChromeApiNetworkObject } from "../../types/types"; function convertToEpoch(dateString: string):number { const date = new Date(dateString); - const epochTime = Math.floor(date.getTime() / 1000); + const epochTime = date.getTime(); return epochTime; } From 2097d0cdcea91ba4f214d37e36597b6657f20962 Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Sun, 2 Jul 2023 15:40:35 -0400 Subject: [PATCH 06/18] created relevant data function. Issues: there seems to still be duplication of certain spans but they do have different trace ids --- .../dist/assets/devtools-2a6bba84.js | 1 - .../dist/assets/devtools-dfdef4d7.js | 1 + .../{panel-a57f5453.js => panel-475bec0a.js} | 14 +++---- .../dist/src/pages/devtools/index.html | 2 +- .../dist/src/pages/panel/index.html | 2 +- chrome-extension/src/pages/app/app.tsx | 20 +++++++--- .../src/pages/app/functions/isRelevantData.ts | 40 +++++++++++++++++++ chrome-extension/src/types/types.ts | 9 +++++ 8 files changed, 73 insertions(+), 16 deletions(-) delete mode 100644 chrome-extension/dist/assets/devtools-2a6bba84.js create mode 100644 chrome-extension/dist/assets/devtools-dfdef4d7.js rename chrome-extension/dist/assets/{panel-a57f5453.js => panel-475bec0a.js} (79%) create mode 100644 chrome-extension/src/pages/app/functions/isRelevantData.ts diff --git a/chrome-extension/dist/assets/devtools-2a6bba84.js b/chrome-extension/dist/assets/devtools-2a6bba84.js deleted file mode 100644 index 48c83cc..0000000 --- a/chrome-extension/dist/assets/devtools-2a6bba84.js +++ /dev/null @@ -1 +0,0 @@ -import"./modulepreload-polyfill-3cfb730f.js";function t(e){const o=new Date(e);return Math.floor(o.getTime()/1e3)}try{chrome.devtools.panels.create("NextInspect","icon.png","src/pages/panel/index.html"),chrome.devtools.network.onRequestFinished.addListener(function(e){const o={};e.request.httpVersion!=="chrome-extension"&&(console.log(e),o.method=e.request.method,o.protocol=e.request.httpVersion,o.size=e.response.bodySize,o.status=e.response.status,o.startTime=t(e.startedDateTime),o.time=e.time,o.urlEndpoint=e.request.url,o.type=e._resourceType,o.initiator=e._initiator,chrome.runtime.sendMessage(o))})}catch(e){console.log(e)} diff --git a/chrome-extension/dist/assets/devtools-dfdef4d7.js b/chrome-extension/dist/assets/devtools-dfdef4d7.js new file mode 100644 index 0000000..1b312f4 --- /dev/null +++ b/chrome-extension/dist/assets/devtools-dfdef4d7.js @@ -0,0 +1 @@ +import"./modulepreload-polyfill-3cfb730f.js";function o(e){return new Date(e).getTime()}try{chrome.devtools.panels.create("NextInspect","icon.png","src/pages/panel/index.html"),chrome.devtools.network.onRequestFinished.addListener(function(e){const t={};e.request.httpVersion!=="chrome-extension"&&(console.log(e),t.method=e.request.method,t.protocol=e.request.httpVersion,t.size=e.response.bodySize,t.status=e.response.status,t.startTime=o(e.startedDateTime),t.time=e.time,t.urlEndpoint=e.request.url,t.type=e._resourceType,t.initiator=e._initiator,chrome.runtime.sendMessage(t))})}catch(e){console.log(e)} diff --git a/chrome-extension/dist/assets/panel-a57f5453.js b/chrome-extension/dist/assets/panel-475bec0a.js similarity index 79% rename from chrome-extension/dist/assets/panel-a57f5453.js rename to chrome-extension/dist/assets/panel-475bec0a.js index 6c2e6b7..8415231 100644 --- a/chrome-extension/dist/assets/panel-a57f5453.js +++ b/chrome-extension/dist/assets/panel-475bec0a.js @@ -6,7 +6,7 @@ import"./modulepreload-polyfill-3cfb730f.js";var Bi={exports:{}},br={},Hi={expor * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Yt=Symbol.for("react.element"),rc=Symbol.for("react.portal"),lc=Symbol.for("react.fragment"),uc=Symbol.for("react.strict_mode"),oc=Symbol.for("react.profiler"),ic=Symbol.for("react.provider"),sc=Symbol.for("react.context"),ac=Symbol.for("react.forward_ref"),cc=Symbol.for("react.suspense"),fc=Symbol.for("react.memo"),dc=Symbol.for("react.lazy"),Mo=Symbol.iterator;function pc(e){return e===null||typeof e!="object"?null:(e=Mo&&e[Mo]||e["@@iterator"],typeof e=="function"?e:null)}var Wi={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Qi=Object.assign,Ki={};function lt(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}lt.prototype.isReactComponent={};lt.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,n,"setState")};lt.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Yi(){}Yi.prototype=lt.prototype;function ju(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}var Uu=ju.prototype=new Yi;Uu.constructor=ju;Qi(Uu,lt.prototype);Uu.isPureReactComponent=!0;var Io=Array.isArray,Xi=Object.prototype.hasOwnProperty,$u={current:null},Gi={key:!0,ref:!0,__self:!0,__source:!0};function Zi(e,n,t){var r,l={},u=null,o=null;if(n!=null)for(r in n.ref!==void 0&&(o=n.ref),n.key!==void 0&&(u=""+n.key),n)Xi.call(n,r)&&!Gi.hasOwnProperty(r)&&(l[r]=n[r]);var i=arguments.length-2;if(i===1)l.children=t;else if(1>>1,X=C[H];if(0>>1;Hl(yl,z))hnl(bt,yl)?(C[H]=bt,C[hn]=z,H=hn):(C[H]=yl,C[vn]=z,H=vn);else if(hnl(bt,z))C[H]=bt,C[hn]=z,H=hn;else break e}}return N}function l(C,N){var z=C.sortIndex-N.sortIndex;return z!==0?z:C.id-N.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var o=Date,i=o.now();e.unstable_now=function(){return o.now()-i}}var s=[],c=[],v=1,m=null,p=3,g=!1,w=!1,k=!1,F=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var N=t(c);N!==null;){if(N.callback===null)r(c);else if(N.startTime<=C)r(c),N.sortIndex=N.expirationTime,n(s,N);else break;N=t(c)}}function h(C){if(k=!1,d(C),!w)if(t(s)!==null)w=!0,vl(E);else{var N=t(c);N!==null&&hl(h,N.startTime-C)}}function E(C,N){w=!1,k&&(k=!1,f(P),P=-1),g=!0;var z=p;try{for(d(N),m=t(s);m!==null&&(!(m.expirationTime>N)||C&&!xe());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var X=H(m.expirationTime<=N);N=e.unstable_now(),typeof X=="function"?m.callback=X:m===t(s)&&r(s),d(N)}else r(s);m=t(s)}if(m!==null)var qt=!0;else{var vn=t(c);vn!==null&&hl(h,vn.startTime-N),qt=!1}return qt}finally{m=null,p=z,g=!1}}var _=!1,x=null,P=-1,B=5,L=-1;function xe(){return!(e.unstable_now()-LC||125H?(C.sortIndex=z,n(c,C),t(s)===null&&C===t(c)&&(k?(f(P),P=-1):k=!0,hl(h,z-H))):(C.sortIndex=X,n(s,C),w||g||(w=!0,vl(E))),C},e.unstable_shouldYield=xe,e.unstable_wrapCallback=function(C){var N=p;return function(){var z=p;p=N;try{return C.apply(this,arguments)}finally{p=z}}}})(es);bi.exports=es;var _c=bi.exports;/** + */(function(e){function n(C,P){var z=C.length;C.push(P);e:for(;0>>1,X=C[H];if(0>>1;Hl(yl,z))hnl(bt,yl)?(C[H]=bt,C[hn]=z,H=hn):(C[H]=yl,C[vn]=z,H=vn);else if(hnl(bt,z))C[H]=bt,C[hn]=z,H=hn;else break e}}return P}function l(C,P){var z=C.sortIndex-P.sortIndex;return z!==0?z:C.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var o=Date,i=o.now();e.unstable_now=function(){return o.now()-i}}var s=[],c=[],v=1,m=null,p=3,g=!1,w=!1,k=!1,F=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var P=t(c);P!==null;){if(P.callback===null)r(c);else if(P.startTime<=C)r(c),P.sortIndex=P.expirationTime,n(s,P);else break;P=t(c)}}function h(C){if(k=!1,d(C),!w)if(t(s)!==null)w=!0,vl(E);else{var P=t(c);P!==null&&hl(h,P.startTime-C)}}function E(C,P){w=!1,k&&(k=!1,f(N),N=-1),g=!0;var z=p;try{for(d(P),m=t(s);m!==null&&(!(m.expirationTime>P)||C&&!xe());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var X=H(m.expirationTime<=P);P=e.unstable_now(),typeof X=="function"?m.callback=X:m===t(s)&&r(s),d(P)}else r(s);m=t(s)}if(m!==null)var qt=!0;else{var vn=t(c);vn!==null&&hl(h,vn.startTime-P),qt=!1}return qt}finally{m=null,p=z,g=!1}}var _=!1,x=null,N=-1,B=5,L=-1;function xe(){return!(e.unstable_now()-LC||125H?(C.sortIndex=z,n(c,C),t(s)===null&&C===t(c)&&(k?(f(N),N=-1):k=!0,hl(h,z-H))):(C.sortIndex=X,n(s,C),w||g||(w=!0,vl(E))),C},e.unstable_shouldYield=xe,e.unstable_wrapCallback=function(C){var P=p;return function(){var z=p;p=P;try{return C.apply(this,arguments)}finally{p=z}}}})(es);bi.exports=es;var _c=bi.exports;/** * @license React * react-dom.production.min.js * @@ -30,11 +30,11 @@ import"./modulepreload-polyfill-3cfb730f.js";var Bi={exports:{}},br={},Hi={expor * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ns=On,he=_c;function y(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ql=Object.prototype.hasOwnProperty,xc=/^[: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]*$/,Fo={},jo={};function Pc(e){return Ql.call(jo,e)?!0:Ql.call(Fo,e)?!1:xc.test(e)?jo[e]=!0:(Fo[e]=!0,!1)}function Nc(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function zc(e,n,t,r){if(n===null||typeof n>"u"||Nc(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function ie(e,n,t,r,l,u,o){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=u,this.removeEmptyString=o}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){b[e]=new ie(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];b[n]=new ie(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){b[e]=new ie(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){b[e]=new ie(e,2,!1,e,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(e){b[e]=new ie(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){b[e]=new ie(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){b[e]=new ie(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){b[e]=new ie(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){b[e]=new ie(e,5,!1,e.toLowerCase(),null,!1,!1)});var Vu=/[\-:]([a-z])/g;function Bu(e){return e[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(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!1,!1)});b.xlinkHref=new ie("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!0,!0)});function Hu(e,n,t,r){var l=b.hasOwnProperty(n)?b[n]:null;(l!==null?l.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ql=Object.prototype.hasOwnProperty,xc=/^[: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]*$/,Fo={},jo={};function Nc(e){return Ql.call(jo,e)?!0:Ql.call(Fo,e)?!1:xc.test(e)?jo[e]=!0:(Fo[e]=!0,!1)}function Pc(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function zc(e,n,t,r){if(n===null||typeof n>"u"||Pc(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function ie(e,n,t,r,l,u,o){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=u,this.removeEmptyString=o}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){b[e]=new ie(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];b[n]=new ie(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){b[e]=new ie(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){b[e]=new ie(e,2,!1,e,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(e){b[e]=new ie(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){b[e]=new ie(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){b[e]=new ie(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){b[e]=new ie(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){b[e]=new ie(e,5,!1,e.toLowerCase(),null,!1,!1)});var Vu=/[\-:]([a-z])/g;function Bu(e){return e[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(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!1,!1)});b.xlinkHref=new ie("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!0,!0)});function Hu(e,n,t,r){var l=b.hasOwnProperty(n)?b[n]:null;(l!==null?l.type!==0:r||!(2i||l[o]!==u[i]){var s=` -`+l[o].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=i);break}}}finally{kl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?yt(e):""}function Tc(e){switch(e.tag){case 5:return yt(e.type);case 16:return yt("Lazy");case 13:return yt("Suspense");case 19:return yt("SuspenseList");case 0:case 2:case 15:return e=Sl(e.type,!1),e;case 11:return e=Sl(e.type.render,!1),e;case 1:return e=Sl(e.type,!0),e;default:return""}}function Gl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case In:return"Fragment";case Mn:return"Portal";case Kl:return"Profiler";case Wu:return"StrictMode";case Yl:return"Suspense";case Xl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ls:return(e.displayName||"Context")+".Consumer";case rs:return(e._context.displayName||"Context")+".Provider";case Qu:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ku:return n=e.displayName||null,n!==null?n:Gl(e.type)||"Memo";case Ge:n=e._payload,e=e._init;try{return Gl(e(n))}catch{}}return null}function Lc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gl(n);case 8:return n===Wu?"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 n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function cn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function os(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Rc(e){var n=os(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,u=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,u.call(this,o)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function tr(e){e._valueTracker||(e._valueTracker=Rc(e))}function is(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=os(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Tr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Zl(e,n){var t=n.checked;return A({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function $o(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=cn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function ss(e,n){n=n.checked,n!=null&&Hu(e,"checked",n,!1)}function Jl(e,n){ss(e,n);var t=cn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?ql(e,n.type,t):n.hasOwnProperty("defaultValue")&&ql(e,n.type,cn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Ao(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function ql(e,n,t){(n!=="number"||Tr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var gt=Array.isArray;function Qn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Rt(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var St={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},Oc=["Webkit","ms","Moz","O"];Object.keys(St).forEach(function(e){Oc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),St[n]=St[e]})});function ds(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||St.hasOwnProperty(e)&&St[e]?(""+n).trim():n+"px"}function ps(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=ds(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Mc=A({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 nu(e,n){if(n){if(Mc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function tu(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){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 ru=null;function Yu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var lu=null,Kn=null,Yn=null;function Ho(e){if(e=Zt(e)){if(typeof lu!="function")throw Error(y(280));var n=e.stateNode;n&&(n=ll(n),lu(e.stateNode,e.type,n))}}function ms(e){Kn?Yn?Yn.push(e):Yn=[e]:Kn=e}function vs(){if(Kn){var e=Kn,n=Yn;if(Yn=Kn=null,Ho(e),n)for(e=0;e>>=0,e===0?32:31-(Wc(e)/Qc|0)|0}var lr=64,ur=4194304;function wt(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Mr(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,u=e.pingedLanes,o=t&268435455;if(o!==0){var i=o&~l;i!==0?r=wt(i):(u&=o,u!==0&&(r=wt(u)))}else o=t&~l,o!==0?r=wt(o):u!==0&&(r=wt(u));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,u=n&-n,l>=u||l===16&&(u&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Xt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Le(n),e[n]=t}function Gc(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ct),qo=String.fromCharCode(32),bo=!1;function Ds(e,n){switch(e){case"keyup":return _f.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Dn=!1;function Pf(e,n){switch(e){case"compositionend":return Fs(n);case"keypress":return n.which!==32?null:(bo=!0,qo);case"textInput":return e=n.data,e===qo&&bo?null:e;default:return null}}function Nf(e,n){if(Dn)return e==="compositionend"||!no&&Ds(e,n)?(e=Ms(),kr=qu=be=null,Dn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=ri(t)}}function As(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?As(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Vs(){for(var e=window,n=Tr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Tr(e.document)}return n}function to(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Ff(e){var n=Vs(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&As(t.ownerDocument.documentElement,t)){if(r!==null&&to(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,u=Math.min(r.start,l);r=r.end===void 0?u:Math.min(r.end,l),!e.extend&&u>r&&(l=r,r=u,u=l),l=li(t,u);var o=li(t,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),u>r?(e.addRange(n),e.extend(o.node,o.offset)):(n.setEnd(o.node,o.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Fn=null,cu=null,xt=null,fu=!1;function ui(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;fu||Fn==null||Fn!==Tr(r)||(r=Fn,"selectionStart"in r&&to(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),xt&&jt(xt,r)||(xt=r,r=Fr(cu,"onSelect"),0$n||(e.current=yu[$n],yu[$n]=null,$n--)}function M(e,n){$n++,yu[$n]=e.current,e.current=n}var fn={},re=pn(fn),ce=pn(!1),_n=fn;function qn(e,n){var t=e.type.contextTypes;if(!t)return fn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},u;for(u in t)l[u]=n[u];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function fe(e){return e=e.childContextTypes,e!=null}function Ur(){D(ce),D(re)}function di(e,n,t){if(re.current!==fn)throw Error(y(168));M(re,n),M(ce,t)}function Zs(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Lc(e)||"Unknown",l));return A({},t,r)}function $r(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||fn,_n=re.current,M(re,e),M(ce,ce.current),!0}function pi(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=Zs(e,n,_n),r.__reactInternalMemoizedMergedChildContext=e,D(ce),D(re),M(re,e)):D(ce),M(ce,t)}var $e=null,ul=!1,Dl=!1;function Js(e){$e===null?$e=[e]:$e.push(e)}function Xf(e){ul=!0,Js(e)}function mn(){if(!Dl&&$e!==null){Dl=!0;var e=0,n=O;try{var t=$e;for(O=1;e>=o,l-=o,Ae=1<<32-Le(n)+l|t<P?(B=x,x=null):B=x.sibling;var L=p(f,x,d[P],h);if(L===null){x===null&&(x=B);break}e&&x&&L.alternate===null&&n(f,x),a=u(L,a,P),_===null?E=L:_.sibling=L,_=L,x=B}if(P===d.length)return t(f,x),j&&yn(f,P),E;if(x===null){for(;PP?(B=x,x=null):B=x.sibling;var xe=p(f,x,L.value,h);if(xe===null){x===null&&(x=B);break}e&&x&&xe.alternate===null&&n(f,x),a=u(xe,a,P),_===null?E=xe:_.sibling=xe,_=xe,x=B}if(L.done)return t(f,x),j&&yn(f,P),E;if(x===null){for(;!L.done;P++,L=d.next())L=m(f,L.value,h),L!==null&&(a=u(L,a,P),_===null?E=L:_.sibling=L,_=L);return j&&yn(f,P),E}for(x=r(f,x);!L.done;P++,L=d.next())L=g(x,f,P,L.value,h),L!==null&&(e&&L.alternate!==null&&x.delete(L.key===null?P:L.key),a=u(L,a,P),_===null?E=L:_.sibling=L,_=L);return e&&x.forEach(function(it){return n(f,it)}),j&&yn(f,P),E}function F(f,a,d,h){if(typeof d=="object"&&d!==null&&d.type===In&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case nr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===In){if(_.tag===7){t(f,_.sibling),a=l(_,d.props.children),a.return=f,f=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ge&&ki(E)===_.type){t(f,_.sibling),a=l(_,d.props),a.ref=mt(f,_,d),a.return=f,f=a;break e}t(f,_);break}else n(f,_);_=_.sibling}d.type===In?(a=Cn(d.props.children,f.mode,h,d.key),a.return=f,f=a):(h=zr(d.type,d.key,d.props,null,f.mode,h),h.ref=mt(f,a,d),h.return=f,f=h)}return o(f);case Mn:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){t(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{t(f,a);break}else n(f,a);a=a.sibling}a=Hl(d,f.mode,h),a.return=f,f=a}return o(f);case Ge:return _=d._init,F(f,a,_(d._payload),h)}if(gt(d))return w(f,a,d,h);if(at(d))return k(f,a,d,h);dr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(t(f,a.sibling),a=l(a,d),a.return=f,f=a):(t(f,a),a=Bl(d,f.mode,h),a.return=f,f=a),o(f)):t(f,a)}return F}var et=ua(!0),oa=ua(!1),Jt={},je=pn(Jt),Vt=pn(Jt),Bt=pn(Jt);function Sn(e){if(e===Jt)throw Error(y(174));return e}function fo(e,n){switch(M(Bt,n),M(Vt,e),M(je,Jt),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:eu(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=eu(n,e)}D(je),M(je,n)}function nt(){D(je),D(Vt),D(Bt)}function ia(e){Sn(Bt.current);var n=Sn(je.current),t=eu(n,e.type);n!==t&&(M(Vt,e),M(je,t))}function po(e){Vt.current===e&&(D(je),D(Vt))}var U=pn(0);function Qr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Fl=[];function mo(){for(var e=0;et?t:4,e(!0);var r=jl.transition;jl.transition={};try{e(!1),n()}finally{O=t,jl.transition=r}}function Ca(){return _e().memoizedState}function qf(e,n,t){var r=sn(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},_a(e))xa(n,t);else if(t=na(e,n,t,r),t!==null){var l=ue();Re(t,e,r,l),Pa(t,n,r)}}function bf(e,n,t){var r=sn(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(_a(e))xa(n,l);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=n.lastRenderedReducer,u!==null))try{var o=n.lastRenderedState,i=u(o,t);if(l.hasEagerState=!0,l.eagerState=i,Oe(i,o)){var s=n.interleaved;s===null?(l.next=l,ao(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=na(e,n,l,r),t!==null&&(l=ue(),Re(t,e,r,l),Pa(t,n,r))}}function _a(e){var n=e.alternate;return e===$||n!==null&&n===$}function xa(e,n){Pt=Kr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Pa(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Gu(e,t)}}var Yr={readContext:Ce,useCallback:ee,useContext:ee,useEffect:ee,useImperativeHandle:ee,useInsertionEffect:ee,useLayoutEffect:ee,useMemo:ee,useReducer:ee,useRef:ee,useState:ee,useDebugValue:ee,useDeferredValue:ee,useTransition:ee,useMutableSource:ee,useSyncExternalStore:ee,useId:ee,unstable_isNewReconciler:!1},ed={readContext:Ce,useCallback:function(e,n){return Ie().memoizedState=[e,n===void 0?null:n],e},useContext:Ce,useEffect:Ei,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,_r(4194308,4,ga.bind(null,n,e),t)},useLayoutEffect:function(e,n){return _r(4194308,4,e,n)},useInsertionEffect:function(e,n){return _r(4,2,e,n)},useMemo:function(e,n){var t=Ie();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=Ie();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=qf.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var n=Ie();return e={current:e},n.memoizedState=e},useState:Si,useDebugValue:wo,useDeferredValue:function(e){return Ie().memoizedState=e},useTransition:function(){var e=Si(!1),n=e[0];return e=Jf.bind(null,e[1]),Ie().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=$,l=Ie();if(j){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),Z===null)throw Error(y(349));Pn&30||ca(r,n,t)}l.memoizedState=t;var u={value:t,getSnapshot:n};return l.queue=u,Ei(da.bind(null,r,u,e),[e]),r.flags|=2048,Qt(9,fa.bind(null,r,u,t,n),void 0,null),t},useId:function(){var e=Ie(),n=Z.identifierPrefix;if(j){var t=Ve,r=Ae;t=(r&~(1<<32-Le(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Ht++,0")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=i);break}}}finally{kl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?yt(e):""}function Tc(e){switch(e.tag){case 5:return yt(e.type);case 16:return yt("Lazy");case 13:return yt("Suspense");case 19:return yt("SuspenseList");case 0:case 2:case 15:return e=Sl(e.type,!1),e;case 11:return e=Sl(e.type.render,!1),e;case 1:return e=Sl(e.type,!0),e;default:return""}}function Gl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Dn:return"Fragment";case On:return"Portal";case Kl:return"Profiler";case Wu:return"StrictMode";case Yl:return"Suspense";case Xl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ls:return(e.displayName||"Context")+".Consumer";case rs:return(e._context.displayName||"Context")+".Provider";case Qu:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ku:return n=e.displayName||null,n!==null?n:Gl(e.type)||"Memo";case Ge:n=e._payload,e=e._init;try{return Gl(e(n))}catch{}}return null}function Lc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gl(n);case 8:return n===Wu?"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 n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function cn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function os(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Rc(e){var n=os(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,u=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,u.call(this,o)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function tr(e){e._valueTracker||(e._valueTracker=Rc(e))}function is(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=os(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Tr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Zl(e,n){var t=n.checked;return A({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function $o(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=cn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function ss(e,n){n=n.checked,n!=null&&Hu(e,"checked",n,!1)}function Jl(e,n){ss(e,n);var t=cn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?ql(e,n.type,t):n.hasOwnProperty("defaultValue")&&ql(e,n.type,cn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Ao(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function ql(e,n,t){(n!=="number"||Tr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var gt=Array.isArray;function Qn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Rt(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var St={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},Mc=["Webkit","ms","Moz","O"];Object.keys(St).forEach(function(e){Mc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),St[n]=St[e]})});function ds(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||St.hasOwnProperty(e)&&St[e]?(""+n).trim():n+"px"}function ps(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=ds(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Oc=A({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 nu(e,n){if(n){if(Oc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function tu(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){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 ru=null;function Yu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var lu=null,Kn=null,Yn=null;function Ho(e){if(e=Zt(e)){if(typeof lu!="function")throw Error(y(280));var n=e.stateNode;n&&(n=ll(n),lu(e.stateNode,e.type,n))}}function ms(e){Kn?Yn?Yn.push(e):Yn=[e]:Kn=e}function vs(){if(Kn){var e=Kn,n=Yn;if(Yn=Kn=null,Ho(e),n)for(e=0;e>>=0,e===0?32:31-(Wc(e)/Qc|0)|0}var lr=64,ur=4194304;function wt(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Or(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,u=e.pingedLanes,o=t&268435455;if(o!==0){var i=o&~l;i!==0?r=wt(i):(u&=o,u!==0&&(r=wt(u)))}else o=t&~l,o!==0?r=wt(o):u!==0&&(r=wt(u));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,u=n&-n,l>=u||l===16&&(u&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Xt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Le(n),e[n]=t}function Gc(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ct),qo=String.fromCharCode(32),bo=!1;function Is(e,n){switch(e){case"keyup":return _f.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var In=!1;function Nf(e,n){switch(e){case"compositionend":return Fs(n);case"keypress":return n.which!==32?null:(bo=!0,qo);case"textInput":return e=n.data,e===qo&&bo?null:e;default:return null}}function Pf(e,n){if(In)return e==="compositionend"||!no&&Is(e,n)?(e=Os(),kr=qu=be=null,In=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=ri(t)}}function As(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?As(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Vs(){for(var e=window,n=Tr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Tr(e.document)}return n}function to(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Ff(e){var n=Vs(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&As(t.ownerDocument.documentElement,t)){if(r!==null&&to(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,u=Math.min(r.start,l);r=r.end===void 0?u:Math.min(r.end,l),!e.extend&&u>r&&(l=r,r=u,u=l),l=li(t,u);var o=li(t,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),u>r?(e.addRange(n),e.extend(o.node,o.offset)):(n.setEnd(o.node,o.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Fn=null,cu=null,xt=null,fu=!1;function ui(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;fu||Fn==null||Fn!==Tr(r)||(r=Fn,"selectionStart"in r&&to(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),xt&&jt(xt,r)||(xt=r,r=Fr(cu,"onSelect"),0$n||(e.current=yu[$n],yu[$n]=null,$n--)}function O(e,n){$n++,yu[$n]=e.current,e.current=n}var fn={},re=pn(fn),ce=pn(!1),xn=fn;function qn(e,n){var t=e.type.contextTypes;if(!t)return fn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},u;for(u in t)l[u]=n[u];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function fe(e){return e=e.childContextTypes,e!=null}function Ur(){I(ce),I(re)}function di(e,n,t){if(re.current!==fn)throw Error(y(168));O(re,n),O(ce,t)}function Zs(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Lc(e)||"Unknown",l));return A({},t,r)}function $r(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||fn,xn=re.current,O(re,e),O(ce,ce.current),!0}function pi(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=Zs(e,n,xn),r.__reactInternalMemoizedMergedChildContext=e,I(ce),I(re),O(re,e)):I(ce),O(ce,t)}var $e=null,ul=!1,Il=!1;function Js(e){$e===null?$e=[e]:$e.push(e)}function Xf(e){ul=!0,Js(e)}function mn(){if(!Il&&$e!==null){Il=!0;var e=0,n=M;try{var t=$e;for(M=1;e>=o,l-=o,Ae=1<<32-Le(n)+l|t<N?(B=x,x=null):B=x.sibling;var L=p(f,x,d[N],h);if(L===null){x===null&&(x=B);break}e&&x&&L.alternate===null&&n(f,x),a=u(L,a,N),_===null?E=L:_.sibling=L,_=L,x=B}if(N===d.length)return t(f,x),j&&yn(f,N),E;if(x===null){for(;NN?(B=x,x=null):B=x.sibling;var xe=p(f,x,L.value,h);if(xe===null){x===null&&(x=B);break}e&&x&&xe.alternate===null&&n(f,x),a=u(xe,a,N),_===null?E=xe:_.sibling=xe,_=xe,x=B}if(L.done)return t(f,x),j&&yn(f,N),E;if(x===null){for(;!L.done;N++,L=d.next())L=m(f,L.value,h),L!==null&&(a=u(L,a,N),_===null?E=L:_.sibling=L,_=L);return j&&yn(f,N),E}for(x=r(f,x);!L.done;N++,L=d.next())L=g(x,f,N,L.value,h),L!==null&&(e&&L.alternate!==null&&x.delete(L.key===null?N:L.key),a=u(L,a,N),_===null?E=L:_.sibling=L,_=L);return e&&x.forEach(function(it){return n(f,it)}),j&&yn(f,N),E}function F(f,a,d,h){if(typeof d=="object"&&d!==null&&d.type===Dn&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case nr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===Dn){if(_.tag===7){t(f,_.sibling),a=l(_,d.props.children),a.return=f,f=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ge&&ki(E)===_.type){t(f,_.sibling),a=l(_,d.props),a.ref=mt(f,_,d),a.return=f,f=a;break e}t(f,_);break}else n(f,_);_=_.sibling}d.type===Dn?(a=_n(d.props.children,f.mode,h,d.key),a.return=f,f=a):(h=zr(d.type,d.key,d.props,null,f.mode,h),h.ref=mt(f,a,d),h.return=f,f=h)}return o(f);case On:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){t(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{t(f,a);break}else n(f,a);a=a.sibling}a=Hl(d,f.mode,h),a.return=f,f=a}return o(f);case Ge:return _=d._init,F(f,a,_(d._payload),h)}if(gt(d))return w(f,a,d,h);if(at(d))return k(f,a,d,h);dr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(t(f,a.sibling),a=l(a,d),a.return=f,f=a):(t(f,a),a=Bl(d,f.mode,h),a.return=f,f=a),o(f)):t(f,a)}return F}var et=ua(!0),oa=ua(!1),Jt={},je=pn(Jt),Vt=pn(Jt),Bt=pn(Jt);function En(e){if(e===Jt)throw Error(y(174));return e}function fo(e,n){switch(O(Bt,n),O(Vt,e),O(je,Jt),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:eu(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=eu(n,e)}I(je),O(je,n)}function nt(){I(je),I(Vt),I(Bt)}function ia(e){En(Bt.current);var n=En(je.current),t=eu(n,e.type);n!==t&&(O(Vt,e),O(je,t))}function po(e){Vt.current===e&&(I(je),I(Vt))}var U=pn(0);function Qr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Fl=[];function mo(){for(var e=0;et?t:4,e(!0);var r=jl.transition;jl.transition={};try{e(!1),n()}finally{M=t,jl.transition=r}}function Ca(){return _e().memoizedState}function qf(e,n,t){var r=sn(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},_a(e))xa(n,t);else if(t=na(e,n,t,r),t!==null){var l=ue();Re(t,e,r,l),Na(t,n,r)}}function bf(e,n,t){var r=sn(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(_a(e))xa(n,l);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=n.lastRenderedReducer,u!==null))try{var o=n.lastRenderedState,i=u(o,t);if(l.hasEagerState=!0,l.eagerState=i,Me(i,o)){var s=n.interleaved;s===null?(l.next=l,ao(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=na(e,n,l,r),t!==null&&(l=ue(),Re(t,e,r,l),Na(t,n,r))}}function _a(e){var n=e.alternate;return e===$||n!==null&&n===$}function xa(e,n){Nt=Kr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Na(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Gu(e,t)}}var Yr={readContext:Ce,useCallback:ee,useContext:ee,useEffect:ee,useImperativeHandle:ee,useInsertionEffect:ee,useLayoutEffect:ee,useMemo:ee,useReducer:ee,useRef:ee,useState:ee,useDebugValue:ee,useDeferredValue:ee,useTransition:ee,useMutableSource:ee,useSyncExternalStore:ee,useId:ee,unstable_isNewReconciler:!1},ed={readContext:Ce,useCallback:function(e,n){return De().memoizedState=[e,n===void 0?null:n],e},useContext:Ce,useEffect:Ei,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,_r(4194308,4,ga.bind(null,n,e),t)},useLayoutEffect:function(e,n){return _r(4194308,4,e,n)},useInsertionEffect:function(e,n){return _r(4,2,e,n)},useMemo:function(e,n){var t=De();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=De();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=qf.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var n=De();return e={current:e},n.memoizedState=e},useState:Si,useDebugValue:wo,useDeferredValue:function(e){return De().memoizedState=e},useTransition:function(){var e=Si(!1),n=e[0];return e=Jf.bind(null,e[1]),De().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=$,l=De();if(j){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),Z===null)throw Error(y(349));Pn&30||ca(r,n,t)}l.memoizedState=t;var u={value:t,getSnapshot:n};return l.queue=u,Ei(da.bind(null,r,u,e),[e]),r.flags|=2048,Qt(9,fa.bind(null,r,u,t,n),void 0,null),t},useId:function(){var e=De(),n=Z.identifierPrefix;if(j){var t=Ve,r=Ae;t=(r&~(1<<32-Le(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Ht++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(t,{is:r.is}):(e=o.createElement(t),t==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,t),e[De]=n,e[At]=r,Da(e,n,!1,!1),n.stateNode=e;e:{switch(o=tu(t,r),t){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;lrt&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304)}else{if(!r)if(e=Qr(o),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),vt(u,!0),u.tail===null&&u.tailMode==="hidden"&&!o.alternate&&!j)return ne(n),null}else 2*W()-u.renderingStartTime>rt&&t!==1073741824&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304);u.isBackwards?(o.sibling=n.child,n.child=o):(t=u.last,t!==null?t.sibling=o:n.child=o,u.last=o)}return u.tail!==null?(n=u.tail,u.rendering=n,u.tail=n.sibling,u.renderingStartTime=W(),n.sibling=null,t=U.current,M(U,r?t&1|2:t&1),n):(ne(n),null);case 22:case 23:return xo(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?pe&1073741824&&(ne(n),n.subtreeFlags&6&&(n.flags|=8192)):ne(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function sd(e,n){switch(lo(n),n.tag){case 1:return fe(n.type)&&Ur(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return nt(),D(ce),D(re),mo(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return po(n),null;case 13:if(D(U),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));bn()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return D(U),null;case 4:return nt(),null;case 10:return so(n.type._context),null;case 22:case 23:return xo(),null;case 24:return null;default:return null}}var mr=!1,te=!1,ad=typeof WeakSet=="function"?WeakSet:Set,S=null;function Hn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){V(e,n,r)}else t.current=null}function Tu(e,n,t){try{t()}catch(r){V(e,n,r)}}var Ri=!1;function cd(e,n){if(du=Ir,e=Vs(),to(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,u=r.focusNode;r=r.focusOffset;try{t.nodeType,u.nodeType}catch{t=null;break e}var o=0,i=-1,s=-1,c=0,v=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(i=o+l),m!==u||r!==0&&m.nodeType!==3||(s=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(i=o),p===u&&++v===r&&(s=o),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=i===-1||s===-1?null:{start:i,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(pu={focusedElem:e,selectionRange:t},Ir=!1,S=n;S!==null;)if(n=S,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,S=e;else for(;S!==null;){n=S;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,F=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?k:Ne(n.type,k),F);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){V(n,n.return,h)}if(e=n.sibling,e!==null){e.return=n.return,S=e;break}S=n.return}return w=Ri,Ri=!1,w}function Nt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var u=l.destroy;l.destroy=void 0,u!==void 0&&Tu(n,t,u)}l=l.next}while(l!==r)}}function sl(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Lu(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Ua(e){var n=e.alternate;n!==null&&(e.alternate=null,Ua(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[De],delete n[At],delete n[hu],delete n[Kf],delete n[Yf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $a(e){return e.tag===5||e.tag===3||e.tag===4}function Oi(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$a(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ru(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=jr));else if(r!==4&&(e=e.child,e!==null))for(Ru(e,n,t),e=e.sibling;e!==null;)Ru(e,n,t),e=e.sibling}function Ou(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ou(e,n,t),e=e.sibling;e!==null;)Ou(e,n,t),e=e.sibling}var J=null,ze=!1;function Xe(e,n,t){for(t=t.child;t!==null;)Aa(e,n,t),t=t.sibling}function Aa(e,n,t){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(el,t)}catch{}switch(t.tag){case 5:te||Hn(t,n);case 6:var r=J,l=ze;J=null,Xe(e,n,t),J=r,ze=l,J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):J.removeChild(t.stateNode));break;case 18:J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?Il(e.parentNode,t):e.nodeType===1&&Il(e,t),Dt(e)):Il(J,t.stateNode));break;case 4:r=J,l=ze,J=t.stateNode.containerInfo,ze=!0,Xe(e,n,t),J=r,ze=l;break;case 0:case 11:case 14:case 15:if(!te&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var u=l,o=u.destroy;u=u.tag,o!==void 0&&(u&2||u&4)&&Tu(t,n,o),l=l.next}while(l!==r)}Xe(e,n,t);break;case 1:if(!te&&(Hn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(i){V(t,n,i)}Xe(e,n,t);break;case 21:Xe(e,n,t);break;case 22:t.mode&1?(te=(r=te)||t.memoizedState!==null,Xe(e,n,t),te=r):Xe(e,n,t);break;default:Xe(e,n,t)}}function Mi(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new ad),n.forEach(function(r){var l=wd.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function Pe(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=o),r&=~u}if(r=l,r=W()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dd(r/1960))-r,10e?16:e,en===null)var r=!1;else{if(e=en,en=null,Zr=0,R&6)throw Error(y(331));var l=R;for(R|=4,S=e.current;S!==null;){var u=S,o=u.child;if(S.flags&16){var i=u.deletions;if(i!==null){for(var s=0;sW()-Co?En(e,0):Eo|=t),de(e,n)}function Xa(e,n){n===0&&(e.mode&1?(n=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):n=1);var t=ue();e=Qe(e,n),e!==null&&(Xt(e,n,t),de(e,t))}function gd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),Xa(e,t)}function wd(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),Xa(e,t)}var Ga;Ga=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||ce.current)ae=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return ae=!1,od(e,n,t);ae=!!(e.flags&131072)}else ae=!1,j&&n.flags&1048576&&qs(n,Vr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;xr(e,n),e=n.pendingProps;var l=qn(n,re.current);Gn(n,t),l=ho(null,n,r,e,l,t);var u=yo();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,fe(r)?(u=!0,$r(n)):u=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,co(n),l.updater=ol,n.stateNode=l,l._reactInternals=n,Eu(n,r,e,t),n=xu(null,n,r,!0,u,t)):(n.tag=0,j&&u&&ro(n),le(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(xr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Sd(r),e=Ne(r,e),l){case 0:n=_u(null,n,r,e,t);break e;case 1:n=zi(null,n,r,e,t);break e;case 11:n=Pi(null,n,r,e,t);break e;case 14:n=Ni(null,n,r,Ne(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),_u(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),zi(e,n,r,l,t);case 3:e:{if(Oa(n),e===null)throw Error(y(387));r=n.pendingProps,u=n.memoizedState,l=u.element,ta(e,n),Wr(n,r,null,t);var o=n.memoizedState;if(r=o.element,u.isDehydrated)if(u={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},n.updateQueue.baseState=u,n.memoizedState=u,n.flags&256){l=tt(Error(y(423)),n),n=Ti(e,n,r,t,l);break e}else if(r!==l){l=tt(Error(y(424)),n),n=Ti(e,n,r,t,l);break e}else for(me=ln(n.stateNode.containerInfo.firstChild),ve=n,j=!0,Te=null,t=oa(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(bn(),r===l){n=Ke(e,n,t);break e}le(e,n,r,t)}n=n.child}return n;case 5:return ia(n),e===null&&wu(n),r=n.type,l=n.pendingProps,u=e!==null?e.memoizedProps:null,o=l.children,mu(r,l)?o=null:u!==null&&mu(r,u)&&(n.flags|=32),Ra(e,n),le(e,n,o,t),n.child;case 6:return e===null&&wu(n),null;case 13:return Ma(e,n,t);case 4:return fo(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=et(n,null,r,t):le(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),Pi(e,n,r,l,t);case 7:return le(e,n,n.pendingProps,t),n.child;case 8:return le(e,n,n.pendingProps.children,t),n.child;case 12:return le(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,u=n.memoizedProps,o=l.value,M(Br,r._currentValue),r._currentValue=o,u!==null)if(Oe(u.value,o)){if(u.children===l.children&&!ce.current){n=Ke(e,n,t);break e}}else for(u=n.child,u!==null&&(u.return=n);u!==null;){var i=u.dependencies;if(i!==null){o=u.child;for(var s=i.firstContext;s!==null;){if(s.context===r){if(u.tag===1){s=Be(-1,t&-t),s.tag=2;var c=u.updateQueue;if(c!==null){c=c.shared;var v=c.pending;v===null?s.next=s:(s.next=v.next,v.next=s),c.pending=s}}u.lanes|=t,s=u.alternate,s!==null&&(s.lanes|=t),ku(u.return,t,n),i.lanes|=t;break}s=s.next}}else if(u.tag===10)o=u.type===n.type?null:u.child;else if(u.tag===18){if(o=u.return,o===null)throw Error(y(341));o.lanes|=t,i=o.alternate,i!==null&&(i.lanes|=t),ku(o,t,n),o=u.sibling}else o=u.child;if(o!==null)o.return=u;else for(o=u;o!==null;){if(o===n){o=null;break}if(u=o.sibling,u!==null){u.return=o.return,o=u;break}o=o.return}u=o}le(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Gn(n,t),l=Ce(l),r=r(l),n.flags|=1,le(e,n,r,t),n.child;case 14:return r=n.type,l=Ne(r,n.pendingProps),l=Ne(r.type,l),Ni(e,n,r,l,t);case 15:return Ta(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Ne(r,l),xr(e,n),n.tag=1,fe(r)?(e=!0,$r(n)):e=!1,Gn(n,t),la(n,r,l),Eu(n,r,l,t),xu(null,n,r,!0,e,t);case 19:return Ia(e,n,t);case 22:return La(e,n,t)}throw Error(y(156,n.tag))};function Za(e,n){return Es(e,n)}function kd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Se(e,n,t,r){return new kd(e,n,t,r)}function No(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sd(e){if(typeof e=="function")return No(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qu)return 11;if(e===Ku)return 14}return 2}function an(e,n){var t=e.alternate;return t===null?(t=Se(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function zr(e,n,t,r,l,u){var o=2;if(r=e,typeof e=="function")No(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case In:return Cn(t.children,l,u,n);case Wu:o=8,l|=8;break;case Kl:return e=Se(12,t,n,l|2),e.elementType=Kl,e.lanes=u,e;case Yl:return e=Se(13,t,n,l),e.elementType=Yl,e.lanes=u,e;case Xl:return e=Se(19,t,n,l),e.elementType=Xl,e.lanes=u,e;case us:return cl(t,l,u,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rs:o=10;break e;case ls:o=9;break e;case Qu:o=11;break e;case Ku:o=14;break e;case Ge:o=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=Se(o,t,n,l),n.elementType=e,n.type=r,n.lanes=u,n}function Cn(e,n,t,r){return e=Se(7,e,r,n),e.lanes=t,e}function cl(e,n,t,r){return e=Se(22,e,r,n),e.elementType=us,e.lanes=t,e.stateNode={isHidden:!1},e}function Bl(e,n,t){return e=Se(6,e,null,n),e.lanes=t,e}function Hl(e,n,t){return n=Se(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ed(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function zo(e,n,t,r,l,u,o,i,s){return e=new Ed(e,n,t,i,s),n===1?(n=1,u===!0&&(n|=8)):n=0,u=Se(3,null,null,n),e.current=u,u.stateNode=e,u.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},co(u),e}function Cd(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ec)}catch(e){console.error(e)}}ec(),qi.exports=ye;var zd=qi.exports,nc,Vi=zd;nc=Vi.createRoot,Vi.hydrateRoot;function Td(e,n){const t=new Map([...e.entries()]);if(t.has(n.traceId)){const r=t.get(n.traceId);r==null||r.push(n)}else t.set(n.traceId,[n]);return t}function Ld(){const[e,n]=On.useState(new Map);return On.useEffect(()=>{chrome.runtime.onMessage.addListener(t=>{n(r=>r.set(`chromeApiRequestData: ${t.type}, startTime ${t.startTime}`,t))})},[]),On.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",r=>{try{console.log(r.data),n(l=>Td(l,JSON.parse(r.data)))}catch(l){console.log("failed",l)}})},[]),On.useEffect(()=>{console.log(e)},[e]),Wl.jsx(Wl.Fragment,{})}const Rd=document.getElementById("root"),Od=nc(Rd);console.log("panel/index.jsx reached");Od.render(Wl.jsx(Ld,{})); +`+u.stack}return{value:e,source:n,stack:l,digest:null}}function Al(e,n,t){return{value:e,source:null,stack:t??null,digest:n??null}}function Cu(e,n){try{console.error(n.value)}catch(t){setTimeout(function(){throw t})}}var rd=typeof WeakMap=="function"?WeakMap:Map;function Pa(e,n,t){t=Be(-1,t),t.tag=3,t.payload={element:null};var r=n.value;return t.callback=function(){Gr||(Gr=!0,Ou=r),Cu(e,n)},t}function za(e,n,t){t=Be(-1,t),t.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var l=n.value;t.payload=function(){return r(l)},t.callback=function(){Cu(e,n)}}var u=e.stateNode;return u!==null&&typeof u.componentDidCatch=="function"&&(t.callback=function(){Cu(e,n),typeof r!="function"&&(on===null?on=new Set([this]):on.add(this));var o=n.stack;this.componentDidCatch(n.value,{componentStack:o!==null?o:""})}),t}function Ci(e,n,t){var r=e.pingCache;if(r===null){r=e.pingCache=new rd;var l=new Set;r.set(n,l)}else l=r.get(n),l===void 0&&(l=new Set,r.set(n,l));l.has(t)||(l.add(t),e=yd.bind(null,e,n,t),n.then(e,e))}function _i(e){do{var n;if((n=e.tag===13)&&(n=e.memoizedState,n=n!==null?n.dehydrated!==null:!0),n)return e;e=e.return}while(e!==null);return null}function xi(e,n,t,r,l){return e.mode&1?(e.flags|=65536,e.lanes=l,e):(e===n?e.flags|=65536:(e.flags|=128,t.flags|=131072,t.flags&=-52805,t.tag===1&&(t.alternate===null?t.tag=17:(n=Be(-1,1),n.tag=2,un(t,n,1))),t.lanes|=1),e)}var ld=Ye.ReactCurrentOwner,ae=!1;function le(e,n,t,r){n.child=e===null?oa(n,null,t,r):et(n,e.child,t,r)}function Ni(e,n,t,r,l){t=t.render;var u=n.ref;return Gn(n,l),r=ho(e,n,t,r,u,l),t=yo(),e!==null&&!ae?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,Ke(e,n,l)):(j&&t&&ro(n),n.flags|=1,le(e,n,r,l),n.child)}function Pi(e,n,t,r,l){if(e===null){var u=t.type;return typeof u=="function"&&!Po(u)&&u.defaultProps===void 0&&t.compare===null&&t.defaultProps===void 0?(n.tag=15,n.type=u,Ta(e,n,u,r,l)):(e=zr(t.type,null,r,n,n.mode,l),e.ref=n.ref,e.return=n,n.child=e)}if(u=e.child,!(e.lanes&l)){var o=u.memoizedProps;if(t=t.compare,t=t!==null?t:jt,t(o,r)&&e.ref===n.ref)return Ke(e,n,l)}return n.flags|=1,e=an(u,r),e.ref=n.ref,e.return=n,n.child=e}function Ta(e,n,t,r,l){if(e!==null){var u=e.memoizedProps;if(jt(u,r)&&e.ref===n.ref)if(ae=!1,n.pendingProps=r=u,(e.lanes&l)!==0)e.flags&131072&&(ae=!0);else return n.lanes=e.lanes,Ke(e,n,l)}return _u(e,n,t,r,l)}function La(e,n,t){var r=n.pendingProps,l=r.children,u=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(n.mode&1))n.memoizedState={baseLanes:0,cachePool:null,transitions:null},O(Wn,pe),pe|=t;else{if(!(t&1073741824))return e=u!==null?u.baseLanes|t:t,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null,transitions:null},n.updateQueue=null,O(Wn,pe),pe|=e,null;n.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=u!==null?u.baseLanes:t,O(Wn,pe),pe|=r}else u!==null?(r=u.baseLanes|t,n.memoizedState=null):r=t,O(Wn,pe),pe|=r;return le(e,n,l,t),n.child}function Ra(e,n){var t=n.ref;(e===null&&t!==null||e!==null&&e.ref!==t)&&(n.flags|=512,n.flags|=2097152)}function _u(e,n,t,r,l){var u=fe(t)?xn:re.current;return u=qn(n,u),Gn(n,l),t=ho(e,n,t,r,u,l),r=yo(),e!==null&&!ae?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,Ke(e,n,l)):(j&&r&&ro(n),n.flags|=1,le(e,n,t,l),n.child)}function zi(e,n,t,r,l){if(fe(t)){var u=!0;$r(n)}else u=!1;if(Gn(n,l),n.stateNode===null)xr(e,n),la(n,t,r),Eu(n,t,r,l),r=!0;else if(e===null){var o=n.stateNode,i=n.memoizedProps;o.props=i;var s=o.context,c=t.contextType;typeof c=="object"&&c!==null?c=Ce(c):(c=fe(t)?xn:re.current,c=qn(n,c));var v=t.getDerivedStateFromProps,m=typeof v=="function"||typeof o.getSnapshotBeforeUpdate=="function";m||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(i!==r||s!==c)&&wi(n,o,r,c),Ze=!1;var p=n.memoizedState;o.state=p,Wr(n,r,o,l),s=n.memoizedState,i!==r||p!==s||ce.current||Ze?(typeof v=="function"&&(Su(n,t,v,r),s=n.memoizedState),(i=Ze||gi(n,t,i,r,p,s,c))?(m||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(n.flags|=4194308)):(typeof o.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=s),o.props=r,o.state=s,o.context=c,r=i):(typeof o.componentDidMount=="function"&&(n.flags|=4194308),r=!1)}else{o=n.stateNode,ta(e,n),i=n.memoizedProps,c=n.type===n.elementType?i:Pe(n.type,i),o.props=c,m=n.pendingProps,p=o.context,s=t.contextType,typeof s=="object"&&s!==null?s=Ce(s):(s=fe(t)?xn:re.current,s=qn(n,s));var g=t.getDerivedStateFromProps;(v=typeof g=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(i!==m||p!==s)&&wi(n,o,r,s),Ze=!1,p=n.memoizedState,o.state=p,Wr(n,r,o,l);var w=n.memoizedState;i!==m||p!==w||ce.current||Ze?(typeof g=="function"&&(Su(n,t,g,r),w=n.memoizedState),(c=Ze||gi(n,t,c,r,p,w,s)||!1)?(v||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,w,s),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,w,s)),typeof o.componentDidUpdate=="function"&&(n.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof o.componentDidUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=w),o.props=r,o.state=w,o.context=s,r=c):(typeof o.componentDidUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&p===e.memoizedState||(n.flags|=1024),r=!1)}return xu(e,n,t,r,u,l)}function xu(e,n,t,r,l,u){Ra(e,n);var o=(n.flags&128)!==0;if(!r&&!o)return l&&pi(n,t,!1),Ke(e,n,u);r=n.stateNode,ld.current=n;var i=o&&typeof t.getDerivedStateFromError!="function"?null:r.render();return n.flags|=1,e!==null&&o?(n.child=et(n,e.child,null,u),n.child=et(n,null,i,u)):le(e,n,i,u),n.memoizedState=r.state,l&&pi(n,t,!0),n.child}function Ma(e){var n=e.stateNode;n.pendingContext?di(e,n.pendingContext,n.pendingContext!==n.context):n.context&&di(e,n.context,!1),fo(e,n.containerInfo)}function Ti(e,n,t,r,l){return bn(),uo(l),n.flags|=256,le(e,n,t,r),n.child}var Nu={dehydrated:null,treeContext:null,retryLane:0};function Pu(e){return{baseLanes:e,cachePool:null,transitions:null}}function Oa(e,n,t){var r=n.pendingProps,l=U.current,u=!1,o=(n.flags&128)!==0,i;if((i=o)||(i=e!==null&&e.memoizedState===null?!1:(l&2)!==0),i?(u=!0,n.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),O(U,l&1),e===null)return wu(n),e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(n.mode&1?e.data==="$!"?n.lanes=8:n.lanes=1073741824:n.lanes=1,null):(o=r.children,e=r.fallback,u?(r=n.mode,u=n.child,o={mode:"hidden",children:o},!(r&1)&&u!==null?(u.childLanes=0,u.pendingProps=o):u=cl(o,r,0,null),e=_n(e,r,t,null),u.return=n,e.return=n,u.sibling=e,n.child=u,n.child.memoizedState=Pu(t),n.memoizedState=Nu,e):ko(n,o));if(l=e.memoizedState,l!==null&&(i=l.dehydrated,i!==null))return ud(e,n,o,r,i,l,t);if(u){u=r.fallback,o=n.mode,l=e.child,i=l.sibling;var s={mode:"hidden",children:r.children};return!(o&1)&&n.child!==l?(r=n.child,r.childLanes=0,r.pendingProps=s,n.deletions=null):(r=an(l,s),r.subtreeFlags=l.subtreeFlags&14680064),i!==null?u=an(i,u):(u=_n(u,o,t,null),u.flags|=2),u.return=n,r.return=n,r.sibling=u,n.child=r,r=u,u=n.child,o=e.child.memoizedState,o=o===null?Pu(t):{baseLanes:o.baseLanes|t,cachePool:null,transitions:o.transitions},u.memoizedState=o,u.childLanes=e.childLanes&~t,n.memoizedState=Nu,r}return u=e.child,e=u.sibling,r=an(u,{mode:"visible",children:r.children}),!(n.mode&1)&&(r.lanes=t),r.return=n,r.sibling=null,e!==null&&(t=n.deletions,t===null?(n.deletions=[e],n.flags|=16):t.push(e)),n.child=r,n.memoizedState=null,r}function ko(e,n){return n=cl({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function pr(e,n,t,r){return r!==null&&uo(r),et(n,e.child,null,t),e=ko(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function ud(e,n,t,r,l,u,o){if(t)return n.flags&256?(n.flags&=-257,r=Al(Error(y(422))),pr(e,n,o,r)):n.memoizedState!==null?(n.child=e.child,n.flags|=128,null):(u=r.fallback,l=n.mode,r=cl({mode:"visible",children:r.children},l,0,null),u=_n(u,l,o,null),u.flags|=2,r.return=n,u.return=n,r.sibling=u,n.child=r,n.mode&1&&et(n,e.child,null,o),n.child.memoizedState=Pu(o),n.memoizedState=Nu,u);if(!(n.mode&1))return pr(e,n,o,null);if(l.data==="$!"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var i=r.dgst;return r=i,u=Error(y(419)),r=Al(u,r,void 0),pr(e,n,o,r)}if(i=(o&e.childLanes)!==0,ae||i){if(r=Z,r!==null){switch(o&-o){case 4:l=2;break;case 16:l=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:l=32;break;case 536870912:l=268435456;break;default:l=0}l=l&(r.suspendedLanes|o)?0:l,l!==0&&l!==u.retryLane&&(u.retryLane=l,Qe(e,l),Re(r,e,l,-1))}return No(),r=Al(Error(y(421))),pr(e,n,o,r)}return l.data==="$?"?(n.flags|=128,n.child=e.child,n=gd.bind(null,e),l._reactRetry=n,null):(e=u.treeContext,me=ln(l.nextSibling),ve=n,j=!0,Te=null,e!==null&&(we[ke++]=Ae,we[ke++]=Ve,we[ke++]=Nn,Ae=e.id,Ve=e.overflow,Nn=n),n=ko(n,r.children),n.flags|=4096,n)}function Li(e,n,t){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n),ku(e.return,n,t)}function Vl(e,n,t,r,l){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:t,tailMode:l}:(u.isBackwards=n,u.rendering=null,u.renderingStartTime=0,u.last=r,u.tail=t,u.tailMode=l)}function Da(e,n,t){var r=n.pendingProps,l=r.revealOrder,u=r.tail;if(le(e,n,r.children,t),r=U.current,r&2)r=r&1|2,n.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Li(e,t,n);else if(e.tag===19)Li(e,t,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(O(U,r),!(n.mode&1))n.memoizedState=null;else switch(l){case"forwards":for(t=n.child,l=null;t!==null;)e=t.alternate,e!==null&&Qr(e)===null&&(l=t),t=t.sibling;t=l,t===null?(l=n.child,n.child=null):(l=t.sibling,t.sibling=null),Vl(n,!1,l,t,u);break;case"backwards":for(t=null,l=n.child,n.child=null;l!==null;){if(e=l.alternate,e!==null&&Qr(e)===null){n.child=l;break}e=l.sibling,l.sibling=t,t=l,l=e}Vl(n,!0,t,null,u);break;case"together":Vl(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function xr(e,n){!(n.mode&1)&&e!==null&&(e.alternate=null,n.alternate=null,n.flags|=2)}function Ke(e,n,t){if(e!==null&&(n.dependencies=e.dependencies),zn|=n.lanes,!(t&n.childLanes))return null;if(e!==null&&n.child!==e.child)throw Error(y(153));if(n.child!==null){for(e=n.child,t=an(e,e.pendingProps),n.child=t,t.return=n;e.sibling!==null;)e=e.sibling,t=t.sibling=an(e,e.pendingProps),t.return=n;t.sibling=null}return n.child}function od(e,n,t){switch(n.tag){case 3:Ma(n),bn();break;case 5:ia(n);break;case 1:fe(n.type)&&$r(n);break;case 4:fo(n,n.stateNode.containerInfo);break;case 10:var r=n.type._context,l=n.memoizedProps.value;O(Br,r._currentValue),r._currentValue=l;break;case 13:if(r=n.memoizedState,r!==null)return r.dehydrated!==null?(O(U,U.current&1),n.flags|=128,null):t&n.child.childLanes?Oa(e,n,t):(O(U,U.current&1),e=Ke(e,n,t),e!==null?e.sibling:null);O(U,U.current&1);break;case 19:if(r=(t&n.childLanes)!==0,e.flags&128){if(r)return Da(e,n,t);n.flags|=128}if(l=n.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),O(U,U.current),r)break;return null;case 22:case 23:return n.lanes=0,La(e,n,t)}return Ke(e,n,t)}var Ia,zu,Fa,ja;Ia=function(e,n){for(var t=n.child;t!==null;){if(t.tag===5||t.tag===6)e.appendChild(t.stateNode);else if(t.tag!==4&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===n)break;for(;t.sibling===null;){if(t.return===null||t.return===n)return;t=t.return}t.sibling.return=t.return,t=t.sibling}};zu=function(){};Fa=function(e,n,t,r){var l=e.memoizedProps;if(l!==r){e=n.stateNode,En(je.current);var u=null;switch(t){case"input":l=Zl(e,l),r=Zl(e,r),u=[];break;case"select":l=A({},l,{value:void 0}),r=A({},r,{value:void 0}),u=[];break;case"textarea":l=bl(e,l),r=bl(e,r),u=[];break;default:typeof l.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=jr)}nu(t,r);var o;t=null;for(c in l)if(!r.hasOwnProperty(c)&&l.hasOwnProperty(c)&&l[c]!=null)if(c==="style"){var i=l[c];for(o in i)i.hasOwnProperty(o)&&(t||(t={}),t[o]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(Lt.hasOwnProperty(c)?u||(u=[]):(u=u||[]).push(c,null));for(c in r){var s=r[c];if(i=l!=null?l[c]:void 0,r.hasOwnProperty(c)&&s!==i&&(s!=null||i!=null))if(c==="style")if(i){for(o in i)!i.hasOwnProperty(o)||s&&s.hasOwnProperty(o)||(t||(t={}),t[o]="");for(o in s)s.hasOwnProperty(o)&&i[o]!==s[o]&&(t||(t={}),t[o]=s[o])}else t||(u||(u=[]),u.push(c,t)),t=s;else c==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,i=i?i.__html:void 0,s!=null&&i!==s&&(u=u||[]).push(c,s)):c==="children"?typeof s!="string"&&typeof s!="number"||(u=u||[]).push(c,""+s):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(Lt.hasOwnProperty(c)?(s!=null&&c==="onScroll"&&D("scroll",e),u||i===s||(u=[])):(u=u||[]).push(c,s))}t&&(u=u||[]).push("style",t);var c=u;(n.updateQueue=c)&&(n.flags|=4)}};ja=function(e,n,t,r){t!==r&&(n.flags|=4)};function vt(e,n){if(!j)switch(e.tailMode){case"hidden":n=e.tail;for(var t=null;n!==null;)n.alternate!==null&&(t=n),n=n.sibling;t===null?e.tail=null:t.sibling=null;break;case"collapsed":t=e.tail;for(var r=null;t!==null;)t.alternate!==null&&(r=t),t=t.sibling;r===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ne(e){var n=e.alternate!==null&&e.alternate.child===e.child,t=0,r=0;if(n)for(var l=e.child;l!==null;)t|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)t|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=t,n}function id(e,n,t){var r=n.pendingProps;switch(lo(n),n.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ne(n),null;case 1:return fe(n.type)&&Ur(),ne(n),null;case 3:return r=n.stateNode,nt(),I(ce),I(re),mo(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(fr(n)?n.flags|=4:e===null||e.memoizedState.isDehydrated&&!(n.flags&256)||(n.flags|=1024,Te!==null&&(Fu(Te),Te=null))),zu(e,n),ne(n),null;case 5:po(n);var l=En(Bt.current);if(t=n.type,e!==null&&n.stateNode!=null)Fa(e,n,t,r,l),e.ref!==n.ref&&(n.flags|=512,n.flags|=2097152);else{if(!r){if(n.stateNode===null)throw Error(y(166));return ne(n),null}if(e=En(je.current),fr(n)){r=n.stateNode,t=n.type;var u=n.memoizedProps;switch(r[Ie]=n,r[At]=u,e=(n.mode&1)!==0,t){case"dialog":D("cancel",r),D("close",r);break;case"iframe":case"object":case"embed":D("load",r);break;case"video":case"audio":for(l=0;l<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(t,{is:r.is}):(e=o.createElement(t),t==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,t),e[Ie]=n,e[At]=r,Ia(e,n,!1,!1),n.stateNode=e;e:{switch(o=tu(t,r),t){case"dialog":D("cancel",e),D("close",e),l=r;break;case"iframe":case"object":case"embed":D("load",e),l=r;break;case"video":case"audio":for(l=0;lrt&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304)}else{if(!r)if(e=Qr(o),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),vt(u,!0),u.tail===null&&u.tailMode==="hidden"&&!o.alternate&&!j)return ne(n),null}else 2*W()-u.renderingStartTime>rt&&t!==1073741824&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304);u.isBackwards?(o.sibling=n.child,n.child=o):(t=u.last,t!==null?t.sibling=o:n.child=o,u.last=o)}return u.tail!==null?(n=u.tail,u.rendering=n,u.tail=n.sibling,u.renderingStartTime=W(),n.sibling=null,t=U.current,O(U,r?t&1|2:t&1),n):(ne(n),null);case 22:case 23:return xo(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?pe&1073741824&&(ne(n),n.subtreeFlags&6&&(n.flags|=8192)):ne(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function sd(e,n){switch(lo(n),n.tag){case 1:return fe(n.type)&&Ur(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return nt(),I(ce),I(re),mo(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return po(n),null;case 13:if(I(U),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));bn()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return I(U),null;case 4:return nt(),null;case 10:return so(n.type._context),null;case 22:case 23:return xo(),null;case 24:return null;default:return null}}var mr=!1,te=!1,ad=typeof WeakSet=="function"?WeakSet:Set,S=null;function Hn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){V(e,n,r)}else t.current=null}function Tu(e,n,t){try{t()}catch(r){V(e,n,r)}}var Ri=!1;function cd(e,n){if(du=Dr,e=Vs(),to(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,u=r.focusNode;r=r.focusOffset;try{t.nodeType,u.nodeType}catch{t=null;break e}var o=0,i=-1,s=-1,c=0,v=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(i=o+l),m!==u||r!==0&&m.nodeType!==3||(s=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(i=o),p===u&&++v===r&&(s=o),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=i===-1||s===-1?null:{start:i,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(pu={focusedElem:e,selectionRange:t},Dr=!1,S=n;S!==null;)if(n=S,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,S=e;else for(;S!==null;){n=S;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,F=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?k:Pe(n.type,k),F);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){V(n,n.return,h)}if(e=n.sibling,e!==null){e.return=n.return,S=e;break}S=n.return}return w=Ri,Ri=!1,w}function Pt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var u=l.destroy;l.destroy=void 0,u!==void 0&&Tu(n,t,u)}l=l.next}while(l!==r)}}function sl(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Lu(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Ua(e){var n=e.alternate;n!==null&&(e.alternate=null,Ua(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Ie],delete n[At],delete n[hu],delete n[Kf],delete n[Yf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $a(e){return e.tag===5||e.tag===3||e.tag===4}function Mi(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$a(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ru(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=jr));else if(r!==4&&(e=e.child,e!==null))for(Ru(e,n,t),e=e.sibling;e!==null;)Ru(e,n,t),e=e.sibling}function Mu(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Mu(e,n,t),e=e.sibling;e!==null;)Mu(e,n,t),e=e.sibling}var J=null,ze=!1;function Xe(e,n,t){for(t=t.child;t!==null;)Aa(e,n,t),t=t.sibling}function Aa(e,n,t){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(el,t)}catch{}switch(t.tag){case 5:te||Hn(t,n);case 6:var r=J,l=ze;J=null,Xe(e,n,t),J=r,ze=l,J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):J.removeChild(t.stateNode));break;case 18:J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?Dl(e.parentNode,t):e.nodeType===1&&Dl(e,t),It(e)):Dl(J,t.stateNode));break;case 4:r=J,l=ze,J=t.stateNode.containerInfo,ze=!0,Xe(e,n,t),J=r,ze=l;break;case 0:case 11:case 14:case 15:if(!te&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var u=l,o=u.destroy;u=u.tag,o!==void 0&&(u&2||u&4)&&Tu(t,n,o),l=l.next}while(l!==r)}Xe(e,n,t);break;case 1:if(!te&&(Hn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(i){V(t,n,i)}Xe(e,n,t);break;case 21:Xe(e,n,t);break;case 22:t.mode&1?(te=(r=te)||t.memoizedState!==null,Xe(e,n,t),te=r):Xe(e,n,t);break;default:Xe(e,n,t)}}function Oi(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new ad),n.forEach(function(r){var l=wd.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function Ne(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=o),r&=~u}if(r=l,r=W()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dd(r/1960))-r,10e?16:e,en===null)var r=!1;else{if(e=en,en=null,Zr=0,R&6)throw Error(y(331));var l=R;for(R|=4,S=e.current;S!==null;){var u=S,o=u.child;if(S.flags&16){var i=u.deletions;if(i!==null){for(var s=0;sW()-Co?Cn(e,0):Eo|=t),de(e,n)}function Xa(e,n){n===0&&(e.mode&1?(n=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):n=1);var t=ue();e=Qe(e,n),e!==null&&(Xt(e,n,t),de(e,t))}function gd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),Xa(e,t)}function wd(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),Xa(e,t)}var Ga;Ga=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||ce.current)ae=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return ae=!1,od(e,n,t);ae=!!(e.flags&131072)}else ae=!1,j&&n.flags&1048576&&qs(n,Vr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;xr(e,n),e=n.pendingProps;var l=qn(n,re.current);Gn(n,t),l=ho(null,n,r,e,l,t);var u=yo();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,fe(r)?(u=!0,$r(n)):u=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,co(n),l.updater=ol,n.stateNode=l,l._reactInternals=n,Eu(n,r,e,t),n=xu(null,n,r,!0,u,t)):(n.tag=0,j&&u&&ro(n),le(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(xr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Sd(r),e=Pe(r,e),l){case 0:n=_u(null,n,r,e,t);break e;case 1:n=zi(null,n,r,e,t);break e;case 11:n=Ni(null,n,r,e,t);break e;case 14:n=Pi(null,n,r,Pe(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),_u(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),zi(e,n,r,l,t);case 3:e:{if(Ma(n),e===null)throw Error(y(387));r=n.pendingProps,u=n.memoizedState,l=u.element,ta(e,n),Wr(n,r,null,t);var o=n.memoizedState;if(r=o.element,u.isDehydrated)if(u={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},n.updateQueue.baseState=u,n.memoizedState=u,n.flags&256){l=tt(Error(y(423)),n),n=Ti(e,n,r,t,l);break e}else if(r!==l){l=tt(Error(y(424)),n),n=Ti(e,n,r,t,l);break e}else for(me=ln(n.stateNode.containerInfo.firstChild),ve=n,j=!0,Te=null,t=oa(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(bn(),r===l){n=Ke(e,n,t);break e}le(e,n,r,t)}n=n.child}return n;case 5:return ia(n),e===null&&wu(n),r=n.type,l=n.pendingProps,u=e!==null?e.memoizedProps:null,o=l.children,mu(r,l)?o=null:u!==null&&mu(r,u)&&(n.flags|=32),Ra(e,n),le(e,n,o,t),n.child;case 6:return e===null&&wu(n),null;case 13:return Oa(e,n,t);case 4:return fo(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=et(n,null,r,t):le(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),Ni(e,n,r,l,t);case 7:return le(e,n,n.pendingProps,t),n.child;case 8:return le(e,n,n.pendingProps.children,t),n.child;case 12:return le(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,u=n.memoizedProps,o=l.value,O(Br,r._currentValue),r._currentValue=o,u!==null)if(Me(u.value,o)){if(u.children===l.children&&!ce.current){n=Ke(e,n,t);break e}}else for(u=n.child,u!==null&&(u.return=n);u!==null;){var i=u.dependencies;if(i!==null){o=u.child;for(var s=i.firstContext;s!==null;){if(s.context===r){if(u.tag===1){s=Be(-1,t&-t),s.tag=2;var c=u.updateQueue;if(c!==null){c=c.shared;var v=c.pending;v===null?s.next=s:(s.next=v.next,v.next=s),c.pending=s}}u.lanes|=t,s=u.alternate,s!==null&&(s.lanes|=t),ku(u.return,t,n),i.lanes|=t;break}s=s.next}}else if(u.tag===10)o=u.type===n.type?null:u.child;else if(u.tag===18){if(o=u.return,o===null)throw Error(y(341));o.lanes|=t,i=o.alternate,i!==null&&(i.lanes|=t),ku(o,t,n),o=u.sibling}else o=u.child;if(o!==null)o.return=u;else for(o=u;o!==null;){if(o===n){o=null;break}if(u=o.sibling,u!==null){u.return=o.return,o=u;break}o=o.return}u=o}le(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Gn(n,t),l=Ce(l),r=r(l),n.flags|=1,le(e,n,r,t),n.child;case 14:return r=n.type,l=Pe(r,n.pendingProps),l=Pe(r.type,l),Pi(e,n,r,l,t);case 15:return Ta(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),xr(e,n),n.tag=1,fe(r)?(e=!0,$r(n)):e=!1,Gn(n,t),la(n,r,l),Eu(n,r,l,t),xu(null,n,r,!0,e,t);case 19:return Da(e,n,t);case 22:return La(e,n,t)}throw Error(y(156,n.tag))};function Za(e,n){return Es(e,n)}function kd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Se(e,n,t,r){return new kd(e,n,t,r)}function Po(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sd(e){if(typeof e=="function")return Po(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qu)return 11;if(e===Ku)return 14}return 2}function an(e,n){var t=e.alternate;return t===null?(t=Se(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function zr(e,n,t,r,l,u){var o=2;if(r=e,typeof e=="function")Po(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Dn:return _n(t.children,l,u,n);case Wu:o=8,l|=8;break;case Kl:return e=Se(12,t,n,l|2),e.elementType=Kl,e.lanes=u,e;case Yl:return e=Se(13,t,n,l),e.elementType=Yl,e.lanes=u,e;case Xl:return e=Se(19,t,n,l),e.elementType=Xl,e.lanes=u,e;case us:return cl(t,l,u,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rs:o=10;break e;case ls:o=9;break e;case Qu:o=11;break e;case Ku:o=14;break e;case Ge:o=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=Se(o,t,n,l),n.elementType=e,n.type=r,n.lanes=u,n}function _n(e,n,t,r){return e=Se(7,e,r,n),e.lanes=t,e}function cl(e,n,t,r){return e=Se(22,e,r,n),e.elementType=us,e.lanes=t,e.stateNode={isHidden:!1},e}function Bl(e,n,t){return e=Se(6,e,null,n),e.lanes=t,e}function Hl(e,n,t){return n=Se(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ed(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function zo(e,n,t,r,l,u,o,i,s){return e=new Ed(e,n,t,i,s),n===1?(n=1,u===!0&&(n|=8)):n=0,u=Se(3,null,null,n),e.current=u,u.stateNode=e,u.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},co(u),e}function Cd(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ec)}catch(e){console.error(e)}}ec(),qi.exports=ye;var zd=qi.exports,nc,Vi=zd;nc=Vi.createRoot,Vi.hydrateRoot;function Td(e,n){if(!("method"in n)||n.method==="")return;const{name:t,method:r,traceId:l}=n;t.startsWith("/?key=")||e(u=>{const o=new Map([...u.entries()]),i=`${r}, ${t}, ${l}`;if(o.has(i)){const s=o.get(n.traceId);s==null||s.push(n)}else o.set(i,[n]);return o})}function Ld(){wn.useState(new Map);const[e,n]=wn.useState(new Map);return wn.useEffect(()=>{chrome.runtime.onMessage.addListener(t=>{console.log(`chromeApiRequestData: ${t.type}, startTime ${t.startTime}`,t)})},[]),wn.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",r=>{try{console.log(r.data),Td(n,JSON.parse(r.data))}catch(l){console.log("failed",l)}})},[]),wn.useEffect(()=>{console.log(e)},[e]),Wl.jsx(Wl.Fragment,{})}const Rd=document.getElementById("root"),Md=nc(Rd);console.log("panel/index.jsx reached");Md.render(Wl.jsx(Ld,{})); diff --git a/chrome-extension/dist/src/pages/devtools/index.html b/chrome-extension/dist/src/pages/devtools/index.html index 81c0dff..3f42b0a 100644 --- a/chrome-extension/dist/src/pages/devtools/index.html +++ b/chrome-extension/dist/src/pages/devtools/index.html @@ -2,7 +2,7 @@ - + diff --git a/chrome-extension/dist/src/pages/panel/index.html b/chrome-extension/dist/src/pages/panel/index.html index 9cad52b..a1d4f64 100644 --- a/chrome-extension/dist/src/pages/panel/index.html +++ b/chrome-extension/dist/src/pages/panel/index.html @@ -2,7 +2,7 @@ - + diff --git a/chrome-extension/src/pages/app/app.tsx b/chrome-extension/src/pages/app/app.tsx index 9476b67..fadd3ba 100644 --- a/chrome-extension/src/pages/app/app.tsx +++ b/chrome-extension/src/pages/app/app.tsx @@ -3,16 +3,18 @@ import './App.css' import NetworkTable from './components/NetworkTable.tsx' import WaterfallChart from './components/WaterfallGraph.tsx'; import checkTraceId from './functions/checkTraceId.ts' -import { OtelData, IAggregatedData} from '../../types/types.ts'; +import { OtelData, IAggregatedData, IRelevantData} from '../../types/types.ts'; +import isRelevantData from './functions/isRelevantData.ts'; function App() { // const [traceIdData, setTraceIdData] = useState(new Map()); const [aggregatedData, setAggregatedData] = useState(new Map()); + const [relevantData, setRelevantData] = useState(new Map()); useEffect(() => { chrome.runtime.onMessage.addListener((message) => { - setAggregatedData(prevAggregatedData => prevAggregatedData.set(`chromeApiRequestData: ${message.type}, startTime ${message.startTime}`, message)) - + // setAggregatedData(prevAggregatedData => prevAggregatedData.set(`chromeApiRequestData: ${message.type}, startTime ${message.startTime}`, message)) + console.log(`chromeApiRequestData: ${message.type}, startTime ${message.startTime}`, message); }) }, []); @@ -23,7 +25,9 @@ function App() { try { console.log(e.data); // setNetworkRequests(prevNetworkRequests => [...prevNetworkRequests, JSON.parse(e.data)]); - setAggregatedData(prevAggregatedData => checkTraceId(prevAggregatedData, JSON.parse(e.data))) + // setAggregatedData(prevAggregatedData => checkTraceId(prevAggregatedData, JSON.parse(e.data))) + isRelevantData(setRelevantData, JSON.parse(e.data)) + // setRelevantData(prevRelevantData => isRelevantData(prevRelevantData, JSON.parse(e.data))); } catch (err) { console.log('failed', err); } @@ -31,9 +35,13 @@ function App() { }, []); + // useEffect(() => { + // console.log(aggregatedData); + // }, [aggregatedData]); + useEffect(() => { - console.log(aggregatedData); - }, [aggregatedData]); + console.log(relevantData); + }, [relevantData]); return ( <> diff --git a/chrome-extension/src/pages/app/functions/isRelevantData.ts b/chrome-extension/src/pages/app/functions/isRelevantData.ts new file mode 100644 index 0000000..3cb2b4d --- /dev/null +++ b/chrome-extension/src/pages/app/functions/isRelevantData.ts @@ -0,0 +1,40 @@ +import { IRelevantData, OtelData, ISetRelevantDataState } from '../../../types/types'; + + +export default function isRelevantData(setRelevantData:ISetRelevantDataState, incomingSpanData: OtelData): void | IRelevantData { + // if there is no method attached, return + if(!('method' in incomingSpanData) || incomingSpanData.method === ""){ + return; + } + + + // destructure name + const {name, method, traceId} = incomingSpanData; + // check if name starts with "/?key=" , return + if (name.startsWith("/?key=")) { + return; + } + + setRelevantData(prevRelevantData => { + const newRelevantData: IRelevantData = new Map([...prevRelevantData.entries()]); + + const newKeyName: string = `${method}, ${name}, ${traceId}`; + + if(newRelevantData.has(newKeyName)){ + const existingData = newRelevantData.get(incomingSpanData.traceId); + existingData?.push(incomingSpanData); + }else{ + newRelevantData.set(newKeyName,[incomingSpanData]); + } + return newRelevantData; + + }) + // otherwise setRelevantData, + // create new state and spread out prevRelevant Data + // add as key, the method, the route, and the traceId: and as a value the incoming span + + + + + +} \ No newline at end of file diff --git a/chrome-extension/src/types/types.ts b/chrome-extension/src/types/types.ts index a0d97ea..14d10fb 100644 --- a/chrome-extension/src/types/types.ts +++ b/chrome-extension/src/types/types.ts @@ -1,3 +1,5 @@ +import { Dispatch, SetStateAction } from 'react'; + export interface OtelData { traceId: string, spanId: string, @@ -28,6 +30,13 @@ export type IChromeApiNetworkObject = { export type IAggregatedData = Map; +export type IRelevantData = Map; +// key includes method, name, and traceId as a string + +export type ITraceIdData = Map; + +export type ISetRelevantDataState= Dispatch>; + From a9e9a5cb34e043194dff4dcd94afe1711b0f78fb Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Sun, 2 Jul 2023 16:24:16 -0400 Subject: [PATCH 07/18] rendering table. Issues: repeat data --- .../dist/assets/panel-475bec0a.js | 40 ------ .../dist/assets/panel-53f4e568.js | 40 ++++++ .../dist/src/pages/panel/index.html | 2 +- chrome-extension/src/pages/app/app.tsx | 9 +- .../src/pages/app/components/NetworkTable.tsx | 27 ++-- .../src/pages/app/components/TableRow.tsx | 134 +++++++++++------- .../src/pages/app/functions/isRelevantData.ts | 18 ++- chrome-extension/src/types/types.ts | 4 +- 8 files changed, 159 insertions(+), 115 deletions(-) delete mode 100644 chrome-extension/dist/assets/panel-475bec0a.js create mode 100644 chrome-extension/dist/assets/panel-53f4e568.js diff --git a/chrome-extension/dist/assets/panel-475bec0a.js b/chrome-extension/dist/assets/panel-475bec0a.js deleted file mode 100644 index 8415231..0000000 --- a/chrome-extension/dist/assets/panel-475bec0a.js +++ /dev/null @@ -1,40 +0,0 @@ -import"./modulepreload-polyfill-3cfb730f.js";var Bi={exports:{}},br={},Hi={exports:{}},T={};/** - * @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 Yt=Symbol.for("react.element"),rc=Symbol.for("react.portal"),lc=Symbol.for("react.fragment"),uc=Symbol.for("react.strict_mode"),oc=Symbol.for("react.profiler"),ic=Symbol.for("react.provider"),sc=Symbol.for("react.context"),ac=Symbol.for("react.forward_ref"),cc=Symbol.for("react.suspense"),fc=Symbol.for("react.memo"),dc=Symbol.for("react.lazy"),Oo=Symbol.iterator;function pc(e){return e===null||typeof e!="object"?null:(e=Oo&&e[Oo]||e["@@iterator"],typeof e=="function"?e:null)}var Wi={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Qi=Object.assign,Ki={};function lt(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}lt.prototype.isReactComponent={};lt.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,n,"setState")};lt.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Yi(){}Yi.prototype=lt.prototype;function ju(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}var Uu=ju.prototype=new Yi;Uu.constructor=ju;Qi(Uu,lt.prototype);Uu.isPureReactComponent=!0;var Do=Array.isArray,Xi=Object.prototype.hasOwnProperty,$u={current:null},Gi={key:!0,ref:!0,__self:!0,__source:!0};function Zi(e,n,t){var r,l={},u=null,o=null;if(n!=null)for(r in n.ref!==void 0&&(o=n.ref),n.key!==void 0&&(u=""+n.key),n)Xi.call(n,r)&&!Gi.hasOwnProperty(r)&&(l[r]=n[r]);var i=arguments.length-2;if(i===1)l.children=t;else if(1>>1,X=C[H];if(0>>1;Hl(yl,z))hnl(bt,yl)?(C[H]=bt,C[hn]=z,H=hn):(C[H]=yl,C[vn]=z,H=vn);else if(hnl(bt,z))C[H]=bt,C[hn]=z,H=hn;else break e}}return P}function l(C,P){var z=C.sortIndex-P.sortIndex;return z!==0?z:C.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var o=Date,i=o.now();e.unstable_now=function(){return o.now()-i}}var s=[],c=[],v=1,m=null,p=3,g=!1,w=!1,k=!1,F=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var P=t(c);P!==null;){if(P.callback===null)r(c);else if(P.startTime<=C)r(c),P.sortIndex=P.expirationTime,n(s,P);else break;P=t(c)}}function h(C){if(k=!1,d(C),!w)if(t(s)!==null)w=!0,vl(E);else{var P=t(c);P!==null&&hl(h,P.startTime-C)}}function E(C,P){w=!1,k&&(k=!1,f(N),N=-1),g=!0;var z=p;try{for(d(P),m=t(s);m!==null&&(!(m.expirationTime>P)||C&&!xe());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var X=H(m.expirationTime<=P);P=e.unstable_now(),typeof X=="function"?m.callback=X:m===t(s)&&r(s),d(P)}else r(s);m=t(s)}if(m!==null)var qt=!0;else{var vn=t(c);vn!==null&&hl(h,vn.startTime-P),qt=!1}return qt}finally{m=null,p=z,g=!1}}var _=!1,x=null,N=-1,B=5,L=-1;function xe(){return!(e.unstable_now()-LC||125H?(C.sortIndex=z,n(c,C),t(s)===null&&C===t(c)&&(k?(f(N),N=-1):k=!0,hl(h,z-H))):(C.sortIndex=X,n(s,C),w||g||(w=!0,vl(E))),C},e.unstable_shouldYield=xe,e.unstable_wrapCallback=function(C){var P=p;return function(){var z=p;p=P;try{return C.apply(this,arguments)}finally{p=z}}}})(es);bi.exports=es;var _c=bi.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 ns=wn,he=_c;function y(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ql=Object.prototype.hasOwnProperty,xc=/^[: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]*$/,Fo={},jo={};function Nc(e){return Ql.call(jo,e)?!0:Ql.call(Fo,e)?!1:xc.test(e)?jo[e]=!0:(Fo[e]=!0,!1)}function Pc(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function zc(e,n,t,r){if(n===null||typeof n>"u"||Pc(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function ie(e,n,t,r,l,u,o){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=u,this.removeEmptyString=o}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){b[e]=new ie(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];b[n]=new ie(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){b[e]=new ie(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){b[e]=new ie(e,2,!1,e,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(e){b[e]=new ie(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){b[e]=new ie(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){b[e]=new ie(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){b[e]=new ie(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){b[e]=new ie(e,5,!1,e.toLowerCase(),null,!1,!1)});var Vu=/[\-:]([a-z])/g;function Bu(e){return e[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(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Vu,Bu);b[n]=new ie(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!1,!1)});b.xlinkHref=new ie("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!0,!0)});function Hu(e,n,t,r){var l=b.hasOwnProperty(n)?b[n]:null;(l!==null?l.type!==0:r||!(2i||l[o]!==u[i]){var s=` -`+l[o].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=i);break}}}finally{kl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?yt(e):""}function Tc(e){switch(e.tag){case 5:return yt(e.type);case 16:return yt("Lazy");case 13:return yt("Suspense");case 19:return yt("SuspenseList");case 0:case 2:case 15:return e=Sl(e.type,!1),e;case 11:return e=Sl(e.type.render,!1),e;case 1:return e=Sl(e.type,!0),e;default:return""}}function Gl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Dn:return"Fragment";case On:return"Portal";case Kl:return"Profiler";case Wu:return"StrictMode";case Yl:return"Suspense";case Xl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ls:return(e.displayName||"Context")+".Consumer";case rs:return(e._context.displayName||"Context")+".Provider";case Qu:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ku:return n=e.displayName||null,n!==null?n:Gl(e.type)||"Memo";case Ge:n=e._payload,e=e._init;try{return Gl(e(n))}catch{}}return null}function Lc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gl(n);case 8:return n===Wu?"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 n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function cn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function os(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Rc(e){var n=os(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,u=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,u.call(this,o)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function tr(e){e._valueTracker||(e._valueTracker=Rc(e))}function is(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=os(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Tr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Zl(e,n){var t=n.checked;return A({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function $o(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=cn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function ss(e,n){n=n.checked,n!=null&&Hu(e,"checked",n,!1)}function Jl(e,n){ss(e,n);var t=cn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?ql(e,n.type,t):n.hasOwnProperty("defaultValue")&&ql(e,n.type,cn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Ao(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function ql(e,n,t){(n!=="number"||Tr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var gt=Array.isArray;function Qn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Rt(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var St={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},Mc=["Webkit","ms","Moz","O"];Object.keys(St).forEach(function(e){Mc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),St[n]=St[e]})});function ds(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||St.hasOwnProperty(e)&&St[e]?(""+n).trim():n+"px"}function ps(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=ds(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Oc=A({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 nu(e,n){if(n){if(Oc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function tu(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){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 ru=null;function Yu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var lu=null,Kn=null,Yn=null;function Ho(e){if(e=Zt(e)){if(typeof lu!="function")throw Error(y(280));var n=e.stateNode;n&&(n=ll(n),lu(e.stateNode,e.type,n))}}function ms(e){Kn?Yn?Yn.push(e):Yn=[e]:Kn=e}function vs(){if(Kn){var e=Kn,n=Yn;if(Yn=Kn=null,Ho(e),n)for(e=0;e>>=0,e===0?32:31-(Wc(e)/Qc|0)|0}var lr=64,ur=4194304;function wt(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Or(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,u=e.pingedLanes,o=t&268435455;if(o!==0){var i=o&~l;i!==0?r=wt(i):(u&=o,u!==0&&(r=wt(u)))}else o=t&~l,o!==0?r=wt(o):u!==0&&(r=wt(u));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,u=n&-n,l>=u||l===16&&(u&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Xt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Le(n),e[n]=t}function Gc(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ct),qo=String.fromCharCode(32),bo=!1;function Is(e,n){switch(e){case"keyup":return _f.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var In=!1;function Nf(e,n){switch(e){case"compositionend":return Fs(n);case"keypress":return n.which!==32?null:(bo=!0,qo);case"textInput":return e=n.data,e===qo&&bo?null:e;default:return null}}function Pf(e,n){if(In)return e==="compositionend"||!no&&Is(e,n)?(e=Os(),kr=qu=be=null,In=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=ri(t)}}function As(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?As(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Vs(){for(var e=window,n=Tr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Tr(e.document)}return n}function to(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Ff(e){var n=Vs(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&As(t.ownerDocument.documentElement,t)){if(r!==null&&to(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,u=Math.min(r.start,l);r=r.end===void 0?u:Math.min(r.end,l),!e.extend&&u>r&&(l=r,r=u,u=l),l=li(t,u);var o=li(t,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),u>r?(e.addRange(n),e.extend(o.node,o.offset)):(n.setEnd(o.node,o.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Fn=null,cu=null,xt=null,fu=!1;function ui(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;fu||Fn==null||Fn!==Tr(r)||(r=Fn,"selectionStart"in r&&to(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),xt&&jt(xt,r)||(xt=r,r=Fr(cu,"onSelect"),0$n||(e.current=yu[$n],yu[$n]=null,$n--)}function O(e,n){$n++,yu[$n]=e.current,e.current=n}var fn={},re=pn(fn),ce=pn(!1),xn=fn;function qn(e,n){var t=e.type.contextTypes;if(!t)return fn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},u;for(u in t)l[u]=n[u];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function fe(e){return e=e.childContextTypes,e!=null}function Ur(){I(ce),I(re)}function di(e,n,t){if(re.current!==fn)throw Error(y(168));O(re,n),O(ce,t)}function Zs(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Lc(e)||"Unknown",l));return A({},t,r)}function $r(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||fn,xn=re.current,O(re,e),O(ce,ce.current),!0}function pi(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=Zs(e,n,xn),r.__reactInternalMemoizedMergedChildContext=e,I(ce),I(re),O(re,e)):I(ce),O(ce,t)}var $e=null,ul=!1,Il=!1;function Js(e){$e===null?$e=[e]:$e.push(e)}function Xf(e){ul=!0,Js(e)}function mn(){if(!Il&&$e!==null){Il=!0;var e=0,n=M;try{var t=$e;for(M=1;e>=o,l-=o,Ae=1<<32-Le(n)+l|t<N?(B=x,x=null):B=x.sibling;var L=p(f,x,d[N],h);if(L===null){x===null&&(x=B);break}e&&x&&L.alternate===null&&n(f,x),a=u(L,a,N),_===null?E=L:_.sibling=L,_=L,x=B}if(N===d.length)return t(f,x),j&&yn(f,N),E;if(x===null){for(;NN?(B=x,x=null):B=x.sibling;var xe=p(f,x,L.value,h);if(xe===null){x===null&&(x=B);break}e&&x&&xe.alternate===null&&n(f,x),a=u(xe,a,N),_===null?E=xe:_.sibling=xe,_=xe,x=B}if(L.done)return t(f,x),j&&yn(f,N),E;if(x===null){for(;!L.done;N++,L=d.next())L=m(f,L.value,h),L!==null&&(a=u(L,a,N),_===null?E=L:_.sibling=L,_=L);return j&&yn(f,N),E}for(x=r(f,x);!L.done;N++,L=d.next())L=g(x,f,N,L.value,h),L!==null&&(e&&L.alternate!==null&&x.delete(L.key===null?N:L.key),a=u(L,a,N),_===null?E=L:_.sibling=L,_=L);return e&&x.forEach(function(it){return n(f,it)}),j&&yn(f,N),E}function F(f,a,d,h){if(typeof d=="object"&&d!==null&&d.type===Dn&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case nr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===Dn){if(_.tag===7){t(f,_.sibling),a=l(_,d.props.children),a.return=f,f=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ge&&ki(E)===_.type){t(f,_.sibling),a=l(_,d.props),a.ref=mt(f,_,d),a.return=f,f=a;break e}t(f,_);break}else n(f,_);_=_.sibling}d.type===Dn?(a=_n(d.props.children,f.mode,h,d.key),a.return=f,f=a):(h=zr(d.type,d.key,d.props,null,f.mode,h),h.ref=mt(f,a,d),h.return=f,f=h)}return o(f);case On:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){t(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{t(f,a);break}else n(f,a);a=a.sibling}a=Hl(d,f.mode,h),a.return=f,f=a}return o(f);case Ge:return _=d._init,F(f,a,_(d._payload),h)}if(gt(d))return w(f,a,d,h);if(at(d))return k(f,a,d,h);dr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(t(f,a.sibling),a=l(a,d),a.return=f,f=a):(t(f,a),a=Bl(d,f.mode,h),a.return=f,f=a),o(f)):t(f,a)}return F}var et=ua(!0),oa=ua(!1),Jt={},je=pn(Jt),Vt=pn(Jt),Bt=pn(Jt);function En(e){if(e===Jt)throw Error(y(174));return e}function fo(e,n){switch(O(Bt,n),O(Vt,e),O(je,Jt),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:eu(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=eu(n,e)}I(je),O(je,n)}function nt(){I(je),I(Vt),I(Bt)}function ia(e){En(Bt.current);var n=En(je.current),t=eu(n,e.type);n!==t&&(O(Vt,e),O(je,t))}function po(e){Vt.current===e&&(I(je),I(Vt))}var U=pn(0);function Qr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Fl=[];function mo(){for(var e=0;et?t:4,e(!0);var r=jl.transition;jl.transition={};try{e(!1),n()}finally{M=t,jl.transition=r}}function Ca(){return _e().memoizedState}function qf(e,n,t){var r=sn(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},_a(e))xa(n,t);else if(t=na(e,n,t,r),t!==null){var l=ue();Re(t,e,r,l),Na(t,n,r)}}function bf(e,n,t){var r=sn(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(_a(e))xa(n,l);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=n.lastRenderedReducer,u!==null))try{var o=n.lastRenderedState,i=u(o,t);if(l.hasEagerState=!0,l.eagerState=i,Me(i,o)){var s=n.interleaved;s===null?(l.next=l,ao(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=na(e,n,l,r),t!==null&&(l=ue(),Re(t,e,r,l),Na(t,n,r))}}function _a(e){var n=e.alternate;return e===$||n!==null&&n===$}function xa(e,n){Nt=Kr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Na(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Gu(e,t)}}var Yr={readContext:Ce,useCallback:ee,useContext:ee,useEffect:ee,useImperativeHandle:ee,useInsertionEffect:ee,useLayoutEffect:ee,useMemo:ee,useReducer:ee,useRef:ee,useState:ee,useDebugValue:ee,useDeferredValue:ee,useTransition:ee,useMutableSource:ee,useSyncExternalStore:ee,useId:ee,unstable_isNewReconciler:!1},ed={readContext:Ce,useCallback:function(e,n){return De().memoizedState=[e,n===void 0?null:n],e},useContext:Ce,useEffect:Ei,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,_r(4194308,4,ga.bind(null,n,e),t)},useLayoutEffect:function(e,n){return _r(4194308,4,e,n)},useInsertionEffect:function(e,n){return _r(4,2,e,n)},useMemo:function(e,n){var t=De();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=De();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=qf.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var n=De();return e={current:e},n.memoizedState=e},useState:Si,useDebugValue:wo,useDeferredValue:function(e){return De().memoizedState=e},useTransition:function(){var e=Si(!1),n=e[0];return e=Jf.bind(null,e[1]),De().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=$,l=De();if(j){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),Z===null)throw Error(y(349));Pn&30||ca(r,n,t)}l.memoizedState=t;var u={value:t,getSnapshot:n};return l.queue=u,Ei(da.bind(null,r,u,e),[e]),r.flags|=2048,Qt(9,fa.bind(null,r,u,t,n),void 0,null),t},useId:function(){var e=De(),n=Z.identifierPrefix;if(j){var t=Ve,r=Ae;t=(r&~(1<<32-Le(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Ht++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(t,{is:r.is}):(e=o.createElement(t),t==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,t),e[Ie]=n,e[At]=r,Ia(e,n,!1,!1),n.stateNode=e;e:{switch(o=tu(t,r),t){case"dialog":D("cancel",e),D("close",e),l=r;break;case"iframe":case"object":case"embed":D("load",e),l=r;break;case"video":case"audio":for(l=0;lrt&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304)}else{if(!r)if(e=Qr(o),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),vt(u,!0),u.tail===null&&u.tailMode==="hidden"&&!o.alternate&&!j)return ne(n),null}else 2*W()-u.renderingStartTime>rt&&t!==1073741824&&(n.flags|=128,r=!0,vt(u,!1),n.lanes=4194304);u.isBackwards?(o.sibling=n.child,n.child=o):(t=u.last,t!==null?t.sibling=o:n.child=o,u.last=o)}return u.tail!==null?(n=u.tail,u.rendering=n,u.tail=n.sibling,u.renderingStartTime=W(),n.sibling=null,t=U.current,O(U,r?t&1|2:t&1),n):(ne(n),null);case 22:case 23:return xo(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?pe&1073741824&&(ne(n),n.subtreeFlags&6&&(n.flags|=8192)):ne(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function sd(e,n){switch(lo(n),n.tag){case 1:return fe(n.type)&&Ur(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return nt(),I(ce),I(re),mo(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return po(n),null;case 13:if(I(U),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));bn()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return I(U),null;case 4:return nt(),null;case 10:return so(n.type._context),null;case 22:case 23:return xo(),null;case 24:return null;default:return null}}var mr=!1,te=!1,ad=typeof WeakSet=="function"?WeakSet:Set,S=null;function Hn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){V(e,n,r)}else t.current=null}function Tu(e,n,t){try{t()}catch(r){V(e,n,r)}}var Ri=!1;function cd(e,n){if(du=Dr,e=Vs(),to(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,u=r.focusNode;r=r.focusOffset;try{t.nodeType,u.nodeType}catch{t=null;break e}var o=0,i=-1,s=-1,c=0,v=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(i=o+l),m!==u||r!==0&&m.nodeType!==3||(s=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(i=o),p===u&&++v===r&&(s=o),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=i===-1||s===-1?null:{start:i,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(pu={focusedElem:e,selectionRange:t},Dr=!1,S=n;S!==null;)if(n=S,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,S=e;else for(;S!==null;){n=S;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,F=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?k:Pe(n.type,k),F);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){V(n,n.return,h)}if(e=n.sibling,e!==null){e.return=n.return,S=e;break}S=n.return}return w=Ri,Ri=!1,w}function Pt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var u=l.destroy;l.destroy=void 0,u!==void 0&&Tu(n,t,u)}l=l.next}while(l!==r)}}function sl(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Lu(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Ua(e){var n=e.alternate;n!==null&&(e.alternate=null,Ua(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Ie],delete n[At],delete n[hu],delete n[Kf],delete n[Yf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $a(e){return e.tag===5||e.tag===3||e.tag===4}function Mi(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$a(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ru(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=jr));else if(r!==4&&(e=e.child,e!==null))for(Ru(e,n,t),e=e.sibling;e!==null;)Ru(e,n,t),e=e.sibling}function Mu(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Mu(e,n,t),e=e.sibling;e!==null;)Mu(e,n,t),e=e.sibling}var J=null,ze=!1;function Xe(e,n,t){for(t=t.child;t!==null;)Aa(e,n,t),t=t.sibling}function Aa(e,n,t){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(el,t)}catch{}switch(t.tag){case 5:te||Hn(t,n);case 6:var r=J,l=ze;J=null,Xe(e,n,t),J=r,ze=l,J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):J.removeChild(t.stateNode));break;case 18:J!==null&&(ze?(e=J,t=t.stateNode,e.nodeType===8?Dl(e.parentNode,t):e.nodeType===1&&Dl(e,t),It(e)):Dl(J,t.stateNode));break;case 4:r=J,l=ze,J=t.stateNode.containerInfo,ze=!0,Xe(e,n,t),J=r,ze=l;break;case 0:case 11:case 14:case 15:if(!te&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var u=l,o=u.destroy;u=u.tag,o!==void 0&&(u&2||u&4)&&Tu(t,n,o),l=l.next}while(l!==r)}Xe(e,n,t);break;case 1:if(!te&&(Hn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(i){V(t,n,i)}Xe(e,n,t);break;case 21:Xe(e,n,t);break;case 22:t.mode&1?(te=(r=te)||t.memoizedState!==null,Xe(e,n,t),te=r):Xe(e,n,t);break;default:Xe(e,n,t)}}function Oi(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new ad),n.forEach(function(r){var l=wd.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function Ne(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=o),r&=~u}if(r=l,r=W()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dd(r/1960))-r,10e?16:e,en===null)var r=!1;else{if(e=en,en=null,Zr=0,R&6)throw Error(y(331));var l=R;for(R|=4,S=e.current;S!==null;){var u=S,o=u.child;if(S.flags&16){var i=u.deletions;if(i!==null){for(var s=0;sW()-Co?Cn(e,0):Eo|=t),de(e,n)}function Xa(e,n){n===0&&(e.mode&1?(n=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):n=1);var t=ue();e=Qe(e,n),e!==null&&(Xt(e,n,t),de(e,t))}function gd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),Xa(e,t)}function wd(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),Xa(e,t)}var Ga;Ga=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||ce.current)ae=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return ae=!1,od(e,n,t);ae=!!(e.flags&131072)}else ae=!1,j&&n.flags&1048576&&qs(n,Vr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;xr(e,n),e=n.pendingProps;var l=qn(n,re.current);Gn(n,t),l=ho(null,n,r,e,l,t);var u=yo();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,fe(r)?(u=!0,$r(n)):u=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,co(n),l.updater=ol,n.stateNode=l,l._reactInternals=n,Eu(n,r,e,t),n=xu(null,n,r,!0,u,t)):(n.tag=0,j&&u&&ro(n),le(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(xr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Sd(r),e=Pe(r,e),l){case 0:n=_u(null,n,r,e,t);break e;case 1:n=zi(null,n,r,e,t);break e;case 11:n=Ni(null,n,r,e,t);break e;case 14:n=Pi(null,n,r,Pe(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),_u(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),zi(e,n,r,l,t);case 3:e:{if(Ma(n),e===null)throw Error(y(387));r=n.pendingProps,u=n.memoizedState,l=u.element,ta(e,n),Wr(n,r,null,t);var o=n.memoizedState;if(r=o.element,u.isDehydrated)if(u={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},n.updateQueue.baseState=u,n.memoizedState=u,n.flags&256){l=tt(Error(y(423)),n),n=Ti(e,n,r,t,l);break e}else if(r!==l){l=tt(Error(y(424)),n),n=Ti(e,n,r,t,l);break e}else for(me=ln(n.stateNode.containerInfo.firstChild),ve=n,j=!0,Te=null,t=oa(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(bn(),r===l){n=Ke(e,n,t);break e}le(e,n,r,t)}n=n.child}return n;case 5:return ia(n),e===null&&wu(n),r=n.type,l=n.pendingProps,u=e!==null?e.memoizedProps:null,o=l.children,mu(r,l)?o=null:u!==null&&mu(r,u)&&(n.flags|=32),Ra(e,n),le(e,n,o,t),n.child;case 6:return e===null&&wu(n),null;case 13:return Oa(e,n,t);case 4:return fo(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=et(n,null,r,t):le(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),Ni(e,n,r,l,t);case 7:return le(e,n,n.pendingProps,t),n.child;case 8:return le(e,n,n.pendingProps.children,t),n.child;case 12:return le(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,u=n.memoizedProps,o=l.value,O(Br,r._currentValue),r._currentValue=o,u!==null)if(Me(u.value,o)){if(u.children===l.children&&!ce.current){n=Ke(e,n,t);break e}}else for(u=n.child,u!==null&&(u.return=n);u!==null;){var i=u.dependencies;if(i!==null){o=u.child;for(var s=i.firstContext;s!==null;){if(s.context===r){if(u.tag===1){s=Be(-1,t&-t),s.tag=2;var c=u.updateQueue;if(c!==null){c=c.shared;var v=c.pending;v===null?s.next=s:(s.next=v.next,v.next=s),c.pending=s}}u.lanes|=t,s=u.alternate,s!==null&&(s.lanes|=t),ku(u.return,t,n),i.lanes|=t;break}s=s.next}}else if(u.tag===10)o=u.type===n.type?null:u.child;else if(u.tag===18){if(o=u.return,o===null)throw Error(y(341));o.lanes|=t,i=o.alternate,i!==null&&(i.lanes|=t),ku(o,t,n),o=u.sibling}else o=u.child;if(o!==null)o.return=u;else for(o=u;o!==null;){if(o===n){o=null;break}if(u=o.sibling,u!==null){u.return=o.return,o=u;break}o=o.return}u=o}le(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Gn(n,t),l=Ce(l),r=r(l),n.flags|=1,le(e,n,r,t),n.child;case 14:return r=n.type,l=Pe(r,n.pendingProps),l=Pe(r.type,l),Pi(e,n,r,l,t);case 15:return Ta(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Pe(r,l),xr(e,n),n.tag=1,fe(r)?(e=!0,$r(n)):e=!1,Gn(n,t),la(n,r,l),Eu(n,r,l,t),xu(null,n,r,!0,e,t);case 19:return Da(e,n,t);case 22:return La(e,n,t)}throw Error(y(156,n.tag))};function Za(e,n){return Es(e,n)}function kd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Se(e,n,t,r){return new kd(e,n,t,r)}function Po(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sd(e){if(typeof e=="function")return Po(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qu)return 11;if(e===Ku)return 14}return 2}function an(e,n){var t=e.alternate;return t===null?(t=Se(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function zr(e,n,t,r,l,u){var o=2;if(r=e,typeof e=="function")Po(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Dn:return _n(t.children,l,u,n);case Wu:o=8,l|=8;break;case Kl:return e=Se(12,t,n,l|2),e.elementType=Kl,e.lanes=u,e;case Yl:return e=Se(13,t,n,l),e.elementType=Yl,e.lanes=u,e;case Xl:return e=Se(19,t,n,l),e.elementType=Xl,e.lanes=u,e;case us:return cl(t,l,u,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rs:o=10;break e;case ls:o=9;break e;case Qu:o=11;break e;case Ku:o=14;break e;case Ge:o=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=Se(o,t,n,l),n.elementType=e,n.type=r,n.lanes=u,n}function _n(e,n,t,r){return e=Se(7,e,r,n),e.lanes=t,e}function cl(e,n,t,r){return e=Se(22,e,r,n),e.elementType=us,e.lanes=t,e.stateNode={isHidden:!1},e}function Bl(e,n,t){return e=Se(6,e,null,n),e.lanes=t,e}function Hl(e,n,t){return n=Se(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ed(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function zo(e,n,t,r,l,u,o,i,s){return e=new Ed(e,n,t,i,s),n===1?(n=1,u===!0&&(n|=8)):n=0,u=Se(3,null,null,n),e.current=u,u.stateNode=e,u.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},co(u),e}function Cd(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ec)}catch(e){console.error(e)}}ec(),qi.exports=ye;var zd=qi.exports,nc,Vi=zd;nc=Vi.createRoot,Vi.hydrateRoot;function Td(e,n){if(!("method"in n)||n.method==="")return;const{name:t,method:r,traceId:l}=n;t.startsWith("/?key=")||e(u=>{const o=new Map([...u.entries()]),i=`${r}, ${t}, ${l}`;if(o.has(i)){const s=o.get(n.traceId);s==null||s.push(n)}else o.set(i,[n]);return o})}function Ld(){wn.useState(new Map);const[e,n]=wn.useState(new Map);return wn.useEffect(()=>{chrome.runtime.onMessage.addListener(t=>{console.log(`chromeApiRequestData: ${t.type}, startTime ${t.startTime}`,t)})},[]),wn.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",r=>{try{console.log(r.data),Td(n,JSON.parse(r.data))}catch(l){console.log("failed",l)}})},[]),wn.useEffect(()=>{console.log(e)},[e]),Wl.jsx(Wl.Fragment,{})}const Rd=document.getElementById("root"),Md=nc(Rd);console.log("panel/index.jsx reached");Md.render(Wl.jsx(Ld,{})); diff --git a/chrome-extension/dist/assets/panel-53f4e568.js b/chrome-extension/dist/assets/panel-53f4e568.js new file mode 100644 index 0000000..0506e5c --- /dev/null +++ b/chrome-extension/dist/assets/panel-53f4e568.js @@ -0,0 +1,40 @@ +import"./modulepreload-polyfill-3cfb730f.js";var Bi={exports:{}},el={},Hi={exports:{}},T={};/** + * @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 Xt=Symbol.for("react.element"),rc=Symbol.for("react.portal"),lc=Symbol.for("react.fragment"),oc=Symbol.for("react.strict_mode"),uc=Symbol.for("react.profiler"),ic=Symbol.for("react.provider"),sc=Symbol.for("react.context"),ac=Symbol.for("react.forward_ref"),cc=Symbol.for("react.suspense"),fc=Symbol.for("react.memo"),dc=Symbol.for("react.lazy"),Mu=Symbol.iterator;function pc(e){return e===null||typeof e!="object"?null:(e=Mu&&e[Mu]||e["@@iterator"],typeof e=="function"?e:null)}var Wi={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Qi=Object.assign,Ki={};function ot(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}ot.prototype.isReactComponent={};ot.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,n,"setState")};ot.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Yi(){}Yi.prototype=ot.prototype;function Uo(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}var $o=Uo.prototype=new Yi;$o.constructor=Uo;Qi($o,ot.prototype);$o.isPureReactComponent=!0;var Du=Array.isArray,Xi=Object.prototype.hasOwnProperty,Ao={current:null},Gi={key:!0,ref:!0,__self:!0,__source:!0};function Zi(e,n,t){var r,l={},o=null,u=null;if(n!=null)for(r in n.ref!==void 0&&(u=n.ref),n.key!==void 0&&(o=""+n.key),n)Xi.call(n,r)&&!Gi.hasOwnProperty(r)&&(l[r]=n[r]);var i=arguments.length-2;if(i===1)l.children=t;else if(1>>1,G=x[W];if(0>>1;Wl(gl,z))ynl(er,gl)?(x[W]=er,x[yn]=z,W=yn):(x[W]=gl,x[vn]=z,W=vn);else if(ynl(er,z))x[W]=er,x[yn]=z,W=yn;else break e}}return P}function l(x,P){var z=x.sortIndex-P.sortIndex;return z!==0?z:x.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var u=Date,i=u.now();e.unstable_now=function(){return u.now()-i}}var s=[],c=[],h=1,m=null,p=3,g=!1,w=!1,S=!1,I=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(x){for(var P=t(c);P!==null;){if(P.callback===null)r(c);else if(P.startTime<=x)r(c),P.sortIndex=P.expirationTime,n(s,P);else break;P=t(c)}}function v(x){if(S=!1,d(x),!w)if(t(s)!==null)w=!0,vl(E);else{var P=t(c);P!==null&&yl(v,P.startTime-x)}}function E(x,P){w=!1,S&&(S=!1,f(N),N=-1),g=!0;var z=p;try{for(d(P),m=t(s);m!==null&&(!(m.expirationTime>P)||x&&!Ne());){var W=m.callback;if(typeof W=="function"){m.callback=null,p=m.priorityLevel;var G=W(m.expirationTime<=P);P=e.unstable_now(),typeof G=="function"?m.callback=G:m===t(s)&&r(s),d(P)}else r(s);m=t(s)}if(m!==null)var bt=!0;else{var vn=t(c);vn!==null&&yl(v,vn.startTime-P),bt=!1}return bt}finally{m=null,p=z,g=!1}}var C=!1,_=null,N=-1,H=5,L=-1;function Ne(){return!(e.unstable_now()-Lx||125W?(x.sortIndex=z,n(c,x),t(s)===null&&x===t(c)&&(S?(f(N),N=-1):S=!0,yl(v,z-W))):(x.sortIndex=G,n(s,x),w||g||(w=!0,vl(E))),x},e.unstable_shouldYield=Ne,e.unstable_wrapCallback=function(x){var P=p;return function(){var z=p;p=P;try{return x.apply(this,arguments)}finally{p=z}}}})(es);bi.exports=es;var Cc=bi.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 ns=Mn,ye=Cc;function y(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ql=Object.prototype.hasOwnProperty,_c=/^[: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]*$/,Iu={},Fu={};function Nc(e){return Ql.call(Fu,e)?!0:Ql.call(Iu,e)?!1:_c.test(e)?Fu[e]=!0:(Iu[e]=!0,!1)}function Pc(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function zc(e,n,t,r){if(n===null||typeof n>"u"||Pc(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function se(e,n,t,r,l,o,u){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=o,this.removeEmptyString=u}var ee={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ee[e]=new se(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];ee[n]=new se(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ee[e]=new se(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ee[e]=new se(e,2,!1,e,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(e){ee[e]=new se(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ee[e]=new se(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ee[e]=new se(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ee[e]=new se(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ee[e]=new se(e,5,!1,e.toLowerCase(),null,!1,!1)});var Bo=/[\-:]([a-z])/g;function Ho(e){return e[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(e){var n=e.replace(Bo,Ho);ee[n]=new se(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Bo,Ho);ee[n]=new se(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Bo,Ho);ee[n]=new se(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ee[e]=new se(e,1,!1,e.toLowerCase(),null,!1,!1)});ee.xlinkHref=new se("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ee[e]=new se(e,1,!1,e.toLowerCase(),null,!0,!0)});function Wo(e,n,t,r){var l=ee.hasOwnProperty(n)?ee[n]:null;(l!==null?l.type!==0:r||!(2i||l[u]!==o[i]){var s=` +`+l[u].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=u&&0<=i);break}}}finally{kl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?gt(e):""}function Tc(e){switch(e.tag){case 5:return gt(e.type);case 16:return gt("Lazy");case 13:return gt("Suspense");case 19:return gt("SuspenseList");case 0:case 2:case 15:return e=El(e.type,!1),e;case 11:return e=El(e.type.render,!1),e;case 1:return e=El(e.type,!0),e;default:return""}}function Gl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case jn:return"Fragment";case Dn:return"Portal";case Kl:return"Profiler";case Qo:return"StrictMode";case Yl:return"Suspense";case Xl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ls:return(e.displayName||"Context")+".Consumer";case rs:return(e._context.displayName||"Context")+".Provider";case Ko:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Yo:return n=e.displayName||null,n!==null?n:Gl(e.type)||"Memo";case Ze:n=e._payload,e=e._init;try{return Gl(e(n))}catch{}}return null}function Lc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gl(n);case 8:return n===Qo?"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 n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function fn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function us(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Rc(e){var n=us(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,o=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(u){r=""+u,o.call(this,u)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(u){r=""+u},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function rr(e){e._valueTracker||(e._valueTracker=Rc(e))}function is(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=us(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Lr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Zl(e,n){var t=n.checked;return A({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function $u(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=fn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function ss(e,n){n=n.checked,n!=null&&Wo(e,"checked",n,!1)}function Jl(e,n){ss(e,n);var t=fn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?ql(e,n.type,t):n.hasOwnProperty("defaultValue")&&ql(e,n.type,fn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Au(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function ql(e,n,t){(n!=="number"||Lr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var wt=Array.isArray;function Kn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=lr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Ot(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var Et={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},Oc=["Webkit","ms","Moz","O"];Object.keys(Et).forEach(function(e){Oc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Et[n]=Et[e]})});function ds(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||Et.hasOwnProperty(e)&&Et[e]?(""+n).trim():n+"px"}function ps(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=ds(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Mc=A({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 no(e,n){if(n){if(Mc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function to(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){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 ro=null;function Xo(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var lo=null,Yn=null,Xn=null;function Hu(e){if(e=Jt(e)){if(typeof lo!="function")throw Error(y(280));var n=e.stateNode;n&&(n=ol(n),lo(e.stateNode,e.type,n))}}function ms(e){Yn?Xn?Xn.push(e):Xn=[e]:Yn=e}function hs(){if(Yn){var e=Yn,n=Xn;if(Xn=Yn=null,Hu(e),n)for(e=0;e>>=0,e===0?32:31-(Wc(e)/Qc|0)|0}var or=64,ur=4194304;function St(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Dr(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,o=e.pingedLanes,u=t&268435455;if(u!==0){var i=u&~l;i!==0?r=St(i):(o&=u,o!==0&&(r=St(o)))}else u=t&~l,u!==0?r=St(u):o!==0&&(r=St(o));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,o=n&-n,l>=o||l===16&&(o&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Gt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Re(n),e[n]=t}function Gc(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ct),qu=String.fromCharCode(32),bu=!1;function js(e,n){switch(e){case"keyup":return Cf.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Is(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var In=!1;function Nf(e,n){switch(e){case"compositionend":return Is(n);case"keypress":return n.which!==32?null:(bu=!0,qu);case"textInput":return e=n.data,e===qu&&bu?null:e;default:return null}}function Pf(e,n){if(In)return e==="compositionend"||!tu&&js(e,n)?(e=Ms(),kr=bo=en=null,In=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=ri(t)}}function As(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?As(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Vs(){for(var e=window,n=Lr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Lr(e.document)}return n}function ru(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function If(e){var n=Vs(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&As(t.ownerDocument.documentElement,t)){if(r!==null&&ru(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,o=Math.min(r.start,l);r=r.end===void 0?o:Math.min(r.end,l),!e.extend&&o>r&&(l=r,r=o,o=l),l=li(t,o);var u=li(t,r);l&&u&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==u.node||e.focusOffset!==u.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),o>r?(e.addRange(n),e.extend(u.node,u.offset)):(n.setEnd(u.node,u.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Fn=null,co=null,Nt=null,fo=!1;function oi(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;fo||Fn==null||Fn!==Lr(r)||(r=Fn,"selectionStart"in r&&ru(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Nt&&Ut(Nt,r)||(Nt=r,r=Fr(co,"onSelect"),0An||(e.current=go[An],go[An]=null,An--)}function M(e,n){An++,go[An]=e.current,e.current=n}var dn={},le=mn(dn),fe=mn(!1),_n=dn;function bn(e,n){var t=e.type.contextTypes;if(!t)return dn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},o;for(o in t)l[o]=n[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function de(e){return e=e.childContextTypes,e!=null}function $r(){j(fe),j(le)}function di(e,n,t){if(le.current!==dn)throw Error(y(168));M(le,n),M(fe,t)}function Zs(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Lc(e)||"Unknown",l));return A({},t,r)}function Ar(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||dn,_n=le.current,M(le,e),M(fe,fe.current),!0}function pi(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=Zs(e,n,_n),r.__reactInternalMemoizedMergedChildContext=e,j(fe),j(le),M(le,e)):j(fe),M(fe,t)}var Ae=null,ul=!1,Il=!1;function Js(e){Ae===null?Ae=[e]:Ae.push(e)}function Xf(e){ul=!0,Js(e)}function hn(){if(!Il&&Ae!==null){Il=!0;var e=0,n=O;try{var t=Ae;for(O=1;e>=u,l-=u,Ve=1<<32-Re(n)+l|t<N?(H=_,_=null):H=_.sibling;var L=p(f,_,d[N],v);if(L===null){_===null&&(_=H);break}e&&_&&L.alternate===null&&n(f,_),a=o(L,a,N),C===null?E=L:C.sibling=L,C=L,_=H}if(N===d.length)return t(f,_),F&&gn(f,N),E;if(_===null){for(;NN?(H=_,_=null):H=_.sibling;var Ne=p(f,_,L.value,v);if(Ne===null){_===null&&(_=H);break}e&&_&&Ne.alternate===null&&n(f,_),a=o(Ne,a,N),C===null?E=Ne:C.sibling=Ne,C=Ne,_=H}if(L.done)return t(f,_),F&&gn(f,N),E;if(_===null){for(;!L.done;N++,L=d.next())L=m(f,L.value,v),L!==null&&(a=o(L,a,N),C===null?E=L:C.sibling=L,C=L);return F&&gn(f,N),E}for(_=r(f,_);!L.done;N++,L=d.next())L=g(_,f,N,L.value,v),L!==null&&(e&&L.alternate!==null&&_.delete(L.key===null?N:L.key),a=o(L,a,N),C===null?E=L:C.sibling=L,C=L);return e&&_.forEach(function(st){return n(f,st)}),F&&gn(f,N),E}function I(f,a,d,v){if(typeof d=="object"&&d!==null&&d.type===jn&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case tr:e:{for(var E=d.key,C=a;C!==null;){if(C.key===E){if(E=d.type,E===jn){if(C.tag===7){t(f,C.sibling),a=l(C,d.props.children),a.return=f,f=a;break e}}else if(C.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ze&&Si(E)===C.type){t(f,C.sibling),a=l(C,d.props),a.ref=ht(f,C,d),a.return=f,f=a;break e}t(f,C);break}else n(f,C);C=C.sibling}d.type===jn?(a=Cn(d.props.children,f.mode,v,d.key),a.return=f,f=a):(v=Tr(d.type,d.key,d.props,null,f.mode,v),v.ref=ht(f,a,d),v.return=f,f=v)}return u(f);case Dn:e:{for(C=d.key;a!==null;){if(a.key===C)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){t(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{t(f,a);break}else n(f,a);a=a.sibling}a=Wl(d,f.mode,v),a.return=f,f=a}return u(f);case Ze:return C=d._init,I(f,a,C(d._payload),v)}if(wt(d))return w(f,a,d,v);if(ct(d))return S(f,a,d,v);pr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(t(f,a.sibling),a=l(a,d),a.return=f,f=a):(t(f,a),a=Hl(d,f.mode,v),a.return=f,f=a),u(f)):t(f,a)}return I}var nt=oa(!0),ua=oa(!1),qt={},Ue=mn(qt),Bt=mn(qt),Ht=mn(qt);function En(e){if(e===qt)throw Error(y(174));return e}function du(e,n){switch(M(Ht,n),M(Bt,e),M(Ue,qt),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:eo(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=eo(n,e)}j(Ue),M(Ue,n)}function tt(){j(Ue),j(Bt),j(Ht)}function ia(e){En(Ht.current);var n=En(Ue.current),t=eo(n,e.type);n!==t&&(M(Bt,e),M(Ue,t))}function pu(e){Bt.current===e&&(j(Ue),j(Bt))}var U=mn(0);function Kr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Fl=[];function mu(){for(var e=0;et?t:4,e(!0);var r=Ul.transition;Ul.transition={};try{e(!1),n()}finally{O=t,Ul.transition=r}}function xa(){return _e().memoizedState}function qf(e,n,t){var r=an(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},Ca(e))_a(n,t);else if(t=na(e,n,t,r),t!==null){var l=ue();Oe(t,e,r,l),Na(t,n,r)}}function bf(e,n,t){var r=an(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(Ca(e))_a(n,l);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=n.lastRenderedReducer,o!==null))try{var u=n.lastRenderedState,i=o(u,t);if(l.hasEagerState=!0,l.eagerState=i,Me(i,u)){var s=n.interleaved;s===null?(l.next=l,cu(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=na(e,n,l,r),t!==null&&(l=ue(),Oe(t,e,r,l),Na(t,n,r))}}function Ca(e){var n=e.alternate;return e===$||n!==null&&n===$}function _a(e,n){Pt=Yr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Na(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Zo(e,t)}}var Xr={readContext:Ce,useCallback:ne,useContext:ne,useEffect:ne,useImperativeHandle:ne,useInsertionEffect:ne,useLayoutEffect:ne,useMemo:ne,useReducer:ne,useRef:ne,useState:ne,useDebugValue:ne,useDeferredValue:ne,useTransition:ne,useMutableSource:ne,useSyncExternalStore:ne,useId:ne,unstable_isNewReconciler:!1},ed={readContext:Ce,useCallback:function(e,n){return je().memoizedState=[e,n===void 0?null:n],e},useContext:Ce,useEffect:Ei,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,_r(4194308,4,ga.bind(null,n,e),t)},useLayoutEffect:function(e,n){return _r(4194308,4,e,n)},useInsertionEffect:function(e,n){return _r(4,2,e,n)},useMemo:function(e,n){var t=je();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=je();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=qf.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var n=je();return e={current:e},n.memoizedState=e},useState:ki,useDebugValue:wu,useDeferredValue:function(e){return je().memoizedState=e},useTransition:function(){var e=ki(!1),n=e[0];return e=Jf.bind(null,e[1]),je().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=$,l=je();if(F){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),J===null)throw Error(y(349));Pn&30||ca(r,n,t)}l.memoizedState=t;var o={value:t,getSnapshot:n};return l.queue=o,Ei(da.bind(null,r,o,e),[e]),r.flags|=2048,Kt(9,fa.bind(null,r,o,t,n),void 0,null),t},useId:function(){var e=je(),n=J.identifierPrefix;if(F){var t=Be,r=Ve;t=(r&~(1<<32-Re(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Wt++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=u.createElement(t,{is:r.is}):(e=u.createElement(t),t==="select"&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,t),e[Ie]=n,e[Vt]=r,ja(e,n,!1,!1),n.stateNode=e;e:{switch(u=to(t,r),t){case"dialog":D("cancel",e),D("close",e),l=r;break;case"iframe":case"object":case"embed":D("load",e),l=r;break;case"video":case"audio":for(l=0;llt&&(n.flags|=128,r=!0,vt(o,!1),n.lanes=4194304)}else{if(!r)if(e=Kr(u),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),vt(o,!0),o.tail===null&&o.tailMode==="hidden"&&!u.alternate&&!F)return te(n),null}else 2*Q()-o.renderingStartTime>lt&&t!==1073741824&&(n.flags|=128,r=!0,vt(o,!1),n.lanes=4194304);o.isBackwards?(u.sibling=n.child,n.child=u):(t=o.last,t!==null?t.sibling=u:n.child=u,o.last=u)}return o.tail!==null?(n=o.tail,o.rendering=n,o.tail=n.sibling,o.renderingStartTime=Q(),n.sibling=null,t=U.current,M(U,r?t&1|2:t&1),n):(te(n),null);case 22:case 23:return _u(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?me&1073741824&&(te(n),n.subtreeFlags&6&&(n.flags|=8192)):te(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function sd(e,n){switch(ou(n),n.tag){case 1:return de(n.type)&&$r(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return tt(),j(fe),j(le),mu(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return pu(n),null;case 13:if(j(U),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));et()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return j(U),null;case 4:return tt(),null;case 10:return au(n.type._context),null;case 22:case 23:return _u(),null;case 24:return null;default:return null}}var hr=!1,re=!1,ad=typeof WeakSet=="function"?WeakSet:Set,k=null;function Wn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){B(e,n,r)}else t.current=null}function Lo(e,n,t){try{t()}catch(r){B(e,n,r)}}var Ri=!1;function cd(e,n){if(po=jr,e=Vs(),ru(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{t.nodeType,o.nodeType}catch{t=null;break e}var u=0,i=-1,s=-1,c=0,h=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(i=u+l),m!==o||r!==0&&m.nodeType!==3||(s=u+r),m.nodeType===3&&(u+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(i=u),p===o&&++h===r&&(s=u),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=i===-1||s===-1?null:{start:i,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(mo={focusedElem:e,selectionRange:t},jr=!1,k=n;k!==null;)if(n=k,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,k=e;else for(;k!==null;){n=k;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var S=w.memoizedProps,I=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?S:ze(n.type,S),I);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(v){B(n,n.return,v)}if(e=n.sibling,e!==null){e.return=n.return,k=e;break}k=n.return}return w=Ri,Ri=!1,w}function zt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var o=l.destroy;l.destroy=void 0,o!==void 0&&Lo(n,t,o)}l=l.next}while(l!==r)}}function al(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Ro(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Ua(e){var n=e.alternate;n!==null&&(e.alternate=null,Ua(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Ie],delete n[Vt],delete n[yo],delete n[Kf],delete n[Yf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $a(e){return e.tag===5||e.tag===3||e.tag===4}function Oi(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$a(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Oo(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=Ur));else if(r!==4&&(e=e.child,e!==null))for(Oo(e,n,t),e=e.sibling;e!==null;)Oo(e,n,t),e=e.sibling}function Mo(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Mo(e,n,t),e=e.sibling;e!==null;)Mo(e,n,t),e=e.sibling}var q=null,Te=!1;function Ge(e,n,t){for(t=t.child;t!==null;)Aa(e,n,t),t=t.sibling}function Aa(e,n,t){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(nl,t)}catch{}switch(t.tag){case 5:re||Wn(t,n);case 6:var r=q,l=Te;q=null,Ge(e,n,t),q=r,Te=l,q!==null&&(Te?(e=q,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):q.removeChild(t.stateNode));break;case 18:q!==null&&(Te?(e=q,t=t.stateNode,e.nodeType===8?jl(e.parentNode,t):e.nodeType===1&&jl(e,t),It(e)):jl(q,t.stateNode));break;case 4:r=q,l=Te,q=t.stateNode.containerInfo,Te=!0,Ge(e,n,t),q=r,Te=l;break;case 0:case 11:case 14:case 15:if(!re&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var o=l,u=o.destroy;o=o.tag,u!==void 0&&(o&2||o&4)&&Lo(t,n,u),l=l.next}while(l!==r)}Ge(e,n,t);break;case 1:if(!re&&(Wn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(i){B(t,n,i)}Ge(e,n,t);break;case 21:Ge(e,n,t);break;case 22:t.mode&1?(re=(r=re)||t.memoizedState!==null,Ge(e,n,t),re=r):Ge(e,n,t);break;default:Ge(e,n,t)}}function Mi(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new ad),n.forEach(function(r){var l=wd.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function Pe(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=u),r&=~o}if(r=l,r=Q()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dd(r/1960))-r,10e?16:e,nn===null)var r=!1;else{if(e=nn,nn=null,Jr=0,R&6)throw Error(y(331));var l=R;for(R|=4,k=e.current;k!==null;){var o=k,u=o.child;if(k.flags&16){var i=o.deletions;if(i!==null){for(var s=0;sQ()-xu?xn(e,0):Eu|=t),pe(e,n)}function Xa(e,n){n===0&&(e.mode&1?(n=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):n=1);var t=ue();e=Ke(e,n),e!==null&&(Gt(e,n,t),pe(e,t))}function gd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),Xa(e,t)}function wd(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),Xa(e,t)}var Ga;Ga=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||fe.current)ce=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return ce=!1,ud(e,n,t);ce=!!(e.flags&131072)}else ce=!1,F&&n.flags&1048576&&qs(n,Br,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;Nr(e,n),e=n.pendingProps;var l=bn(n,le.current);Zn(n,t),l=vu(null,n,r,e,l,t);var o=yu();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,de(r)?(o=!0,Ar(n)):o=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,fu(n),l.updater=il,n.stateNode=l,l._reactInternals=n,xo(n,r,e,t),n=No(null,n,r,!0,o,t)):(n.tag=0,F&&o&&lu(n),oe(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(Nr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=kd(r),e=ze(r,e),l){case 0:n=_o(null,n,r,e,t);break e;case 1:n=zi(null,n,r,e,t);break e;case 11:n=Ni(null,n,r,e,t);break e;case 14:n=Pi(null,n,r,ze(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),_o(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),zi(e,n,r,l,t);case 3:e:{if(Oa(n),e===null)throw Error(y(387));r=n.pendingProps,o=n.memoizedState,l=o.element,ta(e,n),Qr(n,r,null,t);var u=n.memoizedState;if(r=u.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},n.updateQueue.baseState=o,n.memoizedState=o,n.flags&256){l=rt(Error(y(423)),n),n=Ti(e,n,r,t,l);break e}else if(r!==l){l=rt(Error(y(424)),n),n=Ti(e,n,r,t,l);break e}else for(he=on(n.stateNode.containerInfo.firstChild),ve=n,F=!0,Le=null,t=ua(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(et(),r===l){n=Ye(e,n,t);break e}oe(e,n,r,t)}n=n.child}return n;case 5:return ia(n),e===null&&So(n),r=n.type,l=n.pendingProps,o=e!==null?e.memoizedProps:null,u=l.children,ho(r,l)?u=null:o!==null&&ho(r,o)&&(n.flags|=32),Ra(e,n),oe(e,n,u,t),n.child;case 6:return e===null&&So(n),null;case 13:return Ma(e,n,t);case 4:return du(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=nt(n,null,r,t):oe(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),Ni(e,n,r,l,t);case 7:return oe(e,n,n.pendingProps,t),n.child;case 8:return oe(e,n,n.pendingProps.children,t),n.child;case 12:return oe(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,o=n.memoizedProps,u=l.value,M(Hr,r._currentValue),r._currentValue=u,o!==null)if(Me(o.value,u)){if(o.children===l.children&&!fe.current){n=Ye(e,n,t);break e}}else for(o=n.child,o!==null&&(o.return=n);o!==null;){var i=o.dependencies;if(i!==null){u=o.child;for(var s=i.firstContext;s!==null;){if(s.context===r){if(o.tag===1){s=He(-1,t&-t),s.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var h=c.pending;h===null?s.next=s:(s.next=h.next,h.next=s),c.pending=s}}o.lanes|=t,s=o.alternate,s!==null&&(s.lanes|=t),ko(o.return,t,n),i.lanes|=t;break}s=s.next}}else if(o.tag===10)u=o.type===n.type?null:o.child;else if(o.tag===18){if(u=o.return,u===null)throw Error(y(341));u.lanes|=t,i=u.alternate,i!==null&&(i.lanes|=t),ko(u,t,n),u=o.sibling}else u=o.child;if(u!==null)u.return=o;else for(u=o;u!==null;){if(u===n){u=null;break}if(o=u.sibling,o!==null){o.return=u.return,u=o;break}u=u.return}o=u}oe(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Zn(n,t),l=Ce(l),r=r(l),n.flags|=1,oe(e,n,r,t),n.child;case 14:return r=n.type,l=ze(r,n.pendingProps),l=ze(r.type,l),Pi(e,n,r,l,t);case 15:return Ta(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),Nr(e,n),n.tag=1,de(r)?(e=!0,Ar(n)):e=!1,Zn(n,t),la(n,r,l),xo(n,r,l,t),No(null,n,r,!0,e,t);case 19:return Da(e,n,t);case 22:return La(e,n,t)}throw Error(y(156,n.tag))};function Za(e,n){return Es(e,n)}function Sd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ee(e,n,t,r){return new Sd(e,n,t,r)}function Pu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function kd(e){if(typeof e=="function")return Pu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ko)return 11;if(e===Yo)return 14}return 2}function cn(e,n){var t=e.alternate;return t===null?(t=Ee(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function Tr(e,n,t,r,l,o){var u=2;if(r=e,typeof e=="function")Pu(e)&&(u=1);else if(typeof e=="string")u=5;else e:switch(e){case jn:return Cn(t.children,l,o,n);case Qo:u=8,l|=8;break;case Kl:return e=Ee(12,t,n,l|2),e.elementType=Kl,e.lanes=o,e;case Yl:return e=Ee(13,t,n,l),e.elementType=Yl,e.lanes=o,e;case Xl:return e=Ee(19,t,n,l),e.elementType=Xl,e.lanes=o,e;case os:return fl(t,l,o,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rs:u=10;break e;case ls:u=9;break e;case Ko:u=11;break e;case Yo:u=14;break e;case Ze:u=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=Ee(u,t,n,l),n.elementType=e,n.type=r,n.lanes=o,n}function Cn(e,n,t,r){return e=Ee(7,e,r,n),e.lanes=t,e}function fl(e,n,t,r){return e=Ee(22,e,r,n),e.elementType=os,e.lanes=t,e.stateNode={isHidden:!1},e}function Hl(e,n,t){return e=Ee(6,e,null,n),e.lanes=t,e}function Wl(e,n,t){return n=Ee(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ed(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function zu(e,n,t,r,l,o,u,i,s){return e=new Ed(e,n,t,i,s),n===1?(n=1,o===!0&&(n|=8)):n=0,o=Ee(3,null,null,n),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},fu(o),e}function xd(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ec)}catch(e){console.error(e)}}ec(),qi.exports=ge;var zd=qi.exports,nc,Vi=zd;nc=Vi.createRoot,Vi.hydrateRoot;function Td(e,n){return n-e}const Ld=({data:e})=>(console.log(`tableRowData: ${e}`),V.jsxs("tr",{children:[V.jsx("td",{children:e.name}),V.jsx("td",{children:e.method}),V.jsx("td",{children:e.status}),V.jsx("td",{children:e.protocol}),V.jsx("td",{children:Td(e.startTime,e.endTime)}),V.jsx("td",{children:e.originatingService}),V.jsx("td",{children:e.applicationType})]})),Rd=({data:e})=>V.jsxs("table",{children:[V.jsxs("tr",{children:[V.jsx("th",{children:"Name"}),V.jsx("th",{children:"Method"}),V.jsx("th",{children:"Status"}),V.jsx("th",{children:"Protocol"}),V.jsx("th",{children:"Time"}),V.jsx("th",{children:"Orig. Svc."}),V.jsx("th",{children:"Application Type"})]}),e.map((n,t)=>V.jsx(Ld,{data:n},t))]});function Od(e,n){if(!("method"in n)||n.method==="")return;const{name:t,method:r,traceId:l}=n;t.startsWith("/?key=")||e(o=>{const u=[...o],i=`${r}, ${t}, ${l}`;return console.log(i),u.push(n),u})}function Md(){const[e,n]=Mn.useState([]);return Mn.useEffect(()=>{chrome.runtime.onMessage.addListener(t=>{console.log(`chromeApiRequestData: ${t.type}, startTime ${t.startTime}`,t)})},[]),Mn.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",r=>{try{console.log(r.data),Od(n,JSON.parse(r.data))}catch(l){console.log("failed",l)}})},[]),Mn.useEffect(()=>{console.log(e)},[e]),V.jsx(V.Fragment,{children:V.jsx(Rd,{data:e})})}const Dd=document.getElementById("root"),jd=nc(Dd);console.log("panel/index.jsx reached");jd.render(V.jsx(Md,{})); diff --git a/chrome-extension/dist/src/pages/panel/index.html b/chrome-extension/dist/src/pages/panel/index.html index a1d4f64..bc4f0ba 100644 --- a/chrome-extension/dist/src/pages/panel/index.html +++ b/chrome-extension/dist/src/pages/panel/index.html @@ -2,7 +2,7 @@ - + diff --git a/chrome-extension/src/pages/app/app.tsx b/chrome-extension/src/pages/app/app.tsx index fadd3ba..12befba 100644 --- a/chrome-extension/src/pages/app/app.tsx +++ b/chrome-extension/src/pages/app/app.tsx @@ -8,8 +8,9 @@ import isRelevantData from './functions/isRelevantData.ts'; function App() { // const [traceIdData, setTraceIdData] = useState(new Map()); - const [aggregatedData, setAggregatedData] = useState(new Map()); - const [relevantData, setRelevantData] = useState(new Map()); + // const [aggregatedData, setAggregatedData] = useState(new Map()); + // const [relevantData, setRelevantData] = useState(new Map()); + const [relevantData, setRelevantData] = useState([]); useEffect(() => { chrome.runtime.onMessage.addListener((message) => { @@ -45,8 +46,8 @@ function App() { return ( <> - {/* - */} + {/* */} + ) } diff --git a/chrome-extension/src/pages/app/components/NetworkTable.tsx b/chrome-extension/src/pages/app/components/NetworkTable.tsx index 376fe3e..6bb864a 100644 --- a/chrome-extension/src/pages/app/components/NetworkTable.tsx +++ b/chrome-extension/src/pages/app/components/NetworkTable.tsx @@ -1,30 +1,37 @@ // import { useState } from 'react' import TableRow from './TableRow'; // import { IMockData } from '../mockData'; -import { OtelData } from '../../../types/types'; +import { IRelevantData } from '../../../types/types'; interface NetworkTableProps { - // data: IMockData[][]; - data: OtelData[][] + data: IRelevantData; } const NetworkTable = ({data} : NetworkTableProps) => { - + // console.log(`networkTableData: ${data}`); + return ( + - + {/* */} - - - + + + {/* */} + + + + + + {/* */} @@ -34,6 +41,10 @@ const NetworkTable = ({data} : NetworkTableProps) => { ) })} + {/* {Object.entries(data).map(([key, val], index) => { + // console.log(`object.entries.map: ${key}, ${val}`) + return() + })}; */}
Trace IDTrace IDNameSpan IDApplication TypeOrig. Svc. Method Status Protocol TimeOrig. Svc.Application TypeSpan IDSize Type Endpoint
) } diff --git a/chrome-extension/src/pages/app/components/TableRow.tsx b/chrome-extension/src/pages/app/components/TableRow.tsx index 6efe296..f626a30 100644 --- a/chrome-extension/src/pages/app/components/TableRow.tsx +++ b/chrome-extension/src/pages/app/components/TableRow.tsx @@ -2,70 +2,96 @@ import { useState } from 'react' // import { IMockData } from '../mockData'; import { calcTotalTime } from '../functions/calcTotalTime'; import { ITotalTimes, getTraceTimeInfo } from '../functions/getTraceInfo'; -import { OtelData } from '../../../types/types'; +import { IRelevantData, OtelData } from '../../../types/types'; interface TableRowProps { - data: OtelData[]; + data: OtelData; } -const TableRow = ({data} : TableRowProps) => { +// const TableRow = ({data} : TableRowProps) => { - const [rowClick, setRowClick] = useState(false); - const multipleSpans = data.length > 1; +// // const [rowClick, setRowClick] = useState(false); +// // const multipleSpans = data.length > 1; - const traceTimeInfo: ITotalTimes[] = getTraceTimeInfo(data) - //console.log({data}); - return ( - <> - setRowClick(!rowClick)}> - - {multipleSpans ?
: null} - {data[0].traceId} +// // const traceTimeInfo: ITotalTimes[] = getTraceTimeInfo(data) +// //console.log({data}); +// return ( +// // <> +// /* setRowClick(!rowClick)}> +// +// {multipleSpans ?
: null} +// {data[0].traceId} - - {data[0].name} - {data[0].spanId} - {data[0].applicationType} - {data[0].originatingService} - {data[0].method} - {data[0].status} - {data[0].protocol} - {!rowClick? - traceTimeInfo[0].duration: - calcTotalTime(data[0].startTime, data[0].endTime) - } ms - - {/* commented out data types for now for better UI during presentation */} - {/* {data[0].size ? data[0].size : 0} - {data[0].type} - {data[0].urlEndpoint} */} - - {multipleSpans && rowClick? ( - data.slice(1).map((val, key) => { - return ( - - - {val.name} - {val.spanId} - {val.applicationType} - {val.originatingService} - {val.method} - {val.status} - {val.protocol} - {calcTotalTime(val.startTime, val.endTime)} ms - {/* {val.size ? val.size : 0} - {val.type} - {val.urlEndpoint} */} - - ) - }) - ): null - } - +// +// {data[0].name} +// {data[0].spanId} +// {data[0].applicationType} +// {data[0].originatingService} +// {data[0].method} +// {data[0].status} +// {data[0].protocol} +// {!rowClick? +// traceTimeInfo[0].duration: +// calcTotalTime(data[0].startTime, data[0].endTime) +// } ms +// +// {/* commented out data types for now for better UI during presentation */} +// {/* {data[0].size ? data[0].size : 0} +// {data[0].type} +// {data[0].urlEndpoint} */} +// // +// // {multipleSpans && rowClick? ( +// // data.slice(1).map((val, key) => { +// // return ( +// // +// // +// // {val.name} +// // {val.spanId} +// // {val.applicationType} +// // {val.originatingService} +// // {val.method} +// // {val.status} +// // {val.protocol} +// // {calcTotalTime(val.startTime, val.endTime)} ms +// // {/* {val.size ? val.size : 0} +// // {val.type} +// // {val.urlEndpoint} */} +// // +// // ) +// // }) +// // ): null +// // } */} + +// +// {data[0].name} +// {data[0].method} +// {data[0].status} +// {data[0].protocol} +// {calcTotalTime(data[0].startTime, data[0].endTime)} +// {data[0].originatingService} +// {data[0].applicationType} +// + - ) +// ) +// } + +const TableRow = ({data} : TableRowProps) => { + console.log(`tableRowData: ${data}`) + return ( + + {data.name} + {data.method} + {data.status} + {data.protocol} + {calcTotalTime(data.startTime, data.endTime)} + {data.originatingService} + {data.applicationType} + + ) } export default TableRow; + diff --git a/chrome-extension/src/pages/app/functions/isRelevantData.ts b/chrome-extension/src/pages/app/functions/isRelevantData.ts index 3cb2b4d..3af0351 100644 --- a/chrome-extension/src/pages/app/functions/isRelevantData.ts +++ b/chrome-extension/src/pages/app/functions/isRelevantData.ts @@ -16,16 +16,20 @@ export default function isRelevantData(setRelevantData:ISetRelevantDataState, in } setRelevantData(prevRelevantData => { - const newRelevantData: IRelevantData = new Map([...prevRelevantData.entries()]); + // const newRelevantData: IRelevantData = new Map([...prevRelevantData.entries()]); + const newRelevantData: IRelevantData = [...prevRelevantData]; + const newKeyName: string = `${method}, ${name}, ${traceId}`; - if(newRelevantData.has(newKeyName)){ - const existingData = newRelevantData.get(incomingSpanData.traceId); - existingData?.push(incomingSpanData); - }else{ - newRelevantData.set(newKeyName,[incomingSpanData]); - } + // if(newRelevantData.has(newKeyName)){ + // const existingData = newRelevantData.get(incomingSpanData.traceId); + // existingData?.push(incomingSpanData); + // }else{ + // newRelevantData.set(newKeyName,[incomingSpanData]); + // } + console.log(newKeyName); + newRelevantData.push(incomingSpanData); return newRelevantData; }) diff --git a/chrome-extension/src/types/types.ts b/chrome-extension/src/types/types.ts index 14d10fb..221624c 100644 --- a/chrome-extension/src/types/types.ts +++ b/chrome-extension/src/types/types.ts @@ -30,9 +30,11 @@ export type IChromeApiNetworkObject = { export type IAggregatedData = Map; -export type IRelevantData = Map; +// export type IRelevantData = Map; // key includes method, name, and traceId as a string +export type IRelevantData = OtelData[]; + export type ITraceIdData = Map; export type ISetRelevantDataState= Dispatch>; From 7d1f44641455d44d24ca1858190adec92055aa80 Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Wed, 5 Jul 2023 11:19:47 -0400 Subject: [PATCH 08/18] able to render but time logic is flawed --- .../dist/assets/panel-241d3b75.js | 57 +++++++++++ .../dist/assets/panel-53f4e568.js | 40 -------- .../dist/src/pages/panel/index.html | 2 +- chrome-extension/src/pages/app/app.tsx | 2 +- .../pages/app/components/WaterfallGraph.tsx | 20 ++-- .../src/pages/app/functions/chartJSData.ts | 53 +++++++--- .../src/pages/app/functions/getTraceInfo.ts | 99 +++++++++++++------ chrome-extension/src/types/types.ts | 2 + 8 files changed, 179 insertions(+), 96 deletions(-) create mode 100644 chrome-extension/dist/assets/panel-241d3b75.js delete mode 100644 chrome-extension/dist/assets/panel-53f4e568.js diff --git a/chrome-extension/dist/assets/panel-241d3b75.js b/chrome-extension/dist/assets/panel-241d3b75.js new file mode 100644 index 0000000..d011a9d --- /dev/null +++ b/chrome-extension/dist/assets/panel-241d3b75.js @@ -0,0 +1,57 @@ +var jp=Object.defineProperty;var Bp=(e,t,n)=>t in e?jp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var z=(e,t,n)=>(Bp(e,typeof t!="symbol"?t+"":t,n),n);import"./modulepreload-polyfill-3cfb730f.js";function Hp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var If={exports:{}},Js={},Nf={exports:{}},F={};/** + * @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 vr=Symbol.for("react.element"),Vp=Symbol.for("react.portal"),Wp=Symbol.for("react.fragment"),$p=Symbol.for("react.strict_mode"),Up=Symbol.for("react.profiler"),Yp=Symbol.for("react.provider"),Kp=Symbol.for("react.context"),Qp=Symbol.for("react.forward_ref"),Xp=Symbol.for("react.suspense"),Gp=Symbol.for("react.memo"),Zp=Symbol.for("react.lazy"),du=Symbol.iterator;function Jp(e){return e===null||typeof e!="object"?null:(e=du&&e[du]||e["@@iterator"],typeof e=="function"?e:null)}var jf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bf=Object.assign,Hf={};function di(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}di.prototype.isReactComponent={};di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Vf(){}Vf.prototype=di.prototype;function ra(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}var sa=ra.prototype=new Vf;sa.constructor=ra;Bf(sa,di.prototype);sa.isPureReactComponent=!0;var pu=Array.isArray,Wf=Object.prototype.hasOwnProperty,oa={current:null},$f={key:!0,ref:!0,__self:!0,__source:!0};function Uf(e,t,n){var i,r={},s=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(s=""+t.key),t)Wf.call(t,i)&&!$f.hasOwnProperty(i)&&(r[i]=t[i]);var l=arguments.length-2;if(l===1)r.children=n;else if(1>>1,U=M[V];if(0>>1;Vr(xe,D))jtr(Cr,xe)?(M[V]=Cr,M[jt]=D,V=jt):(M[V]=xe,M[Nt]=D,V=Nt);else if(jtr(Cr,D))M[V]=Cr,M[jt]=D,V=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,m=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(y=!1,v(M),!m)if(n(a)!==null)m=!0,it(w);else{var O=n(u);O!==null&&vt(_,O.startTime-M)}}function w(M,O){m=!1,y&&(y=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var V=f.callback;if(typeof V=="function"){f.callback=null,h=f.priorityLevel;var U=V(f.expirationTime<=O);O=e.unstable_now(),typeof U=="function"?f.callback=U:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&vt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125V?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(y?(p(b),b=-1):y=!0,vt(_,D-V))):(M.sortIndex=U,t(a,M),m||d||(m=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Gf);Xf.exports=Gf;var ug=Xf.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 Zf=pt,$t=ug;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nl=Object.prototype.hasOwnProperty,cg=/^[: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]*$/,mu={},yu={};function fg(e){return nl.call(yu,e)?!0:nl.call(mu,e)?!1:cg.test(e)?yu[e]=!0:(mu[e]=!0,!1)}function hg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function dg(e,t,n,i){if(t===null||typeof t>"u"||hg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var aa=/[\-:]([a-z])/g;function ua(e){return e[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(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ca(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2l||r[o]!==s[l]){var a=` +`+r[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{wo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function pg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case In:return"Portal";case il:return"Profiler";case fa:return"StrictMode";case rl:return"Suspense";case sl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case th:return(e.displayName||"Context")+".Consumer";case qf:return(e._context.displayName||"Context")+".Provider";case ha:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case da:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case Ae:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function gg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===fa?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function mg(e){var t=nh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=mg(e))}function ih(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=nh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ll(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function xu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rh(e,t){t=t.checked,t!=null&&ca(e,"checked",t,!1)}function al(e,t){rh(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ul(e,t.type,n):t.hasOwnProperty("defaultValue")&&ul(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function _u(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ul(e,t,n){(t!=="number"||xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Tr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={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},yg=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){yg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function ah(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function uh(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=ah(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var vg=tt({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 hl(e,t){if(t){if(vg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function dl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pl=null;function pa(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gl=null,Jn=null,qn=null;function Su(e){if(e=wr(e)){if(typeof gl!="function")throw Error(C(280));var t=e.stateNode;t&&(t=io(t),gl(e.stateNode,e.type,t))}}function ch(e){Jn?qn?qn.push(e):qn=[e]:Jn=e}function fh(){if(Jn){var e=Jn,t=qn;if(qn=Jn=null,Su(e),t)for(e=0;e>>=0,e===0?32:31-(Tg(e)/Lg|0)|0}var Lr=64,Or=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ss(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function xr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function Rg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Du=String.fromCharCode(32),zu=!1;function Oh(e,t){switch(e){case"keyup":return am.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function cm(e,t){switch(e){case"compositionend":return Dh(t);case"keypress":return t.which!==32?null:(zu=!0,Du);case"textInput":return e=t.data,e===Du&&zu?null:e;default:return null}}function fm(e,t){if(jn)return e==="compositionend"||!ka&&Oh(e,t)?(e=Th(),ss=xa=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Iu(n)}}function Ah(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ah(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ih(){for(var e=window,t=xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xs(e.document)}return t}function Sa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function _m(e){var t=Ih(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ah(n.ownerDocument.documentElement,n)){if(i!==null&&Sa(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Nu(n,s);var o=Nu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,wl=null,Bi=null,kl=!1;function ju(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kl||Bn==null||Bn!==xs(i)||(i=Bn,"selectionStart"in i&&Sa(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ms(wl,"onSelect"),0Wn||(e.current=El[Wn],El[Wn]=null,Wn--)}function $(e,t){Wn++,El[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Es(){K(Rt),K(St)}function Yu(e,t,n){if(St.current!==rn)throw Error(C(168));$(St,t),$(Rt,n)}function Yh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,gg(e)||"Unknown",r));return tt({},n,i)}function Ts(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,$(St,e),$(Rt,Rt.current),!0}function Ku(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Yh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,K(Rt),K(St),$(St,e)):K(Rt),$(Rt,n)}var be=null,ro=!1,Ao=!1;function Kh(e){be===null?be=[e]:be.push(e)}function Dm(e){ro=!0,Kh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=B;try{var n=be;for(B=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(R){return t(p,R)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Pr:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ae&&tc(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ds(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case In:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=$o(v,p.mode,_),g.return=p,p=g}return o(p);case Ae:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return m(p,g,v,_);if(mi(v))return y(p,g,v,_);Nr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=Wo(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=ed(!0),nd=ed(!1),kr={},ye=an(kr),or=an(kr),lr=an(kr);function xn(e){if(e===kr)throw Error(C(174));return e}function Da(e,t){switch($(lr,t),$(or,e),$(ye,kr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fl(t,e)}K(ye),$(ye,t)}function ai(){K(ye),K(or),K(lr)}function id(e){xn(lr.current);var t=xn(ye.current),n=fl(t,e.type);t!==n&&($(or,e),$(ye,n))}function za(e){or.current===e&&(K(ye),K(or))}var J=an(0);function Fs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Io=[];function Ra(){for(var e=0;en?n:4,e(!0);var i=No.transition;No.transition={};try{e(!1),t()}finally{B=n,No.transition=i}}function xd(){return te().memoizedState}function Am(e,t,n){var i=Je(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},_d(e))wd(t,n);else if(n=Zh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),kd(n,t,i)}}function Im(e,t,n){var i=Je(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(_d(e))wd(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,La(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Zh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),kd(n,t,i))}}function _d(e){var t=e.alternate;return e===q||t!==null&&t===q}function wd(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ma(e,n)}}var Is={readContext:qt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},Nm={readContext:qt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:nc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,us(4194308,4,pd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){return us(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Am.bind(null,q,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:ec,useDebugValue:ja,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=ec(!1),t=e[0];return e=Fm.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=q,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),ht===null)throw Error(C(349));Mn&30||od(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,nc(ad.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,ld.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=ht.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Od(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":Y("cancel",e),Y("close",e),r=i;break;case"iframe":case"object":case"embed":Y("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=J.current,$(J,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return Ua(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Ym(e,t){switch(Ca(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),K(Rt),K(St),Ra(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return za(t),null;case 13:if(K(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return K(J),null;case 4:return ai(),null;case 10:return Ta(t.type._context),null;case 22:case 23:return Ua(),null;case 24:return null;default:return null}}var Br=!1,kt=!1,Km=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var fc=!1;function Qm(e,t){if(Sl=bs,e=Ih(),Sa(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,x=m.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?y:ne(t.type,y),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return m=fc,fc=!1,m}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Rd(e){var t=e.alternate;t!==null&&(e.alternate=null,Rd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Lm],delete t[Om])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function hc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var dt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Ad(e,t,n),n=n.sibling}function Ad(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=dt,r=ie;dt=null,Re(e,t,n),dt=i,ie=r,dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):dt.removeChild(n.stateNode));break;case 18:dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(dt,n.stateNode));break;case 4:i=dt,r=ie,dt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),dt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function dc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Km),t.forEach(function(i){var r=i0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Gm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Wa?_n(e,0):Va|=n),At(e,t)}function $d(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function n0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$d(e,n)}function i0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),$d(e,n)}var Ud;Ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,$m(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Qh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Aa(null,t,i,e,r,n);var s=Ia();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Oa(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&ba(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=s0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=ac(null,t,i,e,n);break t;case 11:t=oc(null,t,i,e,n);break t;case 14:t=lc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),ac(e,t,i,r,n);case 3:t:{if(Ed(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Jh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=uc(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=uc(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=nd(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return id(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Pd(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Td(e,t,n);case 4:return Da(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),oc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,$(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),lc(e,t,i,r,n);case 15:return Cd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),td(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Ld(e,t,n);case 22:return Md(e,t,n)}throw Error(C(156,t.tag))};function Yd(e,t){return vh(e,t)}function r0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new r0(e,t,n,i)}function Ka(e){return e=e.prototype,!(!e||!e.isReactComponent)}function s0(e){if(typeof e=="function")return Ka(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ha)return 11;if(e===da)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ka(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case fa:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case eh:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case qf:o=10;break t;case th:o=9;break t;case ha:o=11;break t;case da:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=eh,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function o0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Qa(e,t,n,i,r,s,o,l,a){return e=new o0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oa(s),e}function l0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gd)}catch(e){console.error(e)}}Gd(),Qf.exports=Ut;var h0=Qf.exports,Zd,wc=h0;Zd=wc.createRoot,wc.hydrateRoot;function Ql(e,t){return t-e}const d0=({data:e})=>(console.log(`tableRowData: ${e}`),Q.jsxs("tr",{children:[Q.jsx("td",{children:e.name}),Q.jsx("td",{children:e.method}),Q.jsx("td",{children:e.status}),Q.jsx("td",{children:e.protocol}),Q.jsx("td",{children:Ql(e.startTime,e.endTime)}),Q.jsx("td",{children:e.originatingService}),Q.jsx("td",{children:e.applicationType})]})),p0=({data:e})=>Q.jsxs("table",{children:[Q.jsxs("tr",{children:[Q.jsx("th",{children:"Name"}),Q.jsx("th",{children:"Method"}),Q.jsx("th",{children:"Status"}),Q.jsx("th",{children:"Protocol"}),Q.jsx("th",{children:"Time"}),Q.jsx("th",{children:"Orig. Svc."}),Q.jsx("th",{children:"Application Type"})]}),e.map((t,n)=>Q.jsx(d0,{data:t},n))]});function g0(e){const t=[];return e.map((n,i)=>{const r=[],s=Ql(e[0].startTime,n.startTime),o=Ql(n.endTime,n.startTime),l=s+o;r.push(s,l),t.push(r)}),t}function m0(e){return e.map(n=>n.name)}/*! + * @kurkle/color v0.3.2 + * https://github.com/kurkle/color#readme + * (c) 2023 Jukka Kurkela + * Released under the MIT License + */function Sr(e){return e+.5|0}const Ve=(e,t,n)=>Math.max(Math.min(e,n),t);function zi(e){return Ve(Sr(e*2.55),0,255)}function tn(e){return Ve(Sr(e*255),0,255)}function Ce(e){return Ve(Sr(e/2.55)/100,0,1)}function kc(e){return Ve(Sr(e*100),0,100)}const Kt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Xl=[..."0123456789ABCDEF"],y0=e=>Xl[e&15],v0=e=>Xl[(e&240)>>4]+Xl[e&15],Wr=e=>(e&240)>>4===(e&15),x0=e=>Wr(e.r)&&Wr(e.g)&&Wr(e.b)&&Wr(e.a);function _0(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&Kt[e[1]]*17,g:255&Kt[e[2]]*17,b:255&Kt[e[3]]*17,a:t===5?Kt[e[4]]*17:255}:(t===7||t===9)&&(n={r:Kt[e[1]]<<4|Kt[e[2]],g:Kt[e[3]]<<4|Kt[e[4]],b:Kt[e[5]]<<4|Kt[e[6]],a:t===9?Kt[e[7]]<<4|Kt[e[8]]:255})),n}const w0=(e,t)=>e<255?t(e):"";function k0(e){var t=x0(e)?y0:v0;return e?"#"+t(e.r)+t(e.g)+t(e.b)+w0(e.a,t):void 0}const S0=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Jd(e,t,n){const i=t*Math.min(n,1-n),r=(s,o=(s+e/30)%12)=>n-i*Math.max(Math.min(o-3,9-o,1),-1);return[r(0),r(8),r(4)]}function b0(e,t,n){const i=(r,s=(r+e/60)%6)=>n-n*t*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function C0(e,t,n){const i=Jd(e,1,.5);let r;for(t+n>1&&(r=1/(t+n),t*=r,n*=r),r=0;r<3;r++)i[r]*=1-t-n,i[r]+=t;return i}function M0(e,t,n,i,r){return e===r?(t-n)/i+(t.5?c/(2-s-o):c/(s+o),a=M0(n,i,r,c,s),a=a*60+.5),[a|0,u||0,l]}function qa(e,t,n,i){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,i)).map(tn)}function tu(e,t,n){return qa(Jd,e,t,n)}function P0(e,t,n){return qa(C0,e,t,n)}function E0(e,t,n){return qa(b0,e,t,n)}function qd(e){return(e%360+360)%360}function T0(e){const t=S0.exec(e);let n=255,i;if(!t)return;t[5]!==i&&(n=t[6]?zi(+t[5]):tn(+t[5]));const r=qd(+t[2]),s=+t[3]/100,o=+t[4]/100;return t[1]==="hwb"?i=P0(r,s,o):t[1]==="hsv"?i=E0(r,s,o):i=tu(r,s,o),{r:i[0],g:i[1],b:i[2],a:n}}function L0(e,t){var n=Ja(e);n[0]=qd(n[0]+t),n=tu(n),e.r=n[0],e.g=n[1],e.b=n[2]}function O0(e){if(!e)return;const t=Ja(e),n=t[0],i=kc(t[1]),r=kc(t[2]);return e.a<255?`hsla(${n}, ${i}%, ${r}%, ${Ce(e.a)})`:`hsl(${n}, ${i}%, ${r}%)`}const Sc={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},bc={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function D0(){const e={},t=Object.keys(bc),n=Object.keys(Sc);let i,r,s,o,l;for(i=0;i>16&255,s>>8&255,s&255]}return e}let $r;function z0(e){$r||($r=D0(),$r.transparent=[0,0,0,0]);const t=$r[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const R0=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function F0(e){const t=R0.exec(e);let n=255,i,r,s;if(t){if(t[7]!==i){const o=+t[7];n=t[8]?zi(o):Ve(o*255,0,255)}return i=+t[1],r=+t[3],s=+t[5],i=255&(t[2]?zi(i):Ve(i,0,255)),r=255&(t[4]?zi(r):Ve(r,0,255)),s=255&(t[6]?zi(s):Ve(s,0,255)),{r:i,g:r,b:s,a:n}}}function A0(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Ce(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Uo=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,An=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function I0(e,t,n){const i=An(Ce(e.r)),r=An(Ce(e.g)),s=An(Ce(e.b));return{r:tn(Uo(i+n*(An(Ce(t.r))-i))),g:tn(Uo(r+n*(An(Ce(t.g))-r))),b:tn(Uo(s+n*(An(Ce(t.b))-s))),a:e.a+n*(t.a-e.a)}}function Ur(e,t,n){if(e){let i=Ja(e);i[t]=Math.max(0,Math.min(i[t]+i[t]*n,t===0?360:1)),i=tu(i),e.r=i[0],e.g=i[1],e.b=i[2]}}function tp(e,t){return e&&Object.assign(t||{},e)}function Cc(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=tn(e[3]))):(t=tp(e,{r:0,g:0,b:0,a:1}),t.a=tn(t.a)),t}function N0(e){return e.charAt(0)==="r"?F0(e):T0(e)}class hr{constructor(t){if(t instanceof hr)return t;const n=typeof t;let i;n==="object"?i=Cc(t):n==="string"&&(i=_0(t)||z0(t)||N0(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=tp(this._rgb);return t&&(t.a=Ce(t.a)),t}set rgb(t){this._rgb=Cc(t)}rgbString(){return this._valid?A0(this._rgb):void 0}hexString(){return this._valid?k0(this._rgb):void 0}hslString(){return this._valid?O0(this._rgb):void 0}mix(t,n){if(t){const i=this.rgb,r=t.rgb;let s;const o=n===s?.5:n,l=2*o-1,a=i.a-r.a,u=((l*a===-1?l:(l+a)/(1+l*a))+1)/2;s=1-u,i.r=255&u*i.r+s*r.r+.5,i.g=255&u*i.g+s*r.g+.5,i.b=255&u*i.b+s*r.b+.5,i.a=o*i.a+(1-o)*r.a,this.rgb=i}return this}interpolate(t,n){return t&&(this._rgb=I0(this._rgb,t._rgb,n)),this}clone(){return new hr(this.rgb)}alpha(t){return this._rgb.a=tn(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=Sr(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Ur(this._rgb,2,t),this}darken(t){return Ur(this._rgb,2,-t),this}saturate(t){return Ur(this._rgb,1,t),this}desaturate(t){return Ur(this._rgb,1,-t),this}rotate(t){return L0(this._rgb,t),this}}/*! + * Chart.js v4.3.0 + * https://www.chartjs.org + * (c) 2023 Chart.js Contributors + * Released under the MIT License + */function _e(){}const j0=(()=>{let e=0;return()=>e++})();function H(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function I(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ft(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ft(e)?e:t}function N(e,t){return typeof e>"u"?t:e}const B0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function W(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function j(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function W0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function $0(e){const t=W0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Mc[t]||(Mc[t]=$0(t)))(e)}function eu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const pr=e=>typeof e<"u",sn=e=>typeof e=="function",Pc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function U0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Us=Number.POSITIVE_INFINITY,Y0=yt/180,zt=yt/2,cn=yt/4,Ec=yt*2/3,We=Math.log10,en=Math.sign;function ps(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ys(e){return!isNaN(parseFloat(e))&&isFinite(e)}function Q0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function np(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function iu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Gl=(e,t,n,i)=>iu(e,n,i?r=>{const s=e[r][t];return se[r][t]iu(e,n,i=>e[i][t]>=n);function ty(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+eu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Oc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(ip.forEach(s=>{delete e[s]}),delete e._chartjs)}function rp(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const sp=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function op(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,sp.call(window,()=>{i=!1,e.apply(t,n)}))}}function ny(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const ru=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,iy=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Yr=e=>e===0||e===1,Dc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),zc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Yr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Yr(e)?e:Dc(e,.075,.3),easeOutElastic:e=>Yr(e)?e:zc(e,.075,.3),easeInOutElastic(e){return Yr(e)?e:e<.5?.5*Dc(e*2,.1125,.45):.5+.5*zc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function lp(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Rc(e){return lp(e)?e:new hr(e)}function Yo(e){return lp(e)?e:new hr(e).saturate(.5).darken(.1).hexString()}const ry=["x","y","borderWidth","radius","tension"],sy=["color","borderColor","backgroundColor"];function oy(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:sy},numbers:{type:"number",properties:ry}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function ly(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fc=new Map;function ay(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Fc.get(n);return i||(i=new Intl.NumberFormat(e,t),Fc.set(n,i)),i}function su(e,t,n){return ay(t,n).format(e)}const ap={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=uy(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),su(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?ap.numeric.call(this,e,t,n):""}};function uy(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var go={formatters:ap};function cy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:go.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Zl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Yo(r.backgroundColor),this.hoverBorderColor=(i,r)=>Yo(r.borderColor),this.hoverColor=(i,r)=>Yo(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Ko(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Ko(Zl,t,n)}override(t,n){return Ko(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return I(a)?Object.assign({},u,a):N(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new fy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[oy,ly,cy]);function hy(e){return!e||H(e.size)||H(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ks(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function dy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,py(e,s),a=0;a+e||0;function cp(e,t){const n={},i=I(t),r=i?Object.keys(t):t,s=I(e)?i?o=>N(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=_y(s(o));return n}function fp(e){return cp(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return cp(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=fp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ut(e,t){e=e||{},t=t||nt.font;let n=N(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=N(e.style,t.style);i&&!(""+i).match(vy)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:N(e.family,t.family),lineHeight:xy(N(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:N(e.weight,t.weight),string:""};return r.string=hy(r),r}function Kr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function au(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=gp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>au([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return dp(l,a,()=>Ty(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return jc(l).includes(a)},ownKeys(l){return jc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:hp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return dp(s,o,()=>Sy(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function hp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const ky=(e,t)=>e?e+eu(t):t,uu=(e,t)=>I(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function dp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function Sy(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=by(t,l,e,n)),G(l)&&l.length&&(l=Cy(t,l,e,o.isIndexable)),uu(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function by(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),uu(e,a)&&(a=cu(r._scopes,r,e,a)),a}function Cy(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(I(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=cu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function pp(e,t,n){return sn(e)?e(t,n):e}const My=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function Py(e,t,n,i,r){for(const s of t){const o=My(n,s);if(o){e.add(o);const l=pp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function cu(e,t,n,i){const r=t._rootScopes,s=pp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Nc(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Nc(l,o,s,a,i),a===null)?!1:au(Array.from(l),[""],r,s,()=>Ey(t,n,i))}function Nc(e,t,n,i,r){for(;n;)n=Py(e,t,n,i,r);return n}function Ey(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&I(n)?n:r||{}}function Ty(e,t,n,i){let r;for(const s of t)if(r=gp(ky(s,e),n),typeof r<"u")return uu(e,r)?cu(n,i,e,r):r}function gp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function jc(e){let t=e._keys;return t||(t=e._keys=Ly(e._scopes)),t}function Ly(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function mp(){return typeof window<"u"&&typeof document<"u"}function fu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Qs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const mo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Oy(e,t){return mo(e).getPropertyValue(t)}const Dy=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Dy[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const zy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function Ry(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(zy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=mo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=Ry(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:m}=t;return s&&(d-=o.width+l.width,m-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/m*n.height/i)}}function Fy(e,t,n){let i,r;if(t===void 0||n===void 0){const s=fu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=mo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Qs(l.maxWidth,s,"clientWidth"),r=Qs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Us,maxHeight:r||Us}}const Qr=e=>Math.round(e*10)/10;function Ay(e,t,n,i){const r=mo(e),s=Sn(r,"margin"),o=Qs(r.maxWidth,e,"clientWidth")||Us,l=Qs(r.maxHeight,e,"clientHeight")||Us,a=Fy(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Qr(Math.min(u,o,a.maxWidth)),c=Qr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Qr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Qr(Math.floor(c*i))),{width:u,height:c}}function Bc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Iy=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Hc(e,t){const n=Oy(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const Ny=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},jy=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?Ny(t,n):jy()}function yp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function vp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! + * Chart.js v4.3.0 + * https://www.chartjs.org + * (c) 2023 Chart.js Contributors + * Released under the MIT License + */class By{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,r){const s=n.listeners[r],o=n.duration;s.forEach(l=>l({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=sp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new By;const Vc="transparent",Hy={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Rc(e||Vc),r=i.valid&&Rc(t||Vc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Vy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||Hy[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!I(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=$y(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Wy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Vy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Wy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Kc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Qy(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Zy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Jy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Qc=(e,t)=>t?e:Object.assign({},e),qy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:_p(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Uc(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,m)=>f==="x"?h:f==="r"?m:d,s=n.xAxisID=N(i.xAxisID,Qo(t,"x")),o=n.yAxisID=N(i.yAxisID,Qo(t,"y")),l=n.rAxisID=N(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Oc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(I(n))this._data=Ky(n);else if(i!==n){if(i){Oc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ey(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=Uc(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Kc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):I(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]y||f=0;--h)if(!m()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),y=u.resolveNamedOptions(h,d,m,f);return y.$shared&&(y.$shared=a,s[o]=Object.freeze(Qc(y,a))),y}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new xp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function ev(e){const t=e.iScale,n=tv(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function wp(e,t,n,i){return G(e)?rv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Xc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function ov(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(H(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var gv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function qc(e,t){return e.filter(n=>kp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function mv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=qc(t,"x"),a=qc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function tf(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function Sp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function _v(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!I(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&Sp(o,s.getPadding());const l=Math.max(0,t.outerWidth-tf(o,e,"left","right")),a=Math.max(0,t.outerHeight-tf(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function wv(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function kv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof y.beforeLayout=="function"&&y.beforeLayout()});const c=a.reduce((y,x)=>x.box.options&&x.box.options.display===!1?y:y+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);Sp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),m=vv(a.concat(u),f);Ri(l.fullSize,d,f,m),Ri(a,d,f,m),Ri(u,d,f,m)&&Ri(a,d,f,m),wv(d),ef(l.leftAndTop,d,f,m),d.x+=d.w,d.y+=d.h,ef(l.rightAndBottom,d,f,m),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},j(l.chartArea,y=>{const x=y.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class bp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class Sv extends bp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",bv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},nf=e=>e===null||e==="";function Cv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",nf(r)){const s=Hc(e,"width");s!==void 0&&(e.width=s)}if(nf(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Hc(e,"height");s!==void 0&&(e.height=s)}return e}const Cp=Iy?{passive:!0}:!1;function Mv(e,t,n){e.addEventListener(t,n,Cp)}function Pv(e,t,n){e.canvas.removeEventListener(t,n,Cp)}function Ev(e,t){const n=bv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Lv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let rf=0;function Mp(){const e=window.devicePixelRatio;e!==rf&&(rf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Ov(e,t){mr.size||window.addEventListener("resize",Mp),mr.set(e,t)}function Dv(e){mr.delete(e),mr.size||window.removeEventListener("resize",Mp)}function zv(e,t,n){const i=e.canvas,r=i&&fu(i);if(!r)return;const s=op((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Ov(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Dv(e)}function Rv(e,t,n){const i=e.canvas,r=op(s=>{e.ctx!==null&&n(Ev(s,e))},e);return Mv(i,t,r),r}class Fv extends bp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Cv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];H(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Tv,detach:Lv,resize:zv}[n]||Rv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Pv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Ay(t,n,i,r)}isAttached(t){const n=fu(t);return!!(n&&n.isConnected)}}function Av(e){return!mp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?Sv:Fv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Iv(e,t){const n=e.options.ticks,i=Nv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?Bv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Hv(t,u,s,o/r),u;const c=jv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,H(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function Bv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,sf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,of=(e,t)=>Math.min(t||e,e);function lf(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function Uv(e,t){j(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){W(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=wy(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-af(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=nu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){W(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){W(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=af(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,m=$e(this.labelRotation),y=Math.cos(m),x=Math.sin(m);if(l){const p=i.mirror?0:x*f.width+y*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:y*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,y)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){W(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return J0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],m=l.setContext(this.getContext()),y=m.display?m.width:0,x=y/2,p=function(it){return fn(i,it,y)};let g,v,_,w,k,S,b,T,E,L,R,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=N(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Jv(e){return"id"in e&&"defaults"in e}class qv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):j(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=eu(t);W(i["before"+r],[],i),n[t](i),W(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function e1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&uf(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function cf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function a1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return cf(e,"x",n[0])||cf(e,"y",n[0])}return{}}function u1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Jl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!I(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=ql(o,l,a1(o,e),nt.scales[l.type]),u=o1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Jl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=s1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Pp(e){const t=e.options||(e.options={});t.plugins=N(t.plugins,{}),t.scales=u1(e,t)}function Ep(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function c1(e){return e=e||{},e.data=Ep(e.data),Pp(e),e}const ff=new Map,Tp=new Set;function Jr(e,t){let n=ff.get(e);return n||(n=t(),ff.set(e,n),Tp.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class f1{constructor(t){this._config=c1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Ep(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Pp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Zl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Tp.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Zl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=hf(this._resolverCache,t,r);let a=o;if(d1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=hf(this._resolverCache,t,i);return I(n)?hi(s,n,void 0,r):s}}function hf(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:au(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const h1=e=>I(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function d1(e,t){const{isScriptable:n,isIndexable:i}=hp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||h1(l))||o&&G(l))return!0}return!1}var p1="4.3.0";const g1=["top","bottom","left","right","chartArea"];function df(e,t){return e==="top"||e==="bottom"||g1.indexOf(e)===-1&&t==="x"}function pf(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function gf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),W(n&&n.onComplete,[e],t)}function m1(e){const t=e.chart,n=t.options.animation;W(n&&n.onProgress,[e],t)}function Lp(e){return mp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},mf=e=>{const t=Lp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function y1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function v1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function x1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),yf()}static unregister(...t){de.remove(...t),yf()}constructor(t,n){const i=this.config=new f1(n),r=Lp(t),s=mf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Av(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=j0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new t1,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ny(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",gf),we.listen(this,"progress",m1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return H(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ac(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),W(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};j(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=ql(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),j(s,o=>{const l=o.options,a=l.id,u=ql(a,l),c=N(l.type,o.dtype);(l.position===void 0||df(l.position,u)!==df(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),j(r,(o,l)=>{o||delete i[l]}),j(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(pf("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){j(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;y1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],j(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=x1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&ou(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&lu(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=gv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};j(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){j(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},j(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=U0(t),u=v1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,W(s.onHover,[t,l,this],this),a&&W(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",p1),z(Fe,"getChart",mf),Fe);function yf(){return j(yo.instances,e=>e._plugins.invalidate())}function Op(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function _1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=fp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function w1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||I(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function k1(e){const t=Op(e),n=t.right-t.left,i=t.bottom-t.top,r=_1(e,n/2,i/2),s=w1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Op(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function S1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function b1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=k1(this),l=S1(o.radius)?gr:b1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const vf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},C1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class xf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=W(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ut(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=vf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((m,y)=>{const x=i+n/2+s.measureText(m.text).width;(y===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(y>0?0:1)]=0,d+=c,h++),a[y]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,m=0,y=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=M1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),m+=h+l,y++,h=d=0),a[p]={left:m,top:d,col:y,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ou(t,this),this._draw(),lu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ut(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:m,boxHeight:y,itemHeight:x}=vf(o,f),p=function(k,S,b){if(isNaN(m)||m<=0||isNaN(y)||y<0)return;r.save();const T=N(b.lineWidth,1);if(r.fillStyle=N(b.fillStyle,l),r.lineCap=N(b.lineCap,"butt"),r.lineDashOffset=N(b.lineDashOffset,0),r.lineJoin=N(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=N(b.strokeStyle,l),r.setLineDash(N(b.lineDash,[])),o.usePointStyle){const E={radius:y*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,m/2),R=S+h;up(r,E,L,R,o.pointStyleWidth&&m)}else{const E=S+Math.max((f-y)/2,0),L=a.leftForLtr(k,m),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(st=>st!==0)?gr(r,{x:L,y:E,w:m,h:y,radius:R}):r.rect(L,E,m,y),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},yp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=m+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,R,k),L=iy(T,L+m+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Dp(k,It)}else d.y+=w}),vp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ut(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const m=this.columnSizes.reduce((y,x)=>Math.max(y,x.height),0);c=u+wt(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(ru(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ut(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function E1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Dp(t,n)),i}function Dp(e,t){const n=e.text?e.text.length+.5:0;return t*n}function T1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var L1={id:"legend",_element:xf,start(e,t,n){const i=e.legend=new xf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class zp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ut(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ut(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:ru(n.align),textBaseline:"middle",translation:[o,l]})}}function O1(e,t){const n=new zp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var D1={id:"title",_element:zp,start(e,t,n){O1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;t-1?e.split(` +`):e}function z1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function _f(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ut(t.bodyFont),u=ut(t.titleFont),c=ut(t.footerFont),f=s.length,h=r.length,d=i.length,m=bt(t.padding);let y=m.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(y+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;y+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(y+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,j(e.title,v),n.font=a.string,j(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,j(i,_=>{j(_.before,v),j(_.lines,v),j(_.after,v)}),g=0,n.font=c.string,j(e.footer,v),n.restore(),x+=m.width,{width:x,height:y}}function R1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function F1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function A1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),F1(u,e,t,n)&&(u="center"),u}function wf(e,t,n){const i=n.yAlign||t.yAlign||R1(e,n);return{xAlign:n.xAlign||t.xAlign||A1(e,t,n,i),yAlign:i}}function I1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function N1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function kf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let m=I1(t,l);const y=N1(t,a,u);return a==="center"?l==="left"?m+=u:l==="right"&&(m-=u):l==="left"?m-=Math.max(c,h)+r:l==="right"&&(m+=Math.max(f,d)+r),{x:se(m,0,i.width-t.width),y:se(y,0,i.height-t.height)}}function qr(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function Sf(e){return fe([],ke(e))}function j1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function bf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Rp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Rp[t].call(n,i):r}class ta extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new xp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=j1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return Sf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return j(t,s=>{const o={before:[],lines:[],after:[]},l=bf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return Sf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),j(l,c=>{const f=bf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=_f(this,i),u=Object.assign({},l,a),c=wf(this.chart,i,u),f=kf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:m,height:y}=n;let x,p,g,v,_,w;return s==="center"?(_=d+y/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+m,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+m-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+y,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ut(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:y,y:m,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:m+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(y,m,u,a),t.strokeRect(y,m,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,m+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ut(i.bodyFont);let h=f.lineHeight,d=0;const m=ii(i.rtl,this.x,this.width),y=function(b){n.fillText(b,m.x(t.x+d),t.y+h/2),t.y+=h+s},x=m.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,j(this.beforeBody,y),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=_f(this,t),a=Object.assign({},o,this._size),u=wf(n,t,a),c=kf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),yp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),vp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ta,"positioners",Fi);var B1={id:"tooltip",_element:ta,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ta({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Rp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const H1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function V1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return H1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const W1=(e,t)=>e===null?null:se(Math.round(e),0,t);function Cf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ea,"id","category"),z(ea,"defaults",{ticks:{callback:Cf}});function $1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,m=c-1,{min:y,max:x}=t,p=!H(o),g=!H(l),v=!H(u),_=(x-y)/(f+1);let w=Tc((x-y)/m/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:y},{value:x}];T=Math.ceil(x/w)-Math.floor(y/w),T>m&&(w=Tc(T*w/m/d)*d),H(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(y/w)*w,b=Math.ceil(x/w)*w):(S=y,b=x),p&&g&&s&&Q0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Lc(w),Lc(S));k=Math.pow(10,H(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Mf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Mf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return H(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=$1(r,s);return t.bounds==="ticks"&&np(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return su(t,this.chart.options.locale,this.options.ticks.format)}}class na extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?t:0,this.max=ft(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(na,"id","linear"),z(na,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Pf(e){return e/Math.pow(10,yr(e))===1}function Ef(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function U1(e,t){const n=t-e;let i=yr(n);for(;Ef(e,t,i)>10;)i++;for(;Ef(e,t,i)<10;)i--;return Math.min(i,yr(e))}function Y1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=U1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Pf(d),significand:f}),i}class Tf extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ft(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?Math.max(0,t):null,this.max=ft(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ft(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=Y1(n,this);return t.bounds==="ticks"&&np(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":su(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Tf,"id","logarithmic"),z(Tf,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function ia(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return N(t.font&&t.font.size,nt.font.size)+n.height}return 0}function K1(e,t,n){return n=G(n)?n:[n],{w:dy(e,t.string,n),h:n.length*t.lineHeight}}function Lf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function Q1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function G1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(nu(pe(a.angle+zt))),c=ex(a.y,l.h,u),f=q1(u),h=tx(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function Z1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function J1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:ia(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function nx(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!H(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(m=>m!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function ix(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));nx(n,o,s);const l=ut(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Fp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=W(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?Q1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(H(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(H(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),m=s.setContext(h);rx(this,d,a,o,m)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ut(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function ox(e,t){return e-t}function Of(e,t){if(H(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ft(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Df(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function ax(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ux(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function Rf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Df(s.minUnit,n,i,this._getLabelCapacity(n)),l=N(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const m=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hy-x).map(y=>+y)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return W(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Gl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Gl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Ff extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Ap;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function fx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ap;const n={labels:[],datasets:[]};return Ip(n,e.labels),Np(n,e.datasets,t),n}function hx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=pt.useRef(null),m=pt.useRef(),y=()=>{d.current&&(m.current=new yo(d.current,{type:o,data:fx(l,s),options:a&&{...a},plugins:u}),Af(t,m.current))},x=()=>{Af(t,null),m.current&&(m.current.destroy(),m.current=null)};return pt.useEffect(()=>{!r&&m.current&&a&&cx(m.current,a)},[r,a]),pt.useEffect(()=>{!r&&m.current&&Ip(m.current.config.data,l.labels)},[r,l.labels]),pt.useEffect(()=>{!r&&m.current&&l.datasets&&Np(m.current.config.data,l.datasets,s)},[r,l.datasets]),pt.useEffect(()=>{m.current&&(r?(x(),setTimeout(y)):m.current.update(f))},[r,a,l.labels,l.datasets,f]),pt.useEffect(()=>{m.current&&(x(),setTimeout(y))},[o]),pt.useEffect(()=>(y(),()=>x()),[]),Yf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const dx=pt.forwardRef(hx);function px(e,t){return yo.register(t),pt.forwardRef((n,i)=>Yf.createElement(dx,Object.assign({},n,{ref:i,type:e})))}const gx=px("bar",gs);yo.register(ea,na,vs,D1,B1,L1);const mx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},yx=({data:e})=>{const t=m0(e),n=g0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return Q.jsx(gx,{options:mx,data:i})};function vx(e,t){if(!("method"in t)||t.method==="")return;const{name:n,method:i,traceId:r}=t;n.startsWith("/?key=")||e(s=>{const o=[...s],l=`${i}, ${n}, ${r}`;return console.log(l),o.push(t),o})}function xx(){const[e,t]=pt.useState([]);return pt.useEffect(()=>{chrome.runtime.onMessage.addListener(n=>{console.log(`chromeApiRequestData: ${n.type}, startTime ${n.startTime}`,n)})},[]),pt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",i=>{try{console.log(i.data),vx(t,JSON.parse(i.data))}catch(r){console.log("failed",r)}})},[]),pt.useEffect(()=>{console.log(e)},[e]),Q.jsxs(Q.Fragment,{children:[Q.jsx(yx,{data:e}),Q.jsx(p0,{data:e})]})}const _x=document.getElementById("root"),wx=Zd(_x);console.log("panel/index.jsx reached");wx.render(Q.jsx(xx,{})); diff --git a/chrome-extension/dist/assets/panel-53f4e568.js b/chrome-extension/dist/assets/panel-53f4e568.js deleted file mode 100644 index 0506e5c..0000000 --- a/chrome-extension/dist/assets/panel-53f4e568.js +++ /dev/null @@ -1,40 +0,0 @@ -import"./modulepreload-polyfill-3cfb730f.js";var Bi={exports:{}},el={},Hi={exports:{}},T={};/** - * @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 Xt=Symbol.for("react.element"),rc=Symbol.for("react.portal"),lc=Symbol.for("react.fragment"),oc=Symbol.for("react.strict_mode"),uc=Symbol.for("react.profiler"),ic=Symbol.for("react.provider"),sc=Symbol.for("react.context"),ac=Symbol.for("react.forward_ref"),cc=Symbol.for("react.suspense"),fc=Symbol.for("react.memo"),dc=Symbol.for("react.lazy"),Mu=Symbol.iterator;function pc(e){return e===null||typeof e!="object"?null:(e=Mu&&e[Mu]||e["@@iterator"],typeof e=="function"?e:null)}var Wi={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Qi=Object.assign,Ki={};function ot(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}ot.prototype.isReactComponent={};ot.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,n,"setState")};ot.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Yi(){}Yi.prototype=ot.prototype;function Uo(e,n,t){this.props=e,this.context=n,this.refs=Ki,this.updater=t||Wi}var $o=Uo.prototype=new Yi;$o.constructor=Uo;Qi($o,ot.prototype);$o.isPureReactComponent=!0;var Du=Array.isArray,Xi=Object.prototype.hasOwnProperty,Ao={current:null},Gi={key:!0,ref:!0,__self:!0,__source:!0};function Zi(e,n,t){var r,l={},o=null,u=null;if(n!=null)for(r in n.ref!==void 0&&(u=n.ref),n.key!==void 0&&(o=""+n.key),n)Xi.call(n,r)&&!Gi.hasOwnProperty(r)&&(l[r]=n[r]);var i=arguments.length-2;if(i===1)l.children=t;else if(1>>1,G=x[W];if(0>>1;Wl(gl,z))ynl(er,gl)?(x[W]=er,x[yn]=z,W=yn):(x[W]=gl,x[vn]=z,W=vn);else if(ynl(er,z))x[W]=er,x[yn]=z,W=yn;else break e}}return P}function l(x,P){var z=x.sortIndex-P.sortIndex;return z!==0?z:x.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var u=Date,i=u.now();e.unstable_now=function(){return u.now()-i}}var s=[],c=[],h=1,m=null,p=3,g=!1,w=!1,S=!1,I=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(x){for(var P=t(c);P!==null;){if(P.callback===null)r(c);else if(P.startTime<=x)r(c),P.sortIndex=P.expirationTime,n(s,P);else break;P=t(c)}}function v(x){if(S=!1,d(x),!w)if(t(s)!==null)w=!0,vl(E);else{var P=t(c);P!==null&&yl(v,P.startTime-x)}}function E(x,P){w=!1,S&&(S=!1,f(N),N=-1),g=!0;var z=p;try{for(d(P),m=t(s);m!==null&&(!(m.expirationTime>P)||x&&!Ne());){var W=m.callback;if(typeof W=="function"){m.callback=null,p=m.priorityLevel;var G=W(m.expirationTime<=P);P=e.unstable_now(),typeof G=="function"?m.callback=G:m===t(s)&&r(s),d(P)}else r(s);m=t(s)}if(m!==null)var bt=!0;else{var vn=t(c);vn!==null&&yl(v,vn.startTime-P),bt=!1}return bt}finally{m=null,p=z,g=!1}}var C=!1,_=null,N=-1,H=5,L=-1;function Ne(){return!(e.unstable_now()-Lx||125W?(x.sortIndex=z,n(c,x),t(s)===null&&x===t(c)&&(S?(f(N),N=-1):S=!0,yl(v,z-W))):(x.sortIndex=G,n(s,x),w||g||(w=!0,vl(E))),x},e.unstable_shouldYield=Ne,e.unstable_wrapCallback=function(x){var P=p;return function(){var z=p;p=P;try{return x.apply(this,arguments)}finally{p=z}}}})(es);bi.exports=es;var Cc=bi.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 ns=Mn,ye=Cc;function y(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ql=Object.prototype.hasOwnProperty,_c=/^[: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]*$/,Iu={},Fu={};function Nc(e){return Ql.call(Fu,e)?!0:Ql.call(Iu,e)?!1:_c.test(e)?Fu[e]=!0:(Iu[e]=!0,!1)}function Pc(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function zc(e,n,t,r){if(n===null||typeof n>"u"||Pc(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function se(e,n,t,r,l,o,u){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=o,this.removeEmptyString=u}var ee={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ee[e]=new se(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];ee[n]=new se(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ee[e]=new se(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ee[e]=new se(e,2,!1,e,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(e){ee[e]=new se(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ee[e]=new se(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ee[e]=new se(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ee[e]=new se(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ee[e]=new se(e,5,!1,e.toLowerCase(),null,!1,!1)});var Bo=/[\-:]([a-z])/g;function Ho(e){return e[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(e){var n=e.replace(Bo,Ho);ee[n]=new se(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Bo,Ho);ee[n]=new se(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Bo,Ho);ee[n]=new se(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ee[e]=new se(e,1,!1,e.toLowerCase(),null,!1,!1)});ee.xlinkHref=new se("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ee[e]=new se(e,1,!1,e.toLowerCase(),null,!0,!0)});function Wo(e,n,t,r){var l=ee.hasOwnProperty(n)?ee[n]:null;(l!==null?l.type!==0:r||!(2i||l[u]!==o[i]){var s=` -`+l[u].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=u&&0<=i);break}}}finally{kl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?gt(e):""}function Tc(e){switch(e.tag){case 5:return gt(e.type);case 16:return gt("Lazy");case 13:return gt("Suspense");case 19:return gt("SuspenseList");case 0:case 2:case 15:return e=El(e.type,!1),e;case 11:return e=El(e.type.render,!1),e;case 1:return e=El(e.type,!0),e;default:return""}}function Gl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case jn:return"Fragment";case Dn:return"Portal";case Kl:return"Profiler";case Qo:return"StrictMode";case Yl:return"Suspense";case Xl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ls:return(e.displayName||"Context")+".Consumer";case rs:return(e._context.displayName||"Context")+".Provider";case Ko:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Yo:return n=e.displayName||null,n!==null?n:Gl(e.type)||"Memo";case Ze:n=e._payload,e=e._init;try{return Gl(e(n))}catch{}}return null}function Lc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gl(n);case 8:return n===Qo?"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 n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function fn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function us(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Rc(e){var n=us(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,o=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(u){r=""+u,o.call(this,u)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(u){r=""+u},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function rr(e){e._valueTracker||(e._valueTracker=Rc(e))}function is(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=us(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Lr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Zl(e,n){var t=n.checked;return A({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function $u(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=fn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function ss(e,n){n=n.checked,n!=null&&Wo(e,"checked",n,!1)}function Jl(e,n){ss(e,n);var t=fn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?ql(e,n.type,t):n.hasOwnProperty("defaultValue")&&ql(e,n.type,fn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Au(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function ql(e,n,t){(n!=="number"||Lr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var wt=Array.isArray;function Kn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=lr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Ot(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var Et={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},Oc=["Webkit","ms","Moz","O"];Object.keys(Et).forEach(function(e){Oc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Et[n]=Et[e]})});function ds(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||Et.hasOwnProperty(e)&&Et[e]?(""+n).trim():n+"px"}function ps(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=ds(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Mc=A({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 no(e,n){if(n){if(Mc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function to(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){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 ro=null;function Xo(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var lo=null,Yn=null,Xn=null;function Hu(e){if(e=Jt(e)){if(typeof lo!="function")throw Error(y(280));var n=e.stateNode;n&&(n=ol(n),lo(e.stateNode,e.type,n))}}function ms(e){Yn?Xn?Xn.push(e):Xn=[e]:Yn=e}function hs(){if(Yn){var e=Yn,n=Xn;if(Xn=Yn=null,Hu(e),n)for(e=0;e>>=0,e===0?32:31-(Wc(e)/Qc|0)|0}var or=64,ur=4194304;function St(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Dr(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,o=e.pingedLanes,u=t&268435455;if(u!==0){var i=u&~l;i!==0?r=St(i):(o&=u,o!==0&&(r=St(o)))}else u=t&~l,u!==0?r=St(u):o!==0&&(r=St(o));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,o=n&-n,l>=o||l===16&&(o&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Gt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Re(n),e[n]=t}function Gc(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ct),qu=String.fromCharCode(32),bu=!1;function js(e,n){switch(e){case"keyup":return Cf.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Is(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var In=!1;function Nf(e,n){switch(e){case"compositionend":return Is(n);case"keypress":return n.which!==32?null:(bu=!0,qu);case"textInput":return e=n.data,e===qu&&bu?null:e;default:return null}}function Pf(e,n){if(In)return e==="compositionend"||!tu&&js(e,n)?(e=Ms(),kr=bo=en=null,In=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=ri(t)}}function As(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?As(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Vs(){for(var e=window,n=Lr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Lr(e.document)}return n}function ru(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function If(e){var n=Vs(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&As(t.ownerDocument.documentElement,t)){if(r!==null&&ru(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,o=Math.min(r.start,l);r=r.end===void 0?o:Math.min(r.end,l),!e.extend&&o>r&&(l=r,r=o,o=l),l=li(t,o);var u=li(t,r);l&&u&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==u.node||e.focusOffset!==u.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),o>r?(e.addRange(n),e.extend(u.node,u.offset)):(n.setEnd(u.node,u.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Fn=null,co=null,Nt=null,fo=!1;function oi(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;fo||Fn==null||Fn!==Lr(r)||(r=Fn,"selectionStart"in r&&ru(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Nt&&Ut(Nt,r)||(Nt=r,r=Fr(co,"onSelect"),0An||(e.current=go[An],go[An]=null,An--)}function M(e,n){An++,go[An]=e.current,e.current=n}var dn={},le=mn(dn),fe=mn(!1),_n=dn;function bn(e,n){var t=e.type.contextTypes;if(!t)return dn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},o;for(o in t)l[o]=n[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function de(e){return e=e.childContextTypes,e!=null}function $r(){j(fe),j(le)}function di(e,n,t){if(le.current!==dn)throw Error(y(168));M(le,n),M(fe,t)}function Zs(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Lc(e)||"Unknown",l));return A({},t,r)}function Ar(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||dn,_n=le.current,M(le,e),M(fe,fe.current),!0}function pi(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=Zs(e,n,_n),r.__reactInternalMemoizedMergedChildContext=e,j(fe),j(le),M(le,e)):j(fe),M(fe,t)}var Ae=null,ul=!1,Il=!1;function Js(e){Ae===null?Ae=[e]:Ae.push(e)}function Xf(e){ul=!0,Js(e)}function hn(){if(!Il&&Ae!==null){Il=!0;var e=0,n=O;try{var t=Ae;for(O=1;e>=u,l-=u,Ve=1<<32-Re(n)+l|t<N?(H=_,_=null):H=_.sibling;var L=p(f,_,d[N],v);if(L===null){_===null&&(_=H);break}e&&_&&L.alternate===null&&n(f,_),a=o(L,a,N),C===null?E=L:C.sibling=L,C=L,_=H}if(N===d.length)return t(f,_),F&&gn(f,N),E;if(_===null){for(;NN?(H=_,_=null):H=_.sibling;var Ne=p(f,_,L.value,v);if(Ne===null){_===null&&(_=H);break}e&&_&&Ne.alternate===null&&n(f,_),a=o(Ne,a,N),C===null?E=Ne:C.sibling=Ne,C=Ne,_=H}if(L.done)return t(f,_),F&&gn(f,N),E;if(_===null){for(;!L.done;N++,L=d.next())L=m(f,L.value,v),L!==null&&(a=o(L,a,N),C===null?E=L:C.sibling=L,C=L);return F&&gn(f,N),E}for(_=r(f,_);!L.done;N++,L=d.next())L=g(_,f,N,L.value,v),L!==null&&(e&&L.alternate!==null&&_.delete(L.key===null?N:L.key),a=o(L,a,N),C===null?E=L:C.sibling=L,C=L);return e&&_.forEach(function(st){return n(f,st)}),F&&gn(f,N),E}function I(f,a,d,v){if(typeof d=="object"&&d!==null&&d.type===jn&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case tr:e:{for(var E=d.key,C=a;C!==null;){if(C.key===E){if(E=d.type,E===jn){if(C.tag===7){t(f,C.sibling),a=l(C,d.props.children),a.return=f,f=a;break e}}else if(C.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ze&&Si(E)===C.type){t(f,C.sibling),a=l(C,d.props),a.ref=ht(f,C,d),a.return=f,f=a;break e}t(f,C);break}else n(f,C);C=C.sibling}d.type===jn?(a=Cn(d.props.children,f.mode,v,d.key),a.return=f,f=a):(v=Tr(d.type,d.key,d.props,null,f.mode,v),v.ref=ht(f,a,d),v.return=f,f=v)}return u(f);case Dn:e:{for(C=d.key;a!==null;){if(a.key===C)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){t(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{t(f,a);break}else n(f,a);a=a.sibling}a=Wl(d,f.mode,v),a.return=f,f=a}return u(f);case Ze:return C=d._init,I(f,a,C(d._payload),v)}if(wt(d))return w(f,a,d,v);if(ct(d))return S(f,a,d,v);pr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(t(f,a.sibling),a=l(a,d),a.return=f,f=a):(t(f,a),a=Hl(d,f.mode,v),a.return=f,f=a),u(f)):t(f,a)}return I}var nt=oa(!0),ua=oa(!1),qt={},Ue=mn(qt),Bt=mn(qt),Ht=mn(qt);function En(e){if(e===qt)throw Error(y(174));return e}function du(e,n){switch(M(Ht,n),M(Bt,e),M(Ue,qt),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:eo(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=eo(n,e)}j(Ue),M(Ue,n)}function tt(){j(Ue),j(Bt),j(Ht)}function ia(e){En(Ht.current);var n=En(Ue.current),t=eo(n,e.type);n!==t&&(M(Bt,e),M(Ue,t))}function pu(e){Bt.current===e&&(j(Ue),j(Bt))}var U=mn(0);function Kr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Fl=[];function mu(){for(var e=0;et?t:4,e(!0);var r=Ul.transition;Ul.transition={};try{e(!1),n()}finally{O=t,Ul.transition=r}}function xa(){return _e().memoizedState}function qf(e,n,t){var r=an(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},Ca(e))_a(n,t);else if(t=na(e,n,t,r),t!==null){var l=ue();Oe(t,e,r,l),Na(t,n,r)}}function bf(e,n,t){var r=an(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(Ca(e))_a(n,l);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=n.lastRenderedReducer,o!==null))try{var u=n.lastRenderedState,i=o(u,t);if(l.hasEagerState=!0,l.eagerState=i,Me(i,u)){var s=n.interleaved;s===null?(l.next=l,cu(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=na(e,n,l,r),t!==null&&(l=ue(),Oe(t,e,r,l),Na(t,n,r))}}function Ca(e){var n=e.alternate;return e===$||n!==null&&n===$}function _a(e,n){Pt=Yr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Na(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Zo(e,t)}}var Xr={readContext:Ce,useCallback:ne,useContext:ne,useEffect:ne,useImperativeHandle:ne,useInsertionEffect:ne,useLayoutEffect:ne,useMemo:ne,useReducer:ne,useRef:ne,useState:ne,useDebugValue:ne,useDeferredValue:ne,useTransition:ne,useMutableSource:ne,useSyncExternalStore:ne,useId:ne,unstable_isNewReconciler:!1},ed={readContext:Ce,useCallback:function(e,n){return je().memoizedState=[e,n===void 0?null:n],e},useContext:Ce,useEffect:Ei,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,_r(4194308,4,ga.bind(null,n,e),t)},useLayoutEffect:function(e,n){return _r(4194308,4,e,n)},useInsertionEffect:function(e,n){return _r(4,2,e,n)},useMemo:function(e,n){var t=je();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=je();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=qf.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var n=je();return e={current:e},n.memoizedState=e},useState:ki,useDebugValue:wu,useDeferredValue:function(e){return je().memoizedState=e},useTransition:function(){var e=ki(!1),n=e[0];return e=Jf.bind(null,e[1]),je().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=$,l=je();if(F){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),J===null)throw Error(y(349));Pn&30||ca(r,n,t)}l.memoizedState=t;var o={value:t,getSnapshot:n};return l.queue=o,Ei(da.bind(null,r,o,e),[e]),r.flags|=2048,Kt(9,fa.bind(null,r,o,t,n),void 0,null),t},useId:function(){var e=je(),n=J.identifierPrefix;if(F){var t=Be,r=Ve;t=(r&~(1<<32-Re(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Wt++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=u.createElement(t,{is:r.is}):(e=u.createElement(t),t==="select"&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,t),e[Ie]=n,e[Vt]=r,ja(e,n,!1,!1),n.stateNode=e;e:{switch(u=to(t,r),t){case"dialog":D("cancel",e),D("close",e),l=r;break;case"iframe":case"object":case"embed":D("load",e),l=r;break;case"video":case"audio":for(l=0;llt&&(n.flags|=128,r=!0,vt(o,!1),n.lanes=4194304)}else{if(!r)if(e=Kr(u),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),vt(o,!0),o.tail===null&&o.tailMode==="hidden"&&!u.alternate&&!F)return te(n),null}else 2*Q()-o.renderingStartTime>lt&&t!==1073741824&&(n.flags|=128,r=!0,vt(o,!1),n.lanes=4194304);o.isBackwards?(u.sibling=n.child,n.child=u):(t=o.last,t!==null?t.sibling=u:n.child=u,o.last=u)}return o.tail!==null?(n=o.tail,o.rendering=n,o.tail=n.sibling,o.renderingStartTime=Q(),n.sibling=null,t=U.current,M(U,r?t&1|2:t&1),n):(te(n),null);case 22:case 23:return _u(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?me&1073741824&&(te(n),n.subtreeFlags&6&&(n.flags|=8192)):te(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function sd(e,n){switch(ou(n),n.tag){case 1:return de(n.type)&&$r(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return tt(),j(fe),j(le),mu(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return pu(n),null;case 13:if(j(U),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));et()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return j(U),null;case 4:return tt(),null;case 10:return au(n.type._context),null;case 22:case 23:return _u(),null;case 24:return null;default:return null}}var hr=!1,re=!1,ad=typeof WeakSet=="function"?WeakSet:Set,k=null;function Wn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){B(e,n,r)}else t.current=null}function Lo(e,n,t){try{t()}catch(r){B(e,n,r)}}var Ri=!1;function cd(e,n){if(po=jr,e=Vs(),ru(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{t.nodeType,o.nodeType}catch{t=null;break e}var u=0,i=-1,s=-1,c=0,h=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(i=u+l),m!==o||r!==0&&m.nodeType!==3||(s=u+r),m.nodeType===3&&(u+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(i=u),p===o&&++h===r&&(s=u),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=i===-1||s===-1?null:{start:i,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(mo={focusedElem:e,selectionRange:t},jr=!1,k=n;k!==null;)if(n=k,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,k=e;else for(;k!==null;){n=k;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var S=w.memoizedProps,I=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?S:ze(n.type,S),I);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(v){B(n,n.return,v)}if(e=n.sibling,e!==null){e.return=n.return,k=e;break}k=n.return}return w=Ri,Ri=!1,w}function zt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var o=l.destroy;l.destroy=void 0,o!==void 0&&Lo(n,t,o)}l=l.next}while(l!==r)}}function al(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Ro(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Ua(e){var n=e.alternate;n!==null&&(e.alternate=null,Ua(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Ie],delete n[Vt],delete n[yo],delete n[Kf],delete n[Yf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $a(e){return e.tag===5||e.tag===3||e.tag===4}function Oi(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$a(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Oo(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=Ur));else if(r!==4&&(e=e.child,e!==null))for(Oo(e,n,t),e=e.sibling;e!==null;)Oo(e,n,t),e=e.sibling}function Mo(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Mo(e,n,t),e=e.sibling;e!==null;)Mo(e,n,t),e=e.sibling}var q=null,Te=!1;function Ge(e,n,t){for(t=t.child;t!==null;)Aa(e,n,t),t=t.sibling}function Aa(e,n,t){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(nl,t)}catch{}switch(t.tag){case 5:re||Wn(t,n);case 6:var r=q,l=Te;q=null,Ge(e,n,t),q=r,Te=l,q!==null&&(Te?(e=q,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):q.removeChild(t.stateNode));break;case 18:q!==null&&(Te?(e=q,t=t.stateNode,e.nodeType===8?jl(e.parentNode,t):e.nodeType===1&&jl(e,t),It(e)):jl(q,t.stateNode));break;case 4:r=q,l=Te,q=t.stateNode.containerInfo,Te=!0,Ge(e,n,t),q=r,Te=l;break;case 0:case 11:case 14:case 15:if(!re&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var o=l,u=o.destroy;o=o.tag,u!==void 0&&(o&2||o&4)&&Lo(t,n,u),l=l.next}while(l!==r)}Ge(e,n,t);break;case 1:if(!re&&(Wn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(i){B(t,n,i)}Ge(e,n,t);break;case 21:Ge(e,n,t);break;case 22:t.mode&1?(re=(r=re)||t.memoizedState!==null,Ge(e,n,t),re=r):Ge(e,n,t);break;default:Ge(e,n,t)}}function Mi(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new ad),n.forEach(function(r){var l=wd.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function Pe(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=u),r&=~o}if(r=l,r=Q()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dd(r/1960))-r,10e?16:e,nn===null)var r=!1;else{if(e=nn,nn=null,Jr=0,R&6)throw Error(y(331));var l=R;for(R|=4,k=e.current;k!==null;){var o=k,u=o.child;if(k.flags&16){var i=o.deletions;if(i!==null){for(var s=0;sQ()-xu?xn(e,0):Eu|=t),pe(e,n)}function Xa(e,n){n===0&&(e.mode&1?(n=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):n=1);var t=ue();e=Ke(e,n),e!==null&&(Gt(e,n,t),pe(e,t))}function gd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),Xa(e,t)}function wd(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),Xa(e,t)}var Ga;Ga=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||fe.current)ce=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return ce=!1,ud(e,n,t);ce=!!(e.flags&131072)}else ce=!1,F&&n.flags&1048576&&qs(n,Br,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;Nr(e,n),e=n.pendingProps;var l=bn(n,le.current);Zn(n,t),l=vu(null,n,r,e,l,t);var o=yu();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,de(r)?(o=!0,Ar(n)):o=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,fu(n),l.updater=il,n.stateNode=l,l._reactInternals=n,xo(n,r,e,t),n=No(null,n,r,!0,o,t)):(n.tag=0,F&&o&&lu(n),oe(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(Nr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=kd(r),e=ze(r,e),l){case 0:n=_o(null,n,r,e,t);break e;case 1:n=zi(null,n,r,e,t);break e;case 11:n=Ni(null,n,r,e,t);break e;case 14:n=Pi(null,n,r,ze(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),_o(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),zi(e,n,r,l,t);case 3:e:{if(Oa(n),e===null)throw Error(y(387));r=n.pendingProps,o=n.memoizedState,l=o.element,ta(e,n),Qr(n,r,null,t);var u=n.memoizedState;if(r=u.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},n.updateQueue.baseState=o,n.memoizedState=o,n.flags&256){l=rt(Error(y(423)),n),n=Ti(e,n,r,t,l);break e}else if(r!==l){l=rt(Error(y(424)),n),n=Ti(e,n,r,t,l);break e}else for(he=on(n.stateNode.containerInfo.firstChild),ve=n,F=!0,Le=null,t=ua(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(et(),r===l){n=Ye(e,n,t);break e}oe(e,n,r,t)}n=n.child}return n;case 5:return ia(n),e===null&&So(n),r=n.type,l=n.pendingProps,o=e!==null?e.memoizedProps:null,u=l.children,ho(r,l)?u=null:o!==null&&ho(r,o)&&(n.flags|=32),Ra(e,n),oe(e,n,u,t),n.child;case 6:return e===null&&So(n),null;case 13:return Ma(e,n,t);case 4:return du(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=nt(n,null,r,t):oe(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),Ni(e,n,r,l,t);case 7:return oe(e,n,n.pendingProps,t),n.child;case 8:return oe(e,n,n.pendingProps.children,t),n.child;case 12:return oe(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,o=n.memoizedProps,u=l.value,M(Hr,r._currentValue),r._currentValue=u,o!==null)if(Me(o.value,u)){if(o.children===l.children&&!fe.current){n=Ye(e,n,t);break e}}else for(o=n.child,o!==null&&(o.return=n);o!==null;){var i=o.dependencies;if(i!==null){u=o.child;for(var s=i.firstContext;s!==null;){if(s.context===r){if(o.tag===1){s=He(-1,t&-t),s.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var h=c.pending;h===null?s.next=s:(s.next=h.next,h.next=s),c.pending=s}}o.lanes|=t,s=o.alternate,s!==null&&(s.lanes|=t),ko(o.return,t,n),i.lanes|=t;break}s=s.next}}else if(o.tag===10)u=o.type===n.type?null:o.child;else if(o.tag===18){if(u=o.return,u===null)throw Error(y(341));u.lanes|=t,i=u.alternate,i!==null&&(i.lanes|=t),ko(u,t,n),u=o.sibling}else u=o.child;if(u!==null)u.return=o;else for(u=o;u!==null;){if(u===n){u=null;break}if(o=u.sibling,o!==null){o.return=u.return,u=o;break}u=u.return}o=u}oe(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Zn(n,t),l=Ce(l),r=r(l),n.flags|=1,oe(e,n,r,t),n.child;case 14:return r=n.type,l=ze(r,n.pendingProps),l=ze(r.type,l),Pi(e,n,r,l,t);case 15:return Ta(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),Nr(e,n),n.tag=1,de(r)?(e=!0,Ar(n)):e=!1,Zn(n,t),la(n,r,l),xo(n,r,l,t),No(null,n,r,!0,e,t);case 19:return Da(e,n,t);case 22:return La(e,n,t)}throw Error(y(156,n.tag))};function Za(e,n){return Es(e,n)}function Sd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ee(e,n,t,r){return new Sd(e,n,t,r)}function Pu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function kd(e){if(typeof e=="function")return Pu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ko)return 11;if(e===Yo)return 14}return 2}function cn(e,n){var t=e.alternate;return t===null?(t=Ee(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function Tr(e,n,t,r,l,o){var u=2;if(r=e,typeof e=="function")Pu(e)&&(u=1);else if(typeof e=="string")u=5;else e:switch(e){case jn:return Cn(t.children,l,o,n);case Qo:u=8,l|=8;break;case Kl:return e=Ee(12,t,n,l|2),e.elementType=Kl,e.lanes=o,e;case Yl:return e=Ee(13,t,n,l),e.elementType=Yl,e.lanes=o,e;case Xl:return e=Ee(19,t,n,l),e.elementType=Xl,e.lanes=o,e;case os:return fl(t,l,o,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rs:u=10;break e;case ls:u=9;break e;case Ko:u=11;break e;case Yo:u=14;break e;case Ze:u=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=Ee(u,t,n,l),n.elementType=e,n.type=r,n.lanes=o,n}function Cn(e,n,t,r){return e=Ee(7,e,r,n),e.lanes=t,e}function fl(e,n,t,r){return e=Ee(22,e,r,n),e.elementType=os,e.lanes=t,e.stateNode={isHidden:!1},e}function Hl(e,n,t){return e=Ee(6,e,null,n),e.lanes=t,e}function Wl(e,n,t){return n=Ee(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ed(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function zu(e,n,t,r,l,o,u,i,s){return e=new Ed(e,n,t,i,s),n===1?(n=1,o===!0&&(n|=8)):n=0,o=Ee(3,null,null,n),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},fu(o),e}function xd(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ec)}catch(e){console.error(e)}}ec(),qi.exports=ge;var zd=qi.exports,nc,Vi=zd;nc=Vi.createRoot,Vi.hydrateRoot;function Td(e,n){return n-e}const Ld=({data:e})=>(console.log(`tableRowData: ${e}`),V.jsxs("tr",{children:[V.jsx("td",{children:e.name}),V.jsx("td",{children:e.method}),V.jsx("td",{children:e.status}),V.jsx("td",{children:e.protocol}),V.jsx("td",{children:Td(e.startTime,e.endTime)}),V.jsx("td",{children:e.originatingService}),V.jsx("td",{children:e.applicationType})]})),Rd=({data:e})=>V.jsxs("table",{children:[V.jsxs("tr",{children:[V.jsx("th",{children:"Name"}),V.jsx("th",{children:"Method"}),V.jsx("th",{children:"Status"}),V.jsx("th",{children:"Protocol"}),V.jsx("th",{children:"Time"}),V.jsx("th",{children:"Orig. Svc."}),V.jsx("th",{children:"Application Type"})]}),e.map((n,t)=>V.jsx(Ld,{data:n},t))]});function Od(e,n){if(!("method"in n)||n.method==="")return;const{name:t,method:r,traceId:l}=n;t.startsWith("/?key=")||e(o=>{const u=[...o],i=`${r}, ${t}, ${l}`;return console.log(i),u.push(n),u})}function Md(){const[e,n]=Mn.useState([]);return Mn.useEffect(()=>{chrome.runtime.onMessage.addListener(t=>{console.log(`chromeApiRequestData: ${t.type}, startTime ${t.startTime}`,t)})},[]),Mn.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",r=>{try{console.log(r.data),Od(n,JSON.parse(r.data))}catch(l){console.log("failed",l)}})},[]),Mn.useEffect(()=>{console.log(e)},[e]),V.jsx(V.Fragment,{children:V.jsx(Rd,{data:e})})}const Dd=document.getElementById("root"),jd=nc(Dd);console.log("panel/index.jsx reached");jd.render(V.jsx(Md,{})); diff --git a/chrome-extension/dist/src/pages/panel/index.html b/chrome-extension/dist/src/pages/panel/index.html index bc4f0ba..76489f7 100644 --- a/chrome-extension/dist/src/pages/panel/index.html +++ b/chrome-extension/dist/src/pages/panel/index.html @@ -2,7 +2,7 @@ - + diff --git a/chrome-extension/src/pages/app/app.tsx b/chrome-extension/src/pages/app/app.tsx index 12befba..efa3f9e 100644 --- a/chrome-extension/src/pages/app/app.tsx +++ b/chrome-extension/src/pages/app/app.tsx @@ -46,7 +46,7 @@ function App() { return ( <> - {/* */} + ) diff --git a/chrome-extension/src/pages/app/components/WaterfallGraph.tsx b/chrome-extension/src/pages/app/components/WaterfallGraph.tsx index 11172d3..e50a6f3 100644 --- a/chrome-extension/src/pages/app/components/WaterfallGraph.tsx +++ b/chrome-extension/src/pages/app/components/WaterfallGraph.tsx @@ -1,6 +1,6 @@ // import { IMockData } from "../mockData"; // import { getAllTracesTimeInfo, getTraceTimeInfo,IAllTracesTimeInfo,ITotalTimes } from "../functions/getTraceInfo"; -import { getAllTracesTimeInfo, IAllTracesTimeInfo } from "../functions/getTraceInfo"; + import { getChartJSLabels, getChartJSTraceData } from "../functions/chartJSData"; import { @@ -13,13 +13,13 @@ import { Legend, } from 'chart.js'; import { Bar } from 'react-chartjs-2'; -import { OtelData } from "../../../types/types"; +import { IRelevantData, ILengthsOfChartBars } from "../../../types/types"; interface WaterfallChartProps { // data: IMockData[][]; - data: OtelData[][]; + data: IRelevantData; } @@ -69,25 +69,21 @@ const options = { const WaterfallChart = ({data} : WaterfallChartProps) => { - const tracesTimeInfo: IAllTracesTimeInfo = getAllTracesTimeInfo(data); + // const tracesTimeInfo: IAllTracesTimeInfo = getAllTracesTimeInfo(data); - const labels: string[]= getChartJSLabels(tracesTimeInfo.allTracesTimeInfo); + const labels: string[]= getChartJSLabels(data); - const chartJSTraceData: number[][] = getChartJSTraceData(tracesTimeInfo.allTracesTimeInfo,tracesTimeInfo.earliestTime); + const chartJSData: ILengthsOfChartBars = getChartJSTraceData(data); const chartData = { labels, datasets: [ { - label: 'Trace', // based on maybe traceId - data: chartJSTraceData, + label: 'All Requests', + data: chartJSData, borderColor: 'rgb(119, 219, 137)', backgroundColor: 'rgba(1, 19, 1, 0.5)', }, - // { - // spans: 'Spans', - // data: - // } ], }; diff --git a/chrome-extension/src/pages/app/functions/chartJSData.ts b/chrome-extension/src/pages/app/functions/chartJSData.ts index 18dba43..ad02cfb 100644 --- a/chrome-extension/src/pages/app/functions/chartJSData.ts +++ b/chrome-extension/src/pages/app/functions/chartJSData.ts @@ -1,30 +1,57 @@ import { IAllTracesTimeInfo, ITotalTimes } from "./getTraceInfo"; import { calcTotalTime } from "./calcTotalTime"; +import { ILengthsOfChartBars, IRelevantData, OtelData } from "../../../types/types"; -export function getChartJSTraceData(allTracesTimeInfo: ITotalTimes[][], earliestTime: number): number[][]{ - const output: number[][] = []; +// export function getChartJSTraceData(allTracesTimeInfo: ITotalTimes[][], earliestTime: number): number[][]{ +// const output: number[][] = []; +// // let earliestTime: number; +// allTracesTimeInfo.map((singleTraceData, index) => { +// const singleChartJSData: number[] = []; + +// // const firstVal: number = calcTotalTime(earliestTime, singleTraceData[0].start) +// // if(index === 0){ +// // earliestTime = singleTraceData[0].start +// // } +// const firstVal = calcTotalTime(earliestTime, singleTraceData[0].start); + +// const secondVal: number = firstVal + singleTraceData[0].duration; +// singleChartJSData.push(firstVal, secondVal); +// output.push(singleChartJSData); +// // console.log('singleChartJSData', singleChartJSData); +// }) + +// return output; +// } + +export function getChartJSTraceData(allRequestData: IRelevantData): ILengthsOfChartBars{ + const output: ILengthsOfChartBars= []; // let earliestTime: number; - allTracesTimeInfo.map((singleTraceData, index) => { + allRequestData.map((singleRequestData, index) => { const singleChartJSData: number[] = []; - // const firstVal: number = calcTotalTime(earliestTime, singleTraceData[0].start) - // if(index === 0){ - // earliestTime = singleTraceData[0].start - // } - const firstVal = calcTotalTime(earliestTime, singleTraceData[0].start); + const firstVal = calcTotalTime(allRequestData[0].startTime, singleRequestData.startTime); + + const duration = calcTotalTime(singleRequestData.endTime, singleRequestData.startTime); - const secondVal: number = firstVal + singleTraceData[0].duration; + const secondVal: number = firstVal + duration; singleChartJSData.push(firstVal, secondVal); output.push(singleChartJSData); - // console.log('singleChartJSData', singleChartJSData); }) return output; } -export function getChartJSLabels(allTracesTimeInfo: ITotalTimes[][]):string[]{ - const labelsArr:string[] = allTracesTimeInfo.map((traceTimeInfo: ITotalTimes[]) => { - return (traceTimeInfo[0].id) +// export function getChartJSLabels(allTracesTimeInfo: ITotalTimes[][]):string[]{ +// const labelsArr:string[] = allTracesTimeInfo.map((traceTimeInfo: ITotalTimes[]) => { +// return (traceTimeInfo[0].id) +// }) + +// return labelsArr; +// } + +export function getChartJSLabels(allRequestData: IRelevantData):string[]{ + const labelsArr:string[] = allRequestData.map((singleRequestData: OtelData) => { + return (singleRequestData.name); }) return labelsArr; diff --git a/chrome-extension/src/pages/app/functions/getTraceInfo.ts b/chrome-extension/src/pages/app/functions/getTraceInfo.ts index 32272c1..53c5f2b 100644 --- a/chrome-extension/src/pages/app/functions/getTraceInfo.ts +++ b/chrome-extension/src/pages/app/functions/getTraceInfo.ts @@ -1,6 +1,6 @@ // check how long the total traceDuration is by mapping over in one array of objects that share one traceId, all times and checking which time is smallest and biggest then getting the difference // return an object with traceDuration, traceStart, traceEnd -import { OtelData } from "../../../types/types"; +import { OtelData, IRelevantData } from "../../../types/types"; // import { IMockData } from "../mockData"; import { calcTotalTime } from "./calcTotalTime"; @@ -77,35 +77,76 @@ export interface IAllTracesTimeInfo{ // function that creates each traceTimeInfo and pushes it into a bigger array // export function getAllTracesTimeInfo(data: IMockData[][]): IAllTracesTimeInfo{ -export function getAllTracesTimeInfo(data: OtelData[][]): IAllTracesTimeInfo{ - const allTracesTimeInfo: ITotalTimes[][] = []; - let earliestTime!: number; - let earliestTimeSpanId!:string; +// export function getAllTracesTimeInfo(data: OtelData[][]): IAllTracesTimeInfo{ +// const allTracesTimeInfo: ITotalTimes[][] = []; +// let earliestTime!: number; +// let earliestTimeSpanId!:string; - // data.map((singleTraceData: IMockData[], index: number) => { - data.map((singleTraceData: OtelData[], index: number) => { - - // if condition for testing purposes only - if(index < 13){ - const traceTimeInfo:ITotalTimes[] = getTraceTimeInfo(singleTraceData) // first elem of output gives aggregated data of total times in single trace - allTracesTimeInfo.push(traceTimeInfo); - if(index === 0){ - earliestTime = traceTimeInfo[0].start; - earliestTimeSpanId = traceTimeInfo[0].id - } +// // data.map((singleTraceData: IMockData[], index: number) => { +// data.map((singleTraceData: OtelData[], index: number) => { + +// // if condition for testing purposes only +// if(index < 13){ +// const traceTimeInfo:ITotalTimes[] = getTraceTimeInfo(singleTraceData) // first elem of output gives aggregated data of total times in single trace +// allTracesTimeInfo.push(traceTimeInfo); +// if(index === 0){ +// earliestTime = traceTimeInfo[0].start; +// earliestTimeSpanId = traceTimeInfo[0].id +// } - if(traceTimeInfo[0].start < earliestTime){ - earliestTime = traceTimeInfo[0].start; - earliestTimeSpanId = traceTimeInfo[0].id; - } - } - }) +// if(traceTimeInfo[0].start < earliestTime){ +// earliestTime = traceTimeInfo[0].start; +// earliestTimeSpanId = traceTimeInfo[0].id; +// } +// } +// }) + +// const output = { +// allTracesTimeInfo, +// earliestTime, +// earliestTimeSpanId +// } + +// return output; +// } - const output = { - allTracesTimeInfo, - earliestTime, - earliestTimeSpanId - } +// export function getAllTracesTimeInfo(data: IRelevantData): IAllTracesTimeInfo{ +// const allSpansTimeInfo: ITotalTimes[] = []; +// let earliestTime!: number; +// let earliestTimeSpanId!:string; - return output; -} +// //map over the array of span objects +// data.map((spanData: OtelData, index: number) => { +// // get the span duration time of each span +// const spanDuration: number = calcTotalTime(spanData.startTime, spanData.endTime); + +// // store it into an object +// const spanTotalTimes: ITotalTimes = { +// id: spanData.spanId, +// duration: spanDuration, +// start: spanData.startTime, +// end: spanData.endTime +// } +// //push span time object into the array of total spantimesinfo +// allSpansTimeInfo.push(spanTotalTimes); + +// // if there are no objects, set earliest time +// if(index === 0){ +// earliestTime = allSpansTimeInfo[0].start; +// earliestTimeSpanId = allSpansTimeInfo[0].id +// } +// if(allSpansTimeInfo[0].start < earliestTime){ +// earliestTime = spanTotalTimes[0].start; +// earliestTimeSpanId = spanTotalTimes[0].id; +// } +// }) + +// const output = { +// allSpansTimeInfo, +// earliestTime, +// earliestTimeSpanId +// } + +// return output; +// } + diff --git a/chrome-extension/src/types/types.ts b/chrome-extension/src/types/types.ts index 221624c..d3d8a7b 100644 --- a/chrome-extension/src/types/types.ts +++ b/chrome-extension/src/types/types.ts @@ -39,6 +39,8 @@ export type ITraceIdData = Map; export type ISetRelevantDataState= Dispatch>; +export type ILengthsOfChartBars = number[][]; + From 7292570eccbf5f1459e343246f1fbd0f7fe6edd1 Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Wed, 5 Jul 2023 12:37:12 -0400 Subject: [PATCH 09/18] aggregated duplicate spans living in the same traceId. Issue: not sure how useful / names are because currently not displaying; still shows duplicates with name eg fetch GET http:// --- .../{panel-241d3b75.js => panel-40cb3db3.js} | 16 ++--- .../dist/src/pages/panel/index.html | 2 +- chrome-extension/src/pages/app/app.tsx | 20 ++++-- .../src/pages/app/functions/isRelevantData.ts | 62 ++++++++++++++++++- chrome-extension/src/types/types.ts | 6 +- 5 files changed, 88 insertions(+), 18 deletions(-) rename chrome-extension/dist/assets/{panel-241d3b75.js => panel-40cb3db3.js} (97%) diff --git a/chrome-extension/dist/assets/panel-241d3b75.js b/chrome-extension/dist/assets/panel-40cb3db3.js similarity index 97% rename from chrome-extension/dist/assets/panel-241d3b75.js rename to chrome-extension/dist/assets/panel-40cb3db3.js index d011a9d..11e4c25 100644 --- a/chrome-extension/dist/assets/panel-241d3b75.js +++ b/chrome-extension/dist/assets/panel-40cb3db3.js @@ -6,7 +6,7 @@ var jp=Object.defineProperty;var Bp=(e,t,n)=>t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var vr=Symbol.for("react.element"),Vp=Symbol.for("react.portal"),Wp=Symbol.for("react.fragment"),$p=Symbol.for("react.strict_mode"),Up=Symbol.for("react.profiler"),Yp=Symbol.for("react.provider"),Kp=Symbol.for("react.context"),Qp=Symbol.for("react.forward_ref"),Xp=Symbol.for("react.suspense"),Gp=Symbol.for("react.memo"),Zp=Symbol.for("react.lazy"),du=Symbol.iterator;function Jp(e){return e===null||typeof e!="object"?null:(e=du&&e[du]||e["@@iterator"],typeof e=="function"?e:null)}var jf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bf=Object.assign,Hf={};function di(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}di.prototype.isReactComponent={};di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Vf(){}Vf.prototype=di.prototype;function ra(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}var sa=ra.prototype=new Vf;sa.constructor=ra;Bf(sa,di.prototype);sa.isPureReactComponent=!0;var pu=Array.isArray,Wf=Object.prototype.hasOwnProperty,oa={current:null},$f={key:!0,ref:!0,__self:!0,__source:!0};function Uf(e,t,n){var i,r={},s=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(s=""+t.key),t)Wf.call(t,i)&&!$f.hasOwnProperty(i)&&(r[i]=t[i]);var l=arguments.length-2;if(l===1)r.children=n;else if(1t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ig=pt,rg=Symbol.for("react.element"),sg=Symbol.for("react.fragment"),og=Object.prototype.hasOwnProperty,lg=ig.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ag={key:!0,ref:!0,__self:!0,__source:!0};function Kf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)og.call(t,i)&&!ag.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:rg,type:e,key:s,ref:o,props:r,_owner:lg.current}}Js.Fragment=sg;Js.jsx=Kf;Js.jsxs=Kf;If.exports=Js;var Q=If.exports,Qf={exports:{}},Ut={},Xf={exports:{}},Gf={};/** + */var ig=lt,rg=Symbol.for("react.element"),sg=Symbol.for("react.fragment"),og=Object.prototype.hasOwnProperty,lg=ig.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ag={key:!0,ref:!0,__self:!0,__source:!0};function Kf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)og.call(t,i)&&!ag.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:rg,type:e,key:s,ref:o,props:r,_owner:lg.current}}Js.Fragment=sg;Js.jsx=Kf;Js.jsxs=Kf;If.exports=Js;var Q=If.exports,Qf={exports:{}},Ut={},Xf={exports:{}},Gf={};/** * @license React * scheduler.production.min.js * @@ -30,14 +30,14 @@ var jp=Object.defineProperty;var Bp=(e,t,n)=>t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Zf=pt,$t=ug;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nl=Object.prototype.hasOwnProperty,cg=/^[: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]*$/,mu={},yu={};function fg(e){return nl.call(yu,e)?!0:nl.call(mu,e)?!1:cg.test(e)?yu[e]=!0:(mu[e]=!0,!1)}function hg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function dg(e,t,n,i){if(t===null||typeof t>"u"||hg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var aa=/[\-:]([a-z])/g;function ua(e){return e[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(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ca(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nl=Object.prototype.hasOwnProperty,cg=/^[: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]*$/,mu={},yu={};function fg(e){return nl.call(yu,e)?!0:nl.call(mu,e)?!1:cg.test(e)?yu[e]=!0:(mu[e]=!0,!1)}function hg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function dg(e,t,n,i){if(t===null||typeof t>"u"||hg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var aa=/[\-:]([a-z])/g;function ua(e){return e[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(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ca(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2l||r[o]!==s[l]){var a=` `+r[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{wo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function pg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case In:return"Portal";case il:return"Profiler";case fa:return"StrictMode";case rl:return"Suspense";case sl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case th:return(e.displayName||"Context")+".Consumer";case qf:return(e._context.displayName||"Context")+".Provider";case ha:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case da:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case Ae:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function gg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===fa?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function mg(e){var t=nh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=mg(e))}function ih(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=nh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ll(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function xu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rh(e,t){t=t.checked,t!=null&&ca(e,"checked",t,!1)}function al(e,t){rh(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ul(e,t.type,n):t.hasOwnProperty("defaultValue")&&ul(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function _u(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ul(e,t,n){(t!=="number"||xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Tr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={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},yg=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){yg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function ah(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function uh(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=ah(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var vg=tt({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 hl(e,t){if(t){if(vg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function dl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pl=null;function pa(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gl=null,Jn=null,qn=null;function Su(e){if(e=wr(e)){if(typeof gl!="function")throw Error(C(280));var t=e.stateNode;t&&(t=io(t),gl(e.stateNode,e.type,t))}}function ch(e){Jn?qn?qn.push(e):qn=[e]:Jn=e}function fh(){if(Jn){var e=Jn,t=qn;if(qn=Jn=null,Su(e),t)for(e=0;e>>=0,e===0?32:31-(Tg(e)/Lg|0)|0}var Lr=64,Or=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ss(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function xr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function Rg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Du=String.fromCharCode(32),zu=!1;function Oh(e,t){switch(e){case"keyup":return am.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function cm(e,t){switch(e){case"compositionend":return Dh(t);case"keypress":return t.which!==32?null:(zu=!0,Du);case"textInput":return e=t.data,e===Du&&zu?null:e;default:return null}}function fm(e,t){if(jn)return e==="compositionend"||!ka&&Oh(e,t)?(e=Th(),ss=xa=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Iu(n)}}function Ah(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ah(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ih(){for(var e=window,t=xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xs(e.document)}return t}function Sa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function _m(e){var t=Ih(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ah(n.ownerDocument.documentElement,n)){if(i!==null&&Sa(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Nu(n,s);var o=Nu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,wl=null,Bi=null,kl=!1;function ju(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kl||Bn==null||Bn!==xs(i)||(i=Bn,"selectionStart"in i&&Sa(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ms(wl,"onSelect"),0Wn||(e.current=El[Wn],El[Wn]=null,Wn--)}function $(e,t){Wn++,El[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Es(){K(Rt),K(St)}function Yu(e,t,n){if(St.current!==rn)throw Error(C(168));$(St,t),$(Rt,n)}function Yh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,gg(e)||"Unknown",r));return tt({},n,i)}function Ts(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,$(St,e),$(Rt,Rt.current),!0}function Ku(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Yh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,K(Rt),K(St),$(St,e)):K(Rt),$(Rt,n)}var be=null,ro=!1,Ao=!1;function Kh(e){be===null?be=[e]:be.push(e)}function Dm(e){ro=!0,Kh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=B;try{var n=be;for(B=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(R){return t(p,R)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Pr:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ae&&tc(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ds(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case In:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=$o(v,p.mode,_),g.return=p,p=g}return o(p);case Ae:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return m(p,g,v,_);if(mi(v))return y(p,g,v,_);Nr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=Wo(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=ed(!0),nd=ed(!1),kr={},ye=an(kr),or=an(kr),lr=an(kr);function xn(e){if(e===kr)throw Error(C(174));return e}function Da(e,t){switch($(lr,t),$(or,e),$(ye,kr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fl(t,e)}K(ye),$(ye,t)}function ai(){K(ye),K(or),K(lr)}function id(e){xn(lr.current);var t=xn(ye.current),n=fl(t,e.type);t!==n&&($(or,e),$(ye,n))}function za(e){or.current===e&&(K(ye),K(or))}var J=an(0);function Fs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Io=[];function Ra(){for(var e=0;en?n:4,e(!0);var i=No.transition;No.transition={};try{e(!1),t()}finally{B=n,No.transition=i}}function xd(){return te().memoizedState}function Am(e,t,n){var i=Je(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},_d(e))wd(t,n);else if(n=Zh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),kd(n,t,i)}}function Im(e,t,n){var i=Je(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(_d(e))wd(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,La(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Zh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),kd(n,t,i))}}function _d(e){var t=e.alternate;return e===q||t!==null&&t===q}function wd(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ma(e,n)}}var Is={readContext:qt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},Nm={readContext:qt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:nc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,us(4194308,4,pd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){return us(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Am.bind(null,q,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:ec,useDebugValue:ja,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=ec(!1),t=e[0];return e=Fm.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=q,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),ht===null)throw Error(C(349));Mn&30||od(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,nc(ad.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,ld.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=ht.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0Wn||(e.current=El[Wn],El[Wn]=null,Wn--)}function $(e,t){Wn++,El[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Es(){K(Rt),K(St)}function Yu(e,t,n){if(St.current!==rn)throw Error(C(168));$(St,t),$(Rt,n)}function Yh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,gg(e)||"Unknown",r));return tt({},n,i)}function Ts(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,$(St,e),$(Rt,Rt.current),!0}function Ku(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Yh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,K(Rt),K(St),$(St,e)):K(Rt),$(Rt,n)}var be=null,ro=!1,Ao=!1;function Kh(e){be===null?be=[e]:be.push(e)}function Dm(e){ro=!0,Kh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=B;try{var n=be;for(B=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(R){return t(p,R)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Pr:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ae&&tc(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ds(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case In:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=$o(v,p.mode,_),g.return=p,p=g}return o(p);case Ae:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return m(p,g,v,_);if(mi(v))return y(p,g,v,_);Nr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=Wo(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=ed(!0),nd=ed(!1),kr={},ye=an(kr),or=an(kr),lr=an(kr);function xn(e){if(e===kr)throw Error(C(174));return e}function Da(e,t){switch($(lr,t),$(or,e),$(ye,kr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fl(t,e)}K(ye),$(ye,t)}function ai(){K(ye),K(or),K(lr)}function id(e){xn(lr.current);var t=xn(ye.current),n=fl(t,e.type);t!==n&&($(or,e),$(ye,n))}function za(e){or.current===e&&(K(ye),K(or))}var J=an(0);function Fs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Io=[];function Ra(){for(var e=0;en?n:4,e(!0);var i=No.transition;No.transition={};try{e(!1),t()}finally{B=n,No.transition=i}}function xd(){return te().memoizedState}function Am(e,t,n){var i=Je(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},_d(e))wd(t,n);else if(n=Zh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),kd(n,t,i)}}function Im(e,t,n){var i=Je(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(_d(e))wd(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,La(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Zh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),kd(n,t,i))}}function _d(e){var t=e.alternate;return e===q||t!==null&&t===q}function wd(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ma(e,n)}}var Is={readContext:qt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},Nm={readContext:qt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:nc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,us(4194308,4,pd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){return us(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Am.bind(null,q,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:ec,useDebugValue:ja,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=ec(!1),t=e[0];return e=Fm.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=q,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),dt===null)throw Error(C(349));Mn&30||od(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,nc(ad.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,ld.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=dt.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Od(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":Y("cancel",e),Y("close",e),r=i;break;case"iframe":case"object":case"embed":Y("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=J.current,$(J,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return Ua(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Ym(e,t){switch(Ca(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),K(Rt),K(St),Ra(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return za(t),null;case 13:if(K(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return K(J),null;case 4:return ai(),null;case 10:return Ta(t.type._context),null;case 22:case 23:return Ua(),null;case 24:return null;default:return null}}var Br=!1,kt=!1,Km=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var fc=!1;function Qm(e,t){if(Sl=bs,e=Ih(),Sa(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,x=m.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?y:ne(t.type,y),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return m=fc,fc=!1,m}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Rd(e){var t=e.alternate;t!==null&&(e.alternate=null,Rd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Lm],delete t[Om])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function hc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var dt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Ad(e,t,n),n=n.sibling}function Ad(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=dt,r=ie;dt=null,Re(e,t,n),dt=i,ie=r,dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):dt.removeChild(n.stateNode));break;case 18:dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(dt,n.stateNode));break;case 4:i=dt,r=ie,dt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),dt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function dc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Km),t.forEach(function(i){var r=i0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Gm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Wa?_n(e,0):Va|=n),At(e,t)}function $d(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function n0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$d(e,n)}function i0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),$d(e,n)}var Ud;Ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,$m(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Qh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Aa(null,t,i,e,r,n);var s=Ia();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Oa(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&ba(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=s0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=ac(null,t,i,e,n);break t;case 11:t=oc(null,t,i,e,n);break t;case 14:t=lc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),ac(e,t,i,r,n);case 3:t:{if(Ed(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Jh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=uc(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=uc(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=nd(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return id(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Pd(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Td(e,t,n);case 4:return Da(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),oc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,$(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),lc(e,t,i,r,n);case 15:return Cd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),td(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Ld(e,t,n);case 22:return Md(e,t,n)}throw Error(C(156,t.tag))};function Yd(e,t){return vh(e,t)}function r0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new r0(e,t,n,i)}function Ka(e){return e=e.prototype,!(!e||!e.isReactComponent)}function s0(e){if(typeof e=="function")return Ka(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ha)return 11;if(e===da)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ka(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case fa:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case eh:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case qf:o=10;break t;case th:o=9;break t;case ha:o=11;break t;case da:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=eh,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function o0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Qa(e,t,n,i,r,s,o,l,a){return e=new o0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oa(s),e}function l0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gd)}catch(e){console.error(e)}}Gd(),Qf.exports=Ut;var h0=Qf.exports,Zd,wc=h0;Zd=wc.createRoot,wc.hydrateRoot;function Ql(e,t){return t-e}const d0=({data:e})=>(console.log(`tableRowData: ${e}`),Q.jsxs("tr",{children:[Q.jsx("td",{children:e.name}),Q.jsx("td",{children:e.method}),Q.jsx("td",{children:e.status}),Q.jsx("td",{children:e.protocol}),Q.jsx("td",{children:Ql(e.startTime,e.endTime)}),Q.jsx("td",{children:e.originatingService}),Q.jsx("td",{children:e.applicationType})]})),p0=({data:e})=>Q.jsxs("table",{children:[Q.jsxs("tr",{children:[Q.jsx("th",{children:"Name"}),Q.jsx("th",{children:"Method"}),Q.jsx("th",{children:"Status"}),Q.jsx("th",{children:"Protocol"}),Q.jsx("th",{children:"Time"}),Q.jsx("th",{children:"Orig. Svc."}),Q.jsx("th",{children:"Application Type"})]}),e.map((t,n)=>Q.jsx(d0,{data:t},n))]});function g0(e){const t=[];return e.map((n,i)=>{const r=[],s=Ql(e[0].startTime,n.startTime),o=Ql(n.endTime,n.startTime),l=s+o;r.push(s,l),t.push(r)}),t}function m0(e){return e.map(n=>n.name)}/*! +`+s.stack}return{value:e,source:t,stack:r,digest:null}}function Ho(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Rl(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Hm=typeof WeakMap=="function"?WeakMap:Map;function Sd(e,t,n){n=Ee(-1,n),n.tag=3,n.payload={element:null};var i=t.value;return n.callback=function(){js||(js=!0,$l=i),Rl(e,t)},n}function bd(e,t,n){n=Ee(-1,n),n.tag=3;var i=e.type.getDerivedStateFromError;if(typeof i=="function"){var r=t.value;n.payload=function(){return i(r)},n.callback=function(){Rl(e,t)}}var s=e.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){Rl(e,t),typeof i!="function"&&(Ze===null?Ze=new Set([this]):Ze.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function ic(e,t,n){var i=e.pingCache;if(i===null){i=e.pingCache=new Hm;var r=new Set;i.set(t,r)}else r=i.get(t),r===void 0&&(r=new Set,i.set(t,r));r.has(n)||(r.add(n),e=e0.bind(null,e,t,n),t.then(e,e))}function rc(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function sc(e,t,n,i,r){return e.mode&1?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Ee(-1,1),t.tag=2,Ge(n,t,1))),n.lanes|=1),e)}var Vm=ze.ReactCurrentOwner,Dt=!1;function Ct(e,t,n,i){t.child=e===null?nd(t,null,n,i):li(t,e.child,n,i)}function oc(e,t,n,i,r){n=n.render;var s=t.ref;return ei(t,r),i=Aa(e,t,n,i,s,r),n=Ia(),e!==null&&!Dt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,De(e,t,r)):(X&&n&&ba(t),t.flags|=1,Ct(e,t,i,r),t.child)}function lc(e,t,n,i,r){if(e===null){var s=n.type;return typeof s=="function"&&!Ka(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=s,Cd(e,t,s,i,r)):(e=ds(n.type,null,i,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(s=e.child,!(e.lanes&r)){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:nr,n(o,i)&&e.ref===t.ref)return De(e,t,r)}return t.flags|=1,e=qe(s,i),e.ref=t.ref,e.return=t,t.child=e}function Cd(e,t,n,i,r){if(e!==null){var s=e.memoizedProps;if(nr(s,i)&&e.ref===t.ref)if(Dt=!1,t.pendingProps=i=s,(e.lanes&r)!==0)e.flags&131072&&(Dt=!0);else return t.lanes=e.lanes,De(e,t,r)}return Fl(e,t,n,i,r)}function Md(e,t,n){var i=t.pendingProps,r=i.children,s=e!==null?e.memoizedState:null;if(i.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},$(Qn,Ht),Ht|=n;else{if(!(n&1073741824))return e=s!==null?s.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,$(Qn,Ht),Ht|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:n,$(Qn,Ht),Ht|=i}else s!==null?(i=s.baseLanes|n,t.memoizedState=null):i=n,$(Qn,Ht),Ht|=i;return Ct(e,t,r,n),t.child}function Pd(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Fl(e,t,n,i,r){var s=Ft(n)?bn:St.current;return s=si(t,s),ei(t,r),n=Aa(e,t,n,i,s,r),i=Ia(),e!==null&&!Dt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,De(e,t,r)):(X&&i&&ba(t),t.flags|=1,Ct(e,t,n,r),t.child)}function ac(e,t,n,i,r){if(Ft(n)){var s=!0;Ts(t)}else s=!1;if(ei(t,r),t.stateNode===null)cs(e,t),td(t,n,i),zl(t,n,i,r),i=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var a=o.context,u=n.contextType;typeof u=="object"&&u!==null?u=qt(u):(u=Ft(n)?bn:St.current,u=si(t,u));var c=n.getDerivedStateFromProps,f=typeof c=="function"||typeof o.getSnapshotBeforeUpdate=="function";f||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==i||a!==u)&&qu(t,o,i,u),Ie=!1;var h=t.memoizedState;o.state=h,Rs(t,i,o,r),a=t.memoizedState,l!==i||h!==a||Rt.current||Ie?(typeof c=="function"&&(Dl(t,n,c,i),a=t.memoizedState),(l=Ie||Ju(t,n,l,i,h,a,u))?(f||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=a),o.props=i,o.state=a,o.context=u,i=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),i=!1)}else{o=t.stateNode,Jh(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:ne(t.type,l),o.props=u,f=t.pendingProps,h=o.context,a=n.contextType,typeof a=="object"&&a!==null?a=qt(a):(a=Ft(n)?bn:St.current,a=si(t,a));var d=n.getDerivedStateFromProps;(c=typeof d=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==f||h!==a)&&qu(t,o,i,a),Ie=!1,h=t.memoizedState,o.state=h,Rs(t,i,o,r);var m=t.memoizedState;l!==f||h!==m||Rt.current||Ie?(typeof d=="function"&&(Dl(t,n,d,i),m=t.memoizedState),(u=Ie||Ju(t,n,u,i,h,m,a)||!1)?(c||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,m,a),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,m,a)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=m),o.props=i,o.state=m,o.context=a,i=u):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),i=!1)}return Al(e,t,n,i,s,r)}function Al(e,t,n,i,r,s){Pd(e,t);var o=(t.flags&128)!==0;if(!i&&!o)return r&&Ku(t,n,!1),De(e,t,s);i=t.stateNode,Vm.current=t;var l=o&&typeof n.getDerivedStateFromError!="function"?null:i.render();return t.flags|=1,e!==null&&o?(t.child=li(t,e.child,null,s),t.child=li(t,null,l,s)):Ct(e,t,l,s),t.memoizedState=i.state,r&&Ku(t,n,!0),t.child}function Ed(e){var t=e.stateNode;t.pendingContext?Yu(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Yu(e,t.context,!1),Da(e,t.containerInfo)}function uc(e,t,n,i,r){return oi(),Ma(r),t.flags|=256,Ct(e,t,n,i),t.child}var Il={dehydrated:null,treeContext:null,retryLane:0};function Nl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Td(e,t,n){var i=t.pendingProps,r=J.current,s=!1,o=(t.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(r&2)!==0),l?(s=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(r|=1),$(J,r&1),e===null)return Ll(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=i.children,e=i.fallback,s?(i=t.mode,s=t.child,o={mode:"hidden",children:o},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=uo(o,i,0,null),e=wn(e,i,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Nl(n),t.memoizedState=Il,e):Ba(t,o));if(r=e.memoizedState,r!==null&&(l=r.dehydrated,l!==null))return Wm(e,t,o,i,l,r,n);if(s){s=i.fallback,o=t.mode,r=e.child,l=r.sibling;var a={mode:"hidden",children:i.children};return!(o&1)&&t.child!==r?(i=t.child,i.childLanes=0,i.pendingProps=a,t.deletions=null):(i=qe(r,a),i.subtreeFlags=r.subtreeFlags&14680064),l!==null?s=qe(l,s):(s=wn(s,o,n,null),s.flags|=2),s.return=t,i.return=t,i.sibling=s,t.child=i,i=s,s=t.child,o=e.child.memoizedState,o=o===null?Nl(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=e.childLanes&~n,t.memoizedState=Il,i}return s=e.child,e=s.sibling,i=qe(s,{mode:"visible",children:i.children}),!(t.mode&1)&&(i.lanes=n),i.return=t,i.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=i,t.memoizedState=null,i}function Ba(e,t){return t=uo({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function jr(e,t,n,i){return i!==null&&Ma(i),li(t,e.child,null,n),e=Ba(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Wm(e,t,n,i,r,s,o){if(n)return t.flags&256?(t.flags&=-257,i=Ho(Error(C(422))),jr(e,t,o,i)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(s=i.fallback,r=t.mode,i=uo({mode:"visible",children:i.children},r,0,null),s=wn(s,r,o,null),s.flags|=2,i.return=t,s.return=t,i.sibling=s,t.child=i,t.mode&1&&li(t,e.child,null,o),t.child.memoizedState=Nl(o),t.memoizedState=Il,s);if(!(t.mode&1))return jr(e,t,o,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var l=i.dgst;return i=l,s=Error(C(419)),i=Ho(s,i,void 0),jr(e,t,o,i)}if(l=(o&e.childLanes)!==0,Dt||l){if(i=dt,i!==null){switch(o&-o){case 4:r=2;break;case 16:r=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:r=32;break;case 536870912:r=268435456;break;default:r=0}r=r&(i.suspendedLanes|o)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,Oe(e,r),le(i,e,r,-1))}return Ya(),i=Ho(Error(C(421))),jr(e,t,o,i)}return r.data==="$?"?(t.flags|=128,t.child=e.child,t=n0.bind(null,e),r._reactRetry=t,null):(e=s.treeContext,Vt=Xe(r.nextSibling),Wt=t,X=!0,re=null,e!==null&&(Qt[Xt++]=Me,Qt[Xt++]=Pe,Qt[Xt++]=Cn,Me=e.id,Pe=e.overflow,Cn=t),t=Ba(t,i.children),t.flags|=4096,t)}function cc(e,t,n){e.lanes|=t;var i=e.alternate;i!==null&&(i.lanes|=t),Ol(e.return,t,n)}function Vo(e,t,n,i,r){var s=e.memoizedState;s===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r}:(s.isBackwards=t,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=n,s.tailMode=r)}function Ld(e,t,n){var i=t.pendingProps,r=i.revealOrder,s=i.tail;if(Ct(e,t,i.children,n),i=J.current,i&2)i=i&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)t:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&cc(e,n,t);else if(e.tag===19)cc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break t;for(;e.sibling===null;){if(e.return===null||e.return===t)break t;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if($(J,i),!(t.mode&1))t.memoizedState=null;else switch(r){case"forwards":for(n=t.child,r=null;n!==null;)e=n.alternate,e!==null&&Fs(e)===null&&(r=n),n=n.sibling;n=r,n===null?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Vo(t,!1,r,n,s);break;case"backwards":for(n=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&Fs(e)===null){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Vo(t,!0,n,null,s);break;case"together":Vo(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function cs(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function De(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Pn|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(C(153));if(t.child!==null){for(e=t.child,n=qe(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=qe(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function $m(e,t,n){switch(t.tag){case 3:Ed(t),oi();break;case 5:id(t);break;case 1:Ft(t.type)&&Ts(t);break;case 4:Da(t,t.stateNode.containerInfo);break;case 10:var i=t.type._context,r=t.memoizedProps.value;$(Ds,i._currentValue),i._currentValue=r;break;case 13:if(i=t.memoizedState,i!==null)return i.dehydrated!==null?($(J,J.current&1),t.flags|=128,null):n&t.child.childLanes?Td(e,t,n):($(J,J.current&1),e=De(e,t,n),e!==null?e.sibling:null);$(J,J.current&1);break;case 19:if(i=(n&t.childLanes)!==0,e.flags&128){if(i)return Ld(e,t,n);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),$(J,J.current),i)break;return null;case 22:case 23:return t.lanes=0,Md(e,t,n)}return De(e,t,n)}var Od,jl,Dd,zd;Od=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};jl=function(){};Dd=function(e,t,n,i){var r=e.memoizedProps;if(r!==i){e=t.stateNode,xn(ye.current);var s=null;switch(n){case"input":r=ll(e,r),i=ll(e,i),s=[];break;case"select":r=tt({},r,{value:void 0}),i=tt({},i,{value:void 0}),s=[];break;case"textarea":r=cl(e,r),i=cl(e,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(e.onclick=Ps)}hl(n,i);var o;n=null;for(u in r)if(!i.hasOwnProperty(u)&&r.hasOwnProperty(u)&&r[u]!=null)if(u==="style"){var l=r[u];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Xi.hasOwnProperty(u)?s||(s=[]):(s=s||[]).push(u,null));for(u in i){var a=i[u];if(l=r!=null?r[u]:void 0,i.hasOwnProperty(u)&&a!==l&&(a!=null||l!=null))if(u==="style")if(l){for(o in l)!l.hasOwnProperty(o)||a&&a.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in a)a.hasOwnProperty(o)&&l[o]!==a[o]&&(n||(n={}),n[o]=a[o])}else n||(s||(s=[]),s.push(u,n)),n=a;else u==="dangerouslySetInnerHTML"?(a=a?a.__html:void 0,l=l?l.__html:void 0,a!=null&&l!==a&&(s=s||[]).push(u,a)):u==="children"?typeof a!="string"&&typeof a!="number"||(s=s||[]).push(u,""+a):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Xi.hasOwnProperty(u)?(a!=null&&u==="onScroll"&&Y("scroll",e),s||l===a||(s=[])):(s=s||[]).push(u,a))}n&&(s=s||[]).push("style",n);var u=s;(t.updateQueue=u)&&(t.flags|=4)}};zd=function(e,t,n,i){n!==i&&(t.flags|=4)};function ki(e,t){if(!X)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:i.sibling=null}}function _t(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,i=0;if(t)for(var r=e.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=i,e.childLanes=n,t}function Um(e,t,n){var i=t.pendingProps;switch(Ca(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return _t(t),null;case 1:return Ft(t.type)&&Es(),_t(t),null;case 3:return i=t.stateNode,ai(),K(Rt),K(St),Ra(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Ir(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,re!==null&&(Kl(re),re=null))),jl(e,t),_t(t),null;case 5:za(t);var r=xn(lr.current);if(n=t.type,e!==null&&t.stateNode!=null)Dd(e,t,n,i,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(t.stateNode===null)throw Error(C(166));return _t(t),null}if(e=xn(ye.current),Ir(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[ge]=t,i[sr]=s,e=(t.mode&1)!==0,n){case"dialog":Y("cancel",i),Y("close",i);break;case"iframe":case"object":case"embed":Y("load",i);break;case"video":case"audio":for(r=0;r<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Od(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":Y("cancel",e),Y("close",e),r=i;break;case"iframe":case"object":case"embed":Y("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=J.current,$(J,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return Ua(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Ym(e,t){switch(Ca(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),K(Rt),K(St),Ra(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return za(t),null;case 13:if(K(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return K(J),null;case 4:return ai(),null;case 10:return Ta(t.type._context),null;case 22:case 23:return Ua(),null;case 24:return null;default:return null}}var Br=!1,kt=!1,Km=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var fc=!1;function Qm(e,t){if(Sl=bs,e=Ih(),Sa(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,x=m.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?y:ne(t.type,y),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return m=fc,fc=!1,m}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Rd(e){var t=e.alternate;t!==null&&(e.alternate=null,Rd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Lm],delete t[Om])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function hc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var pt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Ad(e,t,n),n=n.sibling}function Ad(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=pt,r=ie;pt=null,Re(e,t,n),pt=i,ie=r,pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):pt.removeChild(n.stateNode));break;case 18:pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(pt,n.stateNode));break;case 4:i=pt,r=ie,pt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),pt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function dc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Km),t.forEach(function(i){var r=i0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Gm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Wa?_n(e,0):Va|=n),At(e,t)}function $d(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function n0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$d(e,n)}function i0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),$d(e,n)}var Ud;Ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,$m(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Qh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Aa(null,t,i,e,r,n);var s=Ia();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Oa(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&ba(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=s0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=ac(null,t,i,e,n);break t;case 11:t=oc(null,t,i,e,n);break t;case 14:t=lc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),ac(e,t,i,r,n);case 3:t:{if(Ed(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Jh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=uc(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=uc(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=nd(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return id(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Pd(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Td(e,t,n);case 4:return Da(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),oc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,$(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),lc(e,t,i,r,n);case 15:return Cd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),td(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Ld(e,t,n);case 22:return Md(e,t,n)}throw Error(C(156,t.tag))};function Yd(e,t){return vh(e,t)}function r0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new r0(e,t,n,i)}function Ka(e){return e=e.prototype,!(!e||!e.isReactComponent)}function s0(e){if(typeof e=="function")return Ka(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ha)return 11;if(e===da)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ka(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case fa:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case eh:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case qf:o=10;break t;case th:o=9;break t;case ha:o=11;break t;case da:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=eh,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function o0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Qa(e,t,n,i,r,s,o,l,a){return e=new o0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oa(s),e}function l0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gd)}catch(e){console.error(e)}}Gd(),Qf.exports=Ut;var h0=Qf.exports,Zd,wc=h0;Zd=wc.createRoot,wc.hydrateRoot;function Ql(e,t){return t-e}const d0=({data:e})=>(console.log(`tableRowData: ${e}`),Q.jsxs("tr",{children:[Q.jsx("td",{children:e.name}),Q.jsx("td",{children:e.method}),Q.jsx("td",{children:e.status}),Q.jsx("td",{children:e.protocol}),Q.jsx("td",{children:Ql(e.startTime,e.endTime)}),Q.jsx("td",{children:e.originatingService}),Q.jsx("td",{children:e.applicationType})]})),p0=({data:e})=>Q.jsxs("table",{children:[Q.jsxs("tr",{children:[Q.jsx("th",{children:"Name"}),Q.jsx("th",{children:"Method"}),Q.jsx("th",{children:"Status"}),Q.jsx("th",{children:"Protocol"}),Q.jsx("th",{children:"Time"}),Q.jsx("th",{children:"Orig. Svc."}),Q.jsx("th",{children:"Application Type"})]}),e.map((t,n)=>Q.jsx(d0,{data:t},n))]});function g0(e){const t=[];return e.map((n,i)=>{const r=[],s=Ql(e[0].startTime,n.startTime),o=Ql(n.endTime,n.startTime),l=s+o;r.push(s,l),t.push(r)}),t}function m0(e){return e.map(n=>n.name)}/*! * @kurkle/color v0.3.2 * https://github.com/kurkle/color#readme * (c) 2023 Jukka Kurkela @@ -47,11 +47,11 @@ Error generating stack: `+s.message+` * https://www.chartjs.org * (c) 2023 Chart.js Contributors * Released under the MIT License - */function _e(){}const j0=(()=>{let e=0;return()=>e++})();function H(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function I(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ft(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ft(e)?e:t}function N(e,t){return typeof e>"u"?t:e}const B0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function W(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function j(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function W0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function $0(e){const t=W0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Mc[t]||(Mc[t]=$0(t)))(e)}function eu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const pr=e=>typeof e<"u",sn=e=>typeof e=="function",Pc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function U0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Us=Number.POSITIVE_INFINITY,Y0=yt/180,zt=yt/2,cn=yt/4,Ec=yt*2/3,We=Math.log10,en=Math.sign;function ps(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ys(e){return!isNaN(parseFloat(e))&&isFinite(e)}function Q0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function np(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function iu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Gl=(e,t,n,i)=>iu(e,n,i?r=>{const s=e[r][t];return se[r][t]iu(e,n,i=>e[i][t]>=n);function ty(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+eu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Oc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(ip.forEach(s=>{delete e[s]}),delete e._chartjs)}function rp(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const sp=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function op(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,sp.call(window,()=>{i=!1,e.apply(t,n)}))}}function ny(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const ru=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,iy=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Yr=e=>e===0||e===1,Dc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),zc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Yr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Yr(e)?e:Dc(e,.075,.3),easeOutElastic:e=>Yr(e)?e:zc(e,.075,.3),easeInOutElastic(e){return Yr(e)?e:e<.5?.5*Dc(e*2,.1125,.45):.5+.5*zc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function lp(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Rc(e){return lp(e)?e:new hr(e)}function Yo(e){return lp(e)?e:new hr(e).saturate(.5).darken(.1).hexString()}const ry=["x","y","borderWidth","radius","tension"],sy=["color","borderColor","backgroundColor"];function oy(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:sy},numbers:{type:"number",properties:ry}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function ly(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fc=new Map;function ay(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Fc.get(n);return i||(i=new Intl.NumberFormat(e,t),Fc.set(n,i)),i}function su(e,t,n){return ay(t,n).format(e)}const ap={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=uy(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),su(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?ap.numeric.call(this,e,t,n):""}};function uy(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var go={formatters:ap};function cy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:go.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Zl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Yo(r.backgroundColor),this.hoverBorderColor=(i,r)=>Yo(r.borderColor),this.hoverColor=(i,r)=>Yo(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Ko(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Ko(Zl,t,n)}override(t,n){return Ko(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return I(a)?Object.assign({},u,a):N(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new fy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[oy,ly,cy]);function hy(e){return!e||H(e.size)||H(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ks(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function dy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,py(e,s),a=0;a+e||0;function cp(e,t){const n={},i=I(t),r=i?Object.keys(t):t,s=I(e)?i?o=>N(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=_y(s(o));return n}function fp(e){return cp(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return cp(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=fp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ut(e,t){e=e||{},t=t||nt.font;let n=N(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=N(e.style,t.style);i&&!(""+i).match(vy)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:N(e.family,t.family),lineHeight:xy(N(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:N(e.weight,t.weight),string:""};return r.string=hy(r),r}function Kr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function au(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=gp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>au([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return dp(l,a,()=>Ty(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return jc(l).includes(a)},ownKeys(l){return jc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:hp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return dp(s,o,()=>Sy(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function hp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const ky=(e,t)=>e?e+eu(t):t,uu=(e,t)=>I(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function dp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function Sy(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=by(t,l,e,n)),G(l)&&l.length&&(l=Cy(t,l,e,o.isIndexable)),uu(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function by(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),uu(e,a)&&(a=cu(r._scopes,r,e,a)),a}function Cy(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(I(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=cu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function pp(e,t,n){return sn(e)?e(t,n):e}const My=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function Py(e,t,n,i,r){for(const s of t){const o=My(n,s);if(o){e.add(o);const l=pp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function cu(e,t,n,i){const r=t._rootScopes,s=pp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Nc(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Nc(l,o,s,a,i),a===null)?!1:au(Array.from(l),[""],r,s,()=>Ey(t,n,i))}function Nc(e,t,n,i,r){for(;n;)n=Py(e,t,n,i,r);return n}function Ey(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&I(n)?n:r||{}}function Ty(e,t,n,i){let r;for(const s of t)if(r=gp(ky(s,e),n),typeof r<"u")return uu(e,r)?cu(n,i,e,r):r}function gp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function jc(e){let t=e._keys;return t||(t=e._keys=Ly(e._scopes)),t}function Ly(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function mp(){return typeof window<"u"&&typeof document<"u"}function fu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Qs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const mo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Oy(e,t){return mo(e).getPropertyValue(t)}const Dy=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Dy[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const zy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function Ry(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(zy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=mo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=Ry(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:m}=t;return s&&(d-=o.width+l.width,m-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/m*n.height/i)}}function Fy(e,t,n){let i,r;if(t===void 0||n===void 0){const s=fu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=mo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Qs(l.maxWidth,s,"clientWidth"),r=Qs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Us,maxHeight:r||Us}}const Qr=e=>Math.round(e*10)/10;function Ay(e,t,n,i){const r=mo(e),s=Sn(r,"margin"),o=Qs(r.maxWidth,e,"clientWidth")||Us,l=Qs(r.maxHeight,e,"clientHeight")||Us,a=Fy(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Qr(Math.min(u,o,a.maxWidth)),c=Qr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Qr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Qr(Math.floor(c*i))),{width:u,height:c}}function Bc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Iy=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Hc(e,t){const n=Oy(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const Ny=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},jy=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?Ny(t,n):jy()}function yp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function vp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! + */function _e(){}const j0=(()=>{let e=0;return()=>e++})();function H(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function I(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ht(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ht(e)?e:t}function N(e,t){return typeof e>"u"?t:e}const B0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function W(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function j(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function W0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function $0(e){const t=W0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Mc[t]||(Mc[t]=$0(t)))(e)}function eu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const pr=e=>typeof e<"u",sn=e=>typeof e=="function",Pc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function U0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Us=Number.POSITIVE_INFINITY,Y0=yt/180,zt=yt/2,cn=yt/4,Ec=yt*2/3,We=Math.log10,en=Math.sign;function ps(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ys(e){return!isNaN(parseFloat(e))&&isFinite(e)}function Q0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function np(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function iu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Gl=(e,t,n,i)=>iu(e,n,i?r=>{const s=e[r][t];return se[r][t]iu(e,n,i=>e[i][t]>=n);function ty(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+eu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Oc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(ip.forEach(s=>{delete e[s]}),delete e._chartjs)}function rp(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const sp=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function op(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,sp.call(window,()=>{i=!1,e.apply(t,n)}))}}function ny(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const ru=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,iy=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Yr=e=>e===0||e===1,Dc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),zc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Yr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Yr(e)?e:Dc(e,.075,.3),easeOutElastic:e=>Yr(e)?e:zc(e,.075,.3),easeInOutElastic(e){return Yr(e)?e:e<.5?.5*Dc(e*2,.1125,.45):.5+.5*zc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function lp(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Rc(e){return lp(e)?e:new hr(e)}function Yo(e){return lp(e)?e:new hr(e).saturate(.5).darken(.1).hexString()}const ry=["x","y","borderWidth","radius","tension"],sy=["color","borderColor","backgroundColor"];function oy(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:sy},numbers:{type:"number",properties:ry}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function ly(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fc=new Map;function ay(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Fc.get(n);return i||(i=new Intl.NumberFormat(e,t),Fc.set(n,i)),i}function su(e,t,n){return ay(t,n).format(e)}const ap={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=uy(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),su(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?ap.numeric.call(this,e,t,n):""}};function uy(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var go={formatters:ap};function cy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:go.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Zl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Yo(r.backgroundColor),this.hoverBorderColor=(i,r)=>Yo(r.borderColor),this.hoverColor=(i,r)=>Yo(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Ko(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Ko(Zl,t,n)}override(t,n){return Ko(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return I(a)?Object.assign({},u,a):N(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new fy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[oy,ly,cy]);function hy(e){return!e||H(e.size)||H(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ks(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function dy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,py(e,s),a=0;a+e||0;function cp(e,t){const n={},i=I(t),r=i?Object.keys(t):t,s=I(e)?i?o=>N(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=_y(s(o));return n}function fp(e){return cp(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return cp(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=fp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ct(e,t){e=e||{},t=t||nt.font;let n=N(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=N(e.style,t.style);i&&!(""+i).match(vy)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:N(e.family,t.family),lineHeight:xy(N(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:N(e.weight,t.weight),string:""};return r.string=hy(r),r}function Kr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function au(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=gp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>au([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return dp(l,a,()=>Ty(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return jc(l).includes(a)},ownKeys(l){return jc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:hp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return dp(s,o,()=>Sy(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function hp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const ky=(e,t)=>e?e+eu(t):t,uu=(e,t)=>I(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function dp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function Sy(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=by(t,l,e,n)),G(l)&&l.length&&(l=Cy(t,l,e,o.isIndexable)),uu(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function by(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),uu(e,a)&&(a=cu(r._scopes,r,e,a)),a}function Cy(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(I(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=cu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function pp(e,t,n){return sn(e)?e(t,n):e}const My=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function Py(e,t,n,i,r){for(const s of t){const o=My(n,s);if(o){e.add(o);const l=pp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function cu(e,t,n,i){const r=t._rootScopes,s=pp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Nc(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Nc(l,o,s,a,i),a===null)?!1:au(Array.from(l),[""],r,s,()=>Ey(t,n,i))}function Nc(e,t,n,i,r){for(;n;)n=Py(e,t,n,i,r);return n}function Ey(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&I(n)?n:r||{}}function Ty(e,t,n,i){let r;for(const s of t)if(r=gp(ky(s,e),n),typeof r<"u")return uu(e,r)?cu(n,i,e,r):r}function gp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function jc(e){let t=e._keys;return t||(t=e._keys=Ly(e._scopes)),t}function Ly(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function mp(){return typeof window<"u"&&typeof document<"u"}function fu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Qs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const mo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Oy(e,t){return mo(e).getPropertyValue(t)}const Dy=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Dy[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const zy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function Ry(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(zy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=mo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=Ry(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:m}=t;return s&&(d-=o.width+l.width,m-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/m*n.height/i)}}function Fy(e,t,n){let i,r;if(t===void 0||n===void 0){const s=fu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=mo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Qs(l.maxWidth,s,"clientWidth"),r=Qs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Us,maxHeight:r||Us}}const Qr=e=>Math.round(e*10)/10;function Ay(e,t,n,i){const r=mo(e),s=Sn(r,"margin"),o=Qs(r.maxWidth,e,"clientWidth")||Us,l=Qs(r.maxHeight,e,"clientHeight")||Us,a=Fy(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Qr(Math.min(u,o,a.maxWidth)),c=Qr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Qr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Qr(Math.floor(c*i))),{width:u,height:c}}function Bc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Iy=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Hc(e,t){const n=Oy(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const Ny=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},jy=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?Ny(t,n):jy()}function yp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function vp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! * Chart.js v4.3.0 * https://www.chartjs.org * (c) 2023 Chart.js Contributors * Released under the MIT License - */class By{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,r){const s=n.listeners[r],o=n.duration;s.forEach(l=>l({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=sp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new By;const Vc="transparent",Hy={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Rc(e||Vc),r=i.valid&&Rc(t||Vc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Vy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||Hy[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!I(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=$y(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Wy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Vy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Wy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Kc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Qy(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Zy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Jy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Qc=(e,t)=>t?e:Object.assign({},e),qy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:_p(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Uc(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,m)=>f==="x"?h:f==="r"?m:d,s=n.xAxisID=N(i.xAxisID,Qo(t,"x")),o=n.yAxisID=N(i.yAxisID,Qo(t,"y")),l=n.rAxisID=N(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Oc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(I(n))this._data=Ky(n);else if(i!==n){if(i){Oc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ey(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=Uc(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Kc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):I(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]y||f=0;--h)if(!m()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),y=u.resolveNamedOptions(h,d,m,f);return y.$shared&&(y.$shared=a,s[o]=Object.freeze(Qc(y,a))),y}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new xp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function ev(e){const t=e.iScale,n=tv(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function wp(e,t,n,i){return G(e)?rv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Xc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function ov(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(H(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var gv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function qc(e,t){return e.filter(n=>kp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function mv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=qc(t,"x"),a=qc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function tf(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function Sp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function _v(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!I(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&Sp(o,s.getPadding());const l=Math.max(0,t.outerWidth-tf(o,e,"left","right")),a=Math.max(0,t.outerHeight-tf(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function wv(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function kv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof y.beforeLayout=="function"&&y.beforeLayout()});const c=a.reduce((y,x)=>x.box.options&&x.box.options.display===!1?y:y+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);Sp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),m=vv(a.concat(u),f);Ri(l.fullSize,d,f,m),Ri(a,d,f,m),Ri(u,d,f,m)&&Ri(a,d,f,m),wv(d),ef(l.leftAndTop,d,f,m),d.x+=d.w,d.y+=d.h,ef(l.rightAndBottom,d,f,m),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},j(l.chartArea,y=>{const x=y.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class bp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class Sv extends bp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",bv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},nf=e=>e===null||e==="";function Cv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",nf(r)){const s=Hc(e,"width");s!==void 0&&(e.width=s)}if(nf(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Hc(e,"height");s!==void 0&&(e.height=s)}return e}const Cp=Iy?{passive:!0}:!1;function Mv(e,t,n){e.addEventListener(t,n,Cp)}function Pv(e,t,n){e.canvas.removeEventListener(t,n,Cp)}function Ev(e,t){const n=bv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Lv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let rf=0;function Mp(){const e=window.devicePixelRatio;e!==rf&&(rf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Ov(e,t){mr.size||window.addEventListener("resize",Mp),mr.set(e,t)}function Dv(e){mr.delete(e),mr.size||window.removeEventListener("resize",Mp)}function zv(e,t,n){const i=e.canvas,r=i&&fu(i);if(!r)return;const s=op((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Ov(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Dv(e)}function Rv(e,t,n){const i=e.canvas,r=op(s=>{e.ctx!==null&&n(Ev(s,e))},e);return Mv(i,t,r),r}class Fv extends bp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Cv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];H(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Tv,detach:Lv,resize:zv}[n]||Rv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Pv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Ay(t,n,i,r)}isAttached(t){const n=fu(t);return!!(n&&n.isConnected)}}function Av(e){return!mp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?Sv:Fv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Iv(e,t){const n=e.options.ticks,i=Nv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?Bv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Hv(t,u,s,o/r),u;const c=jv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,H(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function Bv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,sf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,of=(e,t)=>Math.min(t||e,e);function lf(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function Uv(e,t){j(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){W(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=wy(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-af(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=nu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){W(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){W(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=af(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,m=$e(this.labelRotation),y=Math.cos(m),x=Math.sin(m);if(l){const p=i.mirror?0:x*f.width+y*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:y*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,y)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){W(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return J0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],m=l.setContext(this.getContext()),y=m.display?m.width:0,x=y/2,p=function(it){return fn(i,it,y)};let g,v,_,w,k,S,b,T,E,L,R,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=N(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Jv(e){return"id"in e&&"defaults"in e}class qv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):j(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=eu(t);W(i["before"+r],[],i),n[t](i),W(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function e1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&uf(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function cf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function a1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return cf(e,"x",n[0])||cf(e,"y",n[0])}return{}}function u1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Jl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!I(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=ql(o,l,a1(o,e),nt.scales[l.type]),u=o1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Jl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=s1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Pp(e){const t=e.options||(e.options={});t.plugins=N(t.plugins,{}),t.scales=u1(e,t)}function Ep(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function c1(e){return e=e||{},e.data=Ep(e.data),Pp(e),e}const ff=new Map,Tp=new Set;function Jr(e,t){let n=ff.get(e);return n||(n=t(),ff.set(e,n),Tp.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class f1{constructor(t){this._config=c1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Ep(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Pp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Zl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Tp.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Zl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=hf(this._resolverCache,t,r);let a=o;if(d1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=hf(this._resolverCache,t,i);return I(n)?hi(s,n,void 0,r):s}}function hf(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:au(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const h1=e=>I(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function d1(e,t){const{isScriptable:n,isIndexable:i}=hp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||h1(l))||o&&G(l))return!0}return!1}var p1="4.3.0";const g1=["top","bottom","left","right","chartArea"];function df(e,t){return e==="top"||e==="bottom"||g1.indexOf(e)===-1&&t==="x"}function pf(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function gf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),W(n&&n.onComplete,[e],t)}function m1(e){const t=e.chart,n=t.options.animation;W(n&&n.onProgress,[e],t)}function Lp(e){return mp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},mf=e=>{const t=Lp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function y1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function v1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function x1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),yf()}static unregister(...t){de.remove(...t),yf()}constructor(t,n){const i=this.config=new f1(n),r=Lp(t),s=mf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Av(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=j0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new t1,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ny(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",gf),we.listen(this,"progress",m1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return H(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ac(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),W(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};j(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=ql(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),j(s,o=>{const l=o.options,a=l.id,u=ql(a,l),c=N(l.type,o.dtype);(l.position===void 0||df(l.position,u)!==df(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),j(r,(o,l)=>{o||delete i[l]}),j(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(pf("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){j(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;y1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],j(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=x1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&ou(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&lu(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=gv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};j(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){j(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},j(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=U0(t),u=v1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,W(s.onHover,[t,l,this],this),a&&W(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",p1),z(Fe,"getChart",mf),Fe);function yf(){return j(yo.instances,e=>e._plugins.invalidate())}function Op(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function _1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=fp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function w1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||I(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function k1(e){const t=Op(e),n=t.right-t.left,i=t.bottom-t.top,r=_1(e,n/2,i/2),s=w1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Op(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function S1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function b1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=k1(this),l=S1(o.radius)?gr:b1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const vf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},C1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class xf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=W(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ut(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=vf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((m,y)=>{const x=i+n/2+s.measureText(m.text).width;(y===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(y>0?0:1)]=0,d+=c,h++),a[y]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,m=0,y=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=M1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),m+=h+l,y++,h=d=0),a[p]={left:m,top:d,col:y,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ou(t,this),this._draw(),lu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ut(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:m,boxHeight:y,itemHeight:x}=vf(o,f),p=function(k,S,b){if(isNaN(m)||m<=0||isNaN(y)||y<0)return;r.save();const T=N(b.lineWidth,1);if(r.fillStyle=N(b.fillStyle,l),r.lineCap=N(b.lineCap,"butt"),r.lineDashOffset=N(b.lineDashOffset,0),r.lineJoin=N(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=N(b.strokeStyle,l),r.setLineDash(N(b.lineDash,[])),o.usePointStyle){const E={radius:y*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,m/2),R=S+h;up(r,E,L,R,o.pointStyleWidth&&m)}else{const E=S+Math.max((f-y)/2,0),L=a.leftForLtr(k,m),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(st=>st!==0)?gr(r,{x:L,y:E,w:m,h:y,radius:R}):r.rect(L,E,m,y),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},yp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=m+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,R,k),L=iy(T,L+m+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Dp(k,It)}else d.y+=w}),vp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ut(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const m=this.columnSizes.reduce((y,x)=>Math.max(y,x.height),0);c=u+wt(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(ru(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ut(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function E1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Dp(t,n)),i}function Dp(e,t){const n=e.text?e.text.length+.5:0;return t*n}function T1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var L1={id:"legend",_element:xf,start(e,t,n){const i=e.legend=new xf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class zp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ut(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ut(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:ru(n.align),textBaseline:"middle",translation:[o,l]})}}function O1(e,t){const n=new zp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var D1={id:"title",_element:zp,start(e,t,n){O1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;tl({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=sp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new By;const Vc="transparent",Hy={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Rc(e||Vc),r=i.valid&&Rc(t||Vc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Vy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||Hy[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!I(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=$y(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Wy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Vy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Wy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Kc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Qy(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Zy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Jy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Qc=(e,t)=>t?e:Object.assign({},e),qy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:_p(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Uc(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,m)=>f==="x"?h:f==="r"?m:d,s=n.xAxisID=N(i.xAxisID,Qo(t,"x")),o=n.yAxisID=N(i.yAxisID,Qo(t,"y")),l=n.rAxisID=N(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Oc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(I(n))this._data=Ky(n);else if(i!==n){if(i){Oc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ey(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=Uc(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Kc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):I(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]y||f=0;--h)if(!m()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),y=u.resolveNamedOptions(h,d,m,f);return y.$shared&&(y.$shared=a,s[o]=Object.freeze(Qc(y,a))),y}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new xp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function ev(e){const t=e.iScale,n=tv(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function wp(e,t,n,i){return G(e)?rv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Xc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function ov(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(H(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var gv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function qc(e,t){return e.filter(n=>kp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function mv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=qc(t,"x"),a=qc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function tf(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function Sp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function _v(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!I(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&Sp(o,s.getPadding());const l=Math.max(0,t.outerWidth-tf(o,e,"left","right")),a=Math.max(0,t.outerHeight-tf(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function wv(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function kv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof y.beforeLayout=="function"&&y.beforeLayout()});const c=a.reduce((y,x)=>x.box.options&&x.box.options.display===!1?y:y+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);Sp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),m=vv(a.concat(u),f);Ri(l.fullSize,d,f,m),Ri(a,d,f,m),Ri(u,d,f,m)&&Ri(a,d,f,m),wv(d),ef(l.leftAndTop,d,f,m),d.x+=d.w,d.y+=d.h,ef(l.rightAndBottom,d,f,m),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},j(l.chartArea,y=>{const x=y.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class bp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class Sv extends bp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",bv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},nf=e=>e===null||e==="";function Cv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",nf(r)){const s=Hc(e,"width");s!==void 0&&(e.width=s)}if(nf(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Hc(e,"height");s!==void 0&&(e.height=s)}return e}const Cp=Iy?{passive:!0}:!1;function Mv(e,t,n){e.addEventListener(t,n,Cp)}function Pv(e,t,n){e.canvas.removeEventListener(t,n,Cp)}function Ev(e,t){const n=bv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Lv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let rf=0;function Mp(){const e=window.devicePixelRatio;e!==rf&&(rf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Ov(e,t){mr.size||window.addEventListener("resize",Mp),mr.set(e,t)}function Dv(e){mr.delete(e),mr.size||window.removeEventListener("resize",Mp)}function zv(e,t,n){const i=e.canvas,r=i&&fu(i);if(!r)return;const s=op((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Ov(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Dv(e)}function Rv(e,t,n){const i=e.canvas,r=op(s=>{e.ctx!==null&&n(Ev(s,e))},e);return Mv(i,t,r),r}class Fv extends bp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Cv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];H(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Tv,detach:Lv,resize:zv}[n]||Rv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Pv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Ay(t,n,i,r)}isAttached(t){const n=fu(t);return!!(n&&n.isConnected)}}function Av(e){return!mp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?Sv:Fv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Iv(e,t){const n=e.options.ticks,i=Nv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?Bv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Hv(t,u,s,o/r),u;const c=jv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,H(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function Bv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,sf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,of=(e,t)=>Math.min(t||e,e);function lf(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function Uv(e,t){j(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){W(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=wy(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-af(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=nu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){W(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){W(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=af(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,m=$e(this.labelRotation),y=Math.cos(m),x=Math.sin(m);if(l){const p=i.mirror?0:x*f.width+y*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:y*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,y)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){W(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return J0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],m=l.setContext(this.getContext()),y=m.display?m.width:0,x=y/2,p=function(it){return fn(i,it,y)};let g,v,_,w,k,S,b,T,E,L,R,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=N(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Jv(e){return"id"in e&&"defaults"in e}class qv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):j(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=eu(t);W(i["before"+r],[],i),n[t](i),W(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function e1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&uf(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function cf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function a1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return cf(e,"x",n[0])||cf(e,"y",n[0])}return{}}function u1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Jl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!I(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=ql(o,l,a1(o,e),nt.scales[l.type]),u=o1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Jl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=s1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Pp(e){const t=e.options||(e.options={});t.plugins=N(t.plugins,{}),t.scales=u1(e,t)}function Ep(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function c1(e){return e=e||{},e.data=Ep(e.data),Pp(e),e}const ff=new Map,Tp=new Set;function Jr(e,t){let n=ff.get(e);return n||(n=t(),ff.set(e,n),Tp.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class f1{constructor(t){this._config=c1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Ep(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Pp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Zl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Tp.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Zl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=hf(this._resolverCache,t,r);let a=o;if(d1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=hf(this._resolverCache,t,i);return I(n)?hi(s,n,void 0,r):s}}function hf(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:au(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const h1=e=>I(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function d1(e,t){const{isScriptable:n,isIndexable:i}=hp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||h1(l))||o&&G(l))return!0}return!1}var p1="4.3.0";const g1=["top","bottom","left","right","chartArea"];function df(e,t){return e==="top"||e==="bottom"||g1.indexOf(e)===-1&&t==="x"}function pf(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function gf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),W(n&&n.onComplete,[e],t)}function m1(e){const t=e.chart,n=t.options.animation;W(n&&n.onProgress,[e],t)}function Lp(e){return mp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},mf=e=>{const t=Lp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function y1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function v1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function x1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),yf()}static unregister(...t){de.remove(...t),yf()}constructor(t,n){const i=this.config=new f1(n),r=Lp(t),s=mf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Av(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=j0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new t1,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ny(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",gf),we.listen(this,"progress",m1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return H(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ac(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),W(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};j(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=ql(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),j(s,o=>{const l=o.options,a=l.id,u=ql(a,l),c=N(l.type,o.dtype);(l.position===void 0||df(l.position,u)!==df(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),j(r,(o,l)=>{o||delete i[l]}),j(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(pf("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){j(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;y1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],j(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=x1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&ou(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&lu(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=gv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};j(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){j(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},j(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=U0(t),u=v1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,W(s.onHover,[t,l,this],this),a&&W(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",p1),z(Fe,"getChart",mf),Fe);function yf(){return j(yo.instances,e=>e._plugins.invalidate())}function Op(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function _1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=fp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function w1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||I(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function k1(e){const t=Op(e),n=t.right-t.left,i=t.bottom-t.top,r=_1(e,n/2,i/2),s=w1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Op(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function S1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function b1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=k1(this),l=S1(o.radius)?gr:b1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const vf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},C1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class xf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=W(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ct(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=vf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((m,y)=>{const x=i+n/2+s.measureText(m.text).width;(y===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(y>0?0:1)]=0,d+=c,h++),a[y]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,m=0,y=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=M1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),m+=h+l,y++,h=d=0),a[p]={left:m,top:d,col:y,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ou(t,this),this._draw(),lu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ct(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:m,boxHeight:y,itemHeight:x}=vf(o,f),p=function(k,S,b){if(isNaN(m)||m<=0||isNaN(y)||y<0)return;r.save();const T=N(b.lineWidth,1);if(r.fillStyle=N(b.fillStyle,l),r.lineCap=N(b.lineCap,"butt"),r.lineDashOffset=N(b.lineDashOffset,0),r.lineJoin=N(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=N(b.strokeStyle,l),r.setLineDash(N(b.lineDash,[])),o.usePointStyle){const E={radius:y*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,m/2),R=S+h;up(r,E,L,R,o.pointStyleWidth&&m)}else{const E=S+Math.max((f-y)/2,0),L=a.leftForLtr(k,m),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(st=>st!==0)?gr(r,{x:L,y:E,w:m,h:y,radius:R}):r.rect(L,E,m,y),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},yp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=m+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,R,k),L=iy(T,L+m+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Dp(k,It)}else d.y+=w}),vp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ct(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const m=this.columnSizes.reduce((y,x)=>Math.max(y,x.height),0);c=u+wt(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(ru(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ct(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function E1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Dp(t,n)),i}function Dp(e,t){const n=e.text?e.text.length+.5:0;return t*n}function T1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var L1={id:"legend",_element:xf,start(e,t,n){const i=e.legend=new xf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class zp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ct(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ct(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:ru(n.align),textBaseline:"middle",translation:[o,l]})}}function O1(e,t){const n=new zp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var D1={id:"title",_element:zp,start(e,t,n){O1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;t-1?e.split(` -`):e}function z1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function _f(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ut(t.bodyFont),u=ut(t.titleFont),c=ut(t.footerFont),f=s.length,h=r.length,d=i.length,m=bt(t.padding);let y=m.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(y+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;y+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(y+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,j(e.title,v),n.font=a.string,j(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,j(i,_=>{j(_.before,v),j(_.lines,v),j(_.after,v)}),g=0,n.font=c.string,j(e.footer,v),n.restore(),x+=m.width,{width:x,height:y}}function R1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function F1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function A1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),F1(u,e,t,n)&&(u="center"),u}function wf(e,t,n){const i=n.yAlign||t.yAlign||R1(e,n);return{xAlign:n.xAlign||t.xAlign||A1(e,t,n,i),yAlign:i}}function I1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function N1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function kf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let m=I1(t,l);const y=N1(t,a,u);return a==="center"?l==="left"?m+=u:l==="right"&&(m-=u):l==="left"?m-=Math.max(c,h)+r:l==="right"&&(m+=Math.max(f,d)+r),{x:se(m,0,i.width-t.width),y:se(y,0,i.height-t.height)}}function qr(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function Sf(e){return fe([],ke(e))}function j1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function bf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Rp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Rp[t].call(n,i):r}class ta extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new xp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=j1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return Sf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return j(t,s=>{const o={before:[],lines:[],after:[]},l=bf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return Sf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),j(l,c=>{const f=bf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=_f(this,i),u=Object.assign({},l,a),c=wf(this.chart,i,u),f=kf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:m,height:y}=n;let x,p,g,v,_,w;return s==="center"?(_=d+y/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+m,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+m-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+y,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ut(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:y,y:m,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:m+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(y,m,u,a),t.strokeRect(y,m,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,m+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ut(i.bodyFont);let h=f.lineHeight,d=0;const m=ii(i.rtl,this.x,this.width),y=function(b){n.fillText(b,m.x(t.x+d),t.y+h/2),t.y+=h+s},x=m.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,j(this.beforeBody,y),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=_f(this,t),a=Object.assign({},o,this._size),u=wf(n,t,a),c=kf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),yp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),vp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ta,"positioners",Fi);var B1={id:"tooltip",_element:ta,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ta({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Rp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const H1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function V1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return H1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const W1=(e,t)=>e===null?null:se(Math.round(e),0,t);function Cf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ea,"id","category"),z(ea,"defaults",{ticks:{callback:Cf}});function $1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,m=c-1,{min:y,max:x}=t,p=!H(o),g=!H(l),v=!H(u),_=(x-y)/(f+1);let w=Tc((x-y)/m/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:y},{value:x}];T=Math.ceil(x/w)-Math.floor(y/w),T>m&&(w=Tc(T*w/m/d)*d),H(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(y/w)*w,b=Math.ceil(x/w)*w):(S=y,b=x),p&&g&&s&&Q0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Lc(w),Lc(S));k=Math.pow(10,H(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Mf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Mf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return H(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=$1(r,s);return t.bounds==="ticks"&&np(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return su(t,this.chart.options.locale,this.options.ticks.format)}}class na extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?t:0,this.max=ft(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(na,"id","linear"),z(na,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Pf(e){return e/Math.pow(10,yr(e))===1}function Ef(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function U1(e,t){const n=t-e;let i=yr(n);for(;Ef(e,t,i)>10;)i++;for(;Ef(e,t,i)<10;)i--;return Math.min(i,yr(e))}function Y1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=U1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Pf(d),significand:f}),i}class Tf extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ft(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?Math.max(0,t):null,this.max=ft(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ft(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=Y1(n,this);return t.bounds==="ticks"&&np(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":su(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Tf,"id","logarithmic"),z(Tf,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function ia(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return N(t.font&&t.font.size,nt.font.size)+n.height}return 0}function K1(e,t,n){return n=G(n)?n:[n],{w:dy(e,t.string,n),h:n.length*t.lineHeight}}function Lf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function Q1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function G1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(nu(pe(a.angle+zt))),c=ex(a.y,l.h,u),f=q1(u),h=tx(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function Z1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function J1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:ia(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function nx(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!H(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(m=>m!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function ix(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));nx(n,o,s);const l=ut(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Fp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=W(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?Q1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(H(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(H(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),m=s.setContext(h);rx(this,d,a,o,m)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ut(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function ox(e,t){return e-t}function Of(e,t){if(H(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ft(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Df(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function ax(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ux(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function Rf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Df(s.minUnit,n,i,this._getLabelCapacity(n)),l=N(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const m=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hy-x).map(y=>+y)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return W(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Gl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Gl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Ff extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Ap;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function fx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ap;const n={labels:[],datasets:[]};return Ip(n,e.labels),Np(n,e.datasets,t),n}function hx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=pt.useRef(null),m=pt.useRef(),y=()=>{d.current&&(m.current=new yo(d.current,{type:o,data:fx(l,s),options:a&&{...a},plugins:u}),Af(t,m.current))},x=()=>{Af(t,null),m.current&&(m.current.destroy(),m.current=null)};return pt.useEffect(()=>{!r&&m.current&&a&&cx(m.current,a)},[r,a]),pt.useEffect(()=>{!r&&m.current&&Ip(m.current.config.data,l.labels)},[r,l.labels]),pt.useEffect(()=>{!r&&m.current&&l.datasets&&Np(m.current.config.data,l.datasets,s)},[r,l.datasets]),pt.useEffect(()=>{m.current&&(r?(x(),setTimeout(y)):m.current.update(f))},[r,a,l.labels,l.datasets,f]),pt.useEffect(()=>{m.current&&(x(),setTimeout(y))},[o]),pt.useEffect(()=>(y(),()=>x()),[]),Yf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const dx=pt.forwardRef(hx);function px(e,t){return yo.register(t),pt.forwardRef((n,i)=>Yf.createElement(dx,Object.assign({},n,{ref:i,type:e})))}const gx=px("bar",gs);yo.register(ea,na,vs,D1,B1,L1);const mx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},yx=({data:e})=>{const t=m0(e),n=g0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return Q.jsx(gx,{options:mx,data:i})};function vx(e,t){if(!("method"in t)||t.method==="")return;const{name:n,method:i,traceId:r}=t;n.startsWith("/?key=")||e(s=>{const o=[...s],l=`${i}, ${n}, ${r}`;return console.log(l),o.push(t),o})}function xx(){const[e,t]=pt.useState([]);return pt.useEffect(()=>{chrome.runtime.onMessage.addListener(n=>{console.log(`chromeApiRequestData: ${n.type}, startTime ${n.startTime}`,n)})},[]),pt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",i=>{try{console.log(i.data),vx(t,JSON.parse(i.data))}catch(r){console.log("failed",r)}})},[]),pt.useEffect(()=>{console.log(e)},[e]),Q.jsxs(Q.Fragment,{children:[Q.jsx(yx,{data:e}),Q.jsx(p0,{data:e})]})}const _x=document.getElementById("root"),wx=Zd(_x);console.log("panel/index.jsx reached");wx.render(Q.jsx(xx,{})); +`):e}function z1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function _f(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ct(t.bodyFont),u=ct(t.titleFont),c=ct(t.footerFont),f=s.length,h=r.length,d=i.length,m=bt(t.padding);let y=m.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(y+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;y+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(y+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,j(e.title,v),n.font=a.string,j(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,j(i,_=>{j(_.before,v),j(_.lines,v),j(_.after,v)}),g=0,n.font=c.string,j(e.footer,v),n.restore(),x+=m.width,{width:x,height:y}}function R1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function F1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function A1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),F1(u,e,t,n)&&(u="center"),u}function wf(e,t,n){const i=n.yAlign||t.yAlign||R1(e,n);return{xAlign:n.xAlign||t.xAlign||A1(e,t,n,i),yAlign:i}}function I1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function N1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function kf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let m=I1(t,l);const y=N1(t,a,u);return a==="center"?l==="left"?m+=u:l==="right"&&(m-=u):l==="left"?m-=Math.max(c,h)+r:l==="right"&&(m+=Math.max(f,d)+r),{x:se(m,0,i.width-t.width),y:se(y,0,i.height-t.height)}}function qr(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function Sf(e){return fe([],ke(e))}function j1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function bf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Rp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Rp[t].call(n,i):r}class ta extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new xp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=j1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return Sf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return j(t,s=>{const o={before:[],lines:[],after:[]},l=bf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return Sf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),j(l,c=>{const f=bf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=_f(this,i),u=Object.assign({},l,a),c=wf(this.chart,i,u),f=kf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:m,height:y}=n;let x,p,g,v,_,w;return s==="center"?(_=d+y/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+m,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+m-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+y,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ct(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:y,y:m,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:m+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(y,m,u,a),t.strokeRect(y,m,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,m+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ct(i.bodyFont);let h=f.lineHeight,d=0;const m=ii(i.rtl,this.x,this.width),y=function(b){n.fillText(b,m.x(t.x+d),t.y+h/2),t.y+=h+s},x=m.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,j(this.beforeBody,y),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=_f(this,t),a=Object.assign({},o,this._size),u=wf(n,t,a),c=kf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),yp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),vp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ta,"positioners",Fi);var B1={id:"tooltip",_element:ta,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ta({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Rp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const H1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function V1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return H1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const W1=(e,t)=>e===null?null:se(Math.round(e),0,t);function Cf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ea,"id","category"),z(ea,"defaults",{ticks:{callback:Cf}});function $1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,m=c-1,{min:y,max:x}=t,p=!H(o),g=!H(l),v=!H(u),_=(x-y)/(f+1);let w=Tc((x-y)/m/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:y},{value:x}];T=Math.ceil(x/w)-Math.floor(y/w),T>m&&(w=Tc(T*w/m/d)*d),H(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(y/w)*w,b=Math.ceil(x/w)*w):(S=y,b=x),p&&g&&s&&Q0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Lc(w),Lc(S));k=Math.pow(10,H(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Mf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Mf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return H(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=$1(r,s);return t.bounds==="ticks"&&np(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return su(t,this.chart.options.locale,this.options.ticks.format)}}class na extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?t:0,this.max=ht(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(na,"id","linear"),z(na,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Pf(e){return e/Math.pow(10,yr(e))===1}function Ef(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function U1(e,t){const n=t-e;let i=yr(n);for(;Ef(e,t,i)>10;)i++;for(;Ef(e,t,i)<10;)i--;return Math.min(i,yr(e))}function Y1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=U1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Pf(d),significand:f}),i}class Tf extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ht(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?Math.max(0,t):null,this.max=ht(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ht(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=Y1(n,this);return t.bounds==="ticks"&&np(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":su(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Tf,"id","logarithmic"),z(Tf,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function ia(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return N(t.font&&t.font.size,nt.font.size)+n.height}return 0}function K1(e,t,n){return n=G(n)?n:[n],{w:dy(e,t.string,n),h:n.length*t.lineHeight}}function Lf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function Q1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function G1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(nu(pe(a.angle+zt))),c=ex(a.y,l.h,u),f=q1(u),h=tx(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function Z1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function J1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:ia(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function nx(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!H(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(m=>m!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function ix(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));nx(n,o,s);const l=ct(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Fp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=W(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?Q1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(H(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(H(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),m=s.setContext(h);rx(this,d,a,o,m)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ct(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function ox(e,t){return e-t}function Of(e,t){if(H(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ht(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Df(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function ax(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ux(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function Rf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Df(s.minUnit,n,i,this._getLabelCapacity(n)),l=N(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const m=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hy-x).map(y=>+y)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return W(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Gl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Gl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Ff extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Ap;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function fx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ap;const n={labels:[],datasets:[]};return Ip(n,e.labels),Np(n,e.datasets,t),n}function hx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=lt.useRef(null),m=lt.useRef(),y=()=>{d.current&&(m.current=new yo(d.current,{type:o,data:fx(l,s),options:a&&{...a},plugins:u}),Af(t,m.current))},x=()=>{Af(t,null),m.current&&(m.current.destroy(),m.current=null)};return lt.useEffect(()=>{!r&&m.current&&a&&cx(m.current,a)},[r,a]),lt.useEffect(()=>{!r&&m.current&&Ip(m.current.config.data,l.labels)},[r,l.labels]),lt.useEffect(()=>{!r&&m.current&&l.datasets&&Np(m.current.config.data,l.datasets,s)},[r,l.datasets]),lt.useEffect(()=>{m.current&&(r?(x(),setTimeout(y)):m.current.update(f))},[r,a,l.labels,l.datasets,f]),lt.useEffect(()=>{m.current&&(x(),setTimeout(y))},[o]),lt.useEffect(()=>(y(),()=>x()),[]),Yf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const dx=lt.forwardRef(hx);function px(e,t){return yo.register(t),lt.forwardRef((n,i)=>Yf.createElement(dx,Object.assign({},n,{ref:i,type:e})))}const gx=px("bar",gs);yo.register(ea,na,vs,D1,B1,L1);const mx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},yx=({data:e})=>{const t=m0(e),n=g0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return Q.jsx(gx,{options:mx,data:i})};function vx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r}=t;n.startsWith("/?key=")||e(s=>{const o=[...s],l=`${i}, ${n}, ${r}`;return console.log(l),o.push(t),o})}function xx(e,t,n,i){if(!("method"in i)||i.method==="")return;let{name:r,method:s,traceId:o}=i;if(!r.startsWith("/?key=")){if(r.startsWith("/_next/static/")){const l=r.lastIndexOf("/");r=r.slice(l+1)}e(l=>{const a=new Map([...l.entries()]);if(r==="/"){const c=a.get(t);return c==null||c.push(i),a}const u=`${s}, ${r}, ${o}`;if(a.has(u)){const c=a.get(u);c==null||c.push(i)}else a.set(u,[i]),n(u);return a})}}function _x(){const[e,t]=lt.useState([]),[n,i]=lt.useState(new Map),[r,s]=lt.useState("");return lt.useEffect(()=>{chrome.runtime.onMessage.addListener(o=>{console.log(`chromeApiRequestData: ${o.type}, startTime ${o.startTime}`,o)})},[]),lt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",l=>{try{console.log(l.data),vx(t,JSON.parse(l.data)),xx(i,r,s,JSON.parse(l.data))}catch(a){console.log("failed",a)}})},[]),lt.useEffect(()=>{console.log(n),console.log({mostRecentEntry:r})},[n]),Q.jsxs(Q.Fragment,{children:[Q.jsx(yx,{data:e}),Q.jsx(p0,{data:e})]})}const wx=document.getElementById("root"),kx=Zd(wx);console.log("panel/index.jsx reached");kx.render(Q.jsx(_x,{})); diff --git a/chrome-extension/dist/src/pages/panel/index.html b/chrome-extension/dist/src/pages/panel/index.html index 76489f7..2b00f5a 100644 --- a/chrome-extension/dist/src/pages/panel/index.html +++ b/chrome-extension/dist/src/pages/panel/index.html @@ -2,7 +2,7 @@ - + diff --git a/chrome-extension/src/pages/app/app.tsx b/chrome-extension/src/pages/app/app.tsx index efa3f9e..657252b 100644 --- a/chrome-extension/src/pages/app/app.tsx +++ b/chrome-extension/src/pages/app/app.tsx @@ -3,8 +3,8 @@ import './App.css' import NetworkTable from './components/NetworkTable.tsx' import WaterfallChart from './components/WaterfallGraph.tsx'; import checkTraceId from './functions/checkTraceId.ts' -import { OtelData, IAggregatedData, IRelevantData} from '../../types/types.ts'; -import isRelevantData from './functions/isRelevantData.ts'; +import { OtelData, IAggregatedData, IRelevantData, IRelevant} from '../../types/types.ts'; +import {isRelevantData, isRelevant} from './functions/isRelevantData.ts'; function App() { // const [traceIdData, setTraceIdData] = useState(new Map()); @@ -12,6 +12,10 @@ function App() { // const [relevantData, setRelevantData] = useState(new Map()); const [relevantData, setRelevantData] = useState([]); + const [relevant, setRelevant] = useState(new Map()); + + const [mostRecentEntry, setMostRecentEntry] = useState(""); + useEffect(() => { chrome.runtime.onMessage.addListener((message) => { // setAggregatedData(prevAggregatedData => prevAggregatedData.set(`chromeApiRequestData: ${message.type}, startTime ${message.startTime}`, message)) @@ -27,7 +31,8 @@ function App() { console.log(e.data); // setNetworkRequests(prevNetworkRequests => [...prevNetworkRequests, JSON.parse(e.data)]); // setAggregatedData(prevAggregatedData => checkTraceId(prevAggregatedData, JSON.parse(e.data))) - isRelevantData(setRelevantData, JSON.parse(e.data)) + isRelevantData(setRelevantData, JSON.parse(e.data), ) + isRelevant(setRelevant, mostRecentEntry, setMostRecentEntry, JSON.parse(e.data)); // setRelevantData(prevRelevantData => isRelevantData(prevRelevantData, JSON.parse(e.data))); } catch (err) { console.log('failed', err); @@ -40,9 +45,14 @@ function App() { // console.log(aggregatedData); // }, [aggregatedData]); + // useEffect(() => { + // console.log(relevantData); + // }, [relevantData]); + useEffect(() => { - console.log(relevantData); - }, [relevantData]); + console.log(relevant); + console.log({mostRecentEntry}); + }, [relevant]); return ( <> diff --git a/chrome-extension/src/pages/app/functions/isRelevantData.ts b/chrome-extension/src/pages/app/functions/isRelevantData.ts index 3af0351..ee19425 100644 --- a/chrome-extension/src/pages/app/functions/isRelevantData.ts +++ b/chrome-extension/src/pages/app/functions/isRelevantData.ts @@ -1,7 +1,8 @@ -import { IRelevantData, OtelData, ISetRelevantDataState } from '../../../types/types'; +import { setFlagsFromString } from 'v8'; +import { IRelevantData, OtelData, ISetRelevantDataState, IRelevant, ISetRelevantState, ISetMostRecentEntryState } from '../../../types/types'; -export default function isRelevantData(setRelevantData:ISetRelevantDataState, incomingSpanData: OtelData): void | IRelevantData { +export function isRelevantData(setRelevantData:ISetRelevantDataState, incomingSpanData: OtelData): void | IRelevantData { // if there is no method attached, return if(!('method' in incomingSpanData) || incomingSpanData.method === ""){ return; @@ -9,7 +10,7 @@ export default function isRelevantData(setRelevantData:ISetRelevantDataState, in // destructure name - const {name, method, traceId} = incomingSpanData; + let {name, method, traceId} = incomingSpanData; // check if name starts with "/?key=" , return if (name.startsWith("/?key=")) { return; @@ -41,4 +42,59 @@ export default function isRelevantData(setRelevantData:ISetRelevantDataState, in +} + +export function isRelevant(setRelevant:ISetRelevantState, mostRecentEntry: string, setMostRecentEntry: ISetMostRecentEntryState, incomingSpanData: OtelData): void | IRelevant { + // if there is no method attached, return + if(!('method' in incomingSpanData) || incomingSpanData.method === ""){ + return; + } + + + // destructure name + let {name, method, traceId} = incomingSpanData; + // check if name starts with "/?key=" , return + if (name.startsWith("/?key=")) { + return; + }; + if (name.startsWith("/_next/static/")){ + const lastIndex = name.lastIndexOf("/"); + name = name.slice(lastIndex + 1); + } + + + setRelevant(prevRelevant => { + const newRelevant: IRelevant = new Map([...prevRelevant.entries()]); + + + // if(name === "/" && mostRecentEntry.includes(`${traceId}`) && mostRecentEntry.includes(`${method}`)){ + // const existingData = newRelevant.get(mostRecentEntry); + // existingData?.push(incomingSpanData); + // }; + + if(name === "/" ){ + const existingData = newRelevant.get(mostRecentEntry); + existingData?.push(incomingSpanData); + + // ISSUE: look into how useful these spans with no names are. current logic is not working but also not sure if it should be pushing to the most recent entry + return newRelevant; + }; + + + + + const newKeyName: string = `${method}, ${name}, ${traceId}`; + + + if(newRelevant.has(newKeyName)){ + const existingData = newRelevant.get(newKeyName); + existingData?.push(incomingSpanData); + }else{ + newRelevant.set(newKeyName,[incomingSpanData]); + setMostRecentEntry(newKeyName); + } + + return newRelevant; + + }); } \ No newline at end of file diff --git a/chrome-extension/src/types/types.ts b/chrome-extension/src/types/types.ts index d3d8a7b..cb10d56 100644 --- a/chrome-extension/src/types/types.ts +++ b/chrome-extension/src/types/types.ts @@ -30,7 +30,7 @@ export type IChromeApiNetworkObject = { export type IAggregatedData = Map; -// export type IRelevantData = Map; +export type IRelevant = Map; // key includes method, name, and traceId as a string export type IRelevantData = OtelData[]; @@ -39,6 +39,10 @@ export type ITraceIdData = Map; export type ISetRelevantDataState= Dispatch>; +export type ISetRelevantState= Dispatch>; + +export type ISetMostRecentEntryState= Dispatch>; + export type ILengthsOfChartBars = number[][]; From 0c55c9d4f5c31f5a10c8782c0f239bf91f449437 Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Wed, 5 Jul 2023 17:44:20 -0400 Subject: [PATCH 10/18] issue: want to refactor to only store one state --- .../{panel-40cb3db3.js => panel-5ae92220.js} | 16 +- .../dist/src/pages/panel/index.html | 2 +- chrome-extension/src/pages/app/app.tsx | 22 ++- .../src/pages/app/components/NetworkTable.tsx | 4 + .../src/pages/app/components/TableRow.tsx | 1 - .../src/pages/app/functions/isRelevantData.ts | 2 +- .../src/pages/app/functions/sortData.ts | 148 ++++++++++++++++++ chrome-extension/src/types/types.ts | 20 +++ 8 files changed, 197 insertions(+), 18 deletions(-) rename chrome-extension/dist/assets/{panel-40cb3db3.js => panel-5ae92220.js} (97%) create mode 100644 chrome-extension/src/pages/app/functions/sortData.ts diff --git a/chrome-extension/dist/assets/panel-40cb3db3.js b/chrome-extension/dist/assets/panel-5ae92220.js similarity index 97% rename from chrome-extension/dist/assets/panel-40cb3db3.js rename to chrome-extension/dist/assets/panel-5ae92220.js index 11e4c25..3828eb3 100644 --- a/chrome-extension/dist/assets/panel-40cb3db3.js +++ b/chrome-extension/dist/assets/panel-5ae92220.js @@ -6,7 +6,7 @@ var jp=Object.defineProperty;var Bp=(e,t,n)=>t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var vr=Symbol.for("react.element"),Vp=Symbol.for("react.portal"),Wp=Symbol.for("react.fragment"),$p=Symbol.for("react.strict_mode"),Up=Symbol.for("react.profiler"),Yp=Symbol.for("react.provider"),Kp=Symbol.for("react.context"),Qp=Symbol.for("react.forward_ref"),Xp=Symbol.for("react.suspense"),Gp=Symbol.for("react.memo"),Zp=Symbol.for("react.lazy"),du=Symbol.iterator;function Jp(e){return e===null||typeof e!="object"?null:(e=du&&e[du]||e["@@iterator"],typeof e=="function"?e:null)}var jf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bf=Object.assign,Hf={};function di(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}di.prototype.isReactComponent={};di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Vf(){}Vf.prototype=di.prototype;function ra(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}var sa=ra.prototype=new Vf;sa.constructor=ra;Bf(sa,di.prototype);sa.isPureReactComponent=!0;var pu=Array.isArray,Wf=Object.prototype.hasOwnProperty,oa={current:null},$f={key:!0,ref:!0,__self:!0,__source:!0};function Uf(e,t,n){var i,r={},s=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(s=""+t.key),t)Wf.call(t,i)&&!$f.hasOwnProperty(i)&&(r[i]=t[i]);var l=arguments.length-2;if(l===1)r.children=n;else if(1t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ig=lt,rg=Symbol.for("react.element"),sg=Symbol.for("react.fragment"),og=Object.prototype.hasOwnProperty,lg=ig.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ag={key:!0,ref:!0,__self:!0,__source:!0};function Kf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)og.call(t,i)&&!ag.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:rg,type:e,key:s,ref:o,props:r,_owner:lg.current}}Js.Fragment=sg;Js.jsx=Kf;Js.jsxs=Kf;If.exports=Js;var Q=If.exports,Qf={exports:{}},Ut={},Xf={exports:{}},Gf={};/** + */var ig=rt,rg=Symbol.for("react.element"),sg=Symbol.for("react.fragment"),og=Object.prototype.hasOwnProperty,lg=ig.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ag={key:!0,ref:!0,__self:!0,__source:!0};function Kf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)og.call(t,i)&&!ag.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:rg,type:e,key:s,ref:o,props:r,_owner:lg.current}}Js.Fragment=sg;Js.jsx=Kf;Js.jsxs=Kf;If.exports=Js;var Q=If.exports,Qf={exports:{}},Ut={},Xf={exports:{}},Gf={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var jp=Object.defineProperty;var Bp=(e,t,n)=>t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(e){function t(M,O){var D=M.length;M.push(O);t:for(;0>>1,U=M[V];if(0>>1;Vr(xe,D))jtr(Cr,xe)?(M[V]=Cr,M[jt]=D,V=jt):(M[V]=xe,M[Nt]=D,V=Nt);else if(jtr(Cr,D))M[V]=Cr,M[jt]=D,V=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,m=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(y=!1,v(M),!m)if(n(a)!==null)m=!0,it(w);else{var O=n(u);O!==null&&vt(_,O.startTime-M)}}function w(M,O){m=!1,y&&(y=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var V=f.callback;if(typeof V=="function"){f.callback=null,h=f.priorityLevel;var U=V(f.expirationTime<=O);O=e.unstable_now(),typeof U=="function"?f.callback=U:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&vt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125V?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(y?(p(b),b=-1):y=!0,vt(_,D-V))):(M.sortIndex=U,t(a,M),m||d||(m=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Gf);Xf.exports=Gf;var ug=Xf.exports;/** + */(function(e){function t(M,O){var D=M.length;M.push(O);t:for(;0>>1,U=M[V];if(0>>1;Vr(xe,D))jtr(Cr,xe)?(M[V]=Cr,M[jt]=D,V=jt):(M[V]=xe,M[Nt]=D,V=Nt);else if(jtr(Cr,D))M[V]=Cr,M[jt]=D,V=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,m=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(y=!1,v(M),!m)if(n(a)!==null)m=!0,it(w);else{var O=n(u);O!==null&&vt(_,O.startTime-M)}}function w(M,O){m=!1,y&&(y=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var V=f.callback;if(typeof V=="function"){f.callback=null,h=f.priorityLevel;var U=V(f.expirationTime<=O);O=e.unstable_now(),typeof U=="function"?f.callback=U:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&vt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125V?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(y?(p(b),b=-1):y=!0,vt(_,D-V))):(M.sortIndex=U,t(a,M),m||d||(m=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Gf);Xf.exports=Gf;var ug=Xf.exports;/** * @license React * react-dom.production.min.js * @@ -30,14 +30,14 @@ var jp=Object.defineProperty;var Bp=(e,t,n)=>t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Zf=lt,$t=ug;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nl=Object.prototype.hasOwnProperty,cg=/^[: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]*$/,mu={},yu={};function fg(e){return nl.call(yu,e)?!0:nl.call(mu,e)?!1:cg.test(e)?yu[e]=!0:(mu[e]=!0,!1)}function hg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function dg(e,t,n,i){if(t===null||typeof t>"u"||hg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var aa=/[\-:]([a-z])/g;function ua(e){return e[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(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ca(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nl=Object.prototype.hasOwnProperty,cg=/^[: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]*$/,mu={},yu={};function fg(e){return nl.call(yu,e)?!0:nl.call(mu,e)?!1:cg.test(e)?yu[e]=!0:(mu[e]=!0,!1)}function hg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function dg(e,t,n,i){if(t===null||typeof t>"u"||hg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var aa=/[\-:]([a-z])/g;function ua(e){return e[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(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ca(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2l||r[o]!==s[l]){var a=` -`+r[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{wo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function pg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case In:return"Portal";case il:return"Profiler";case fa:return"StrictMode";case rl:return"Suspense";case sl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case th:return(e.displayName||"Context")+".Consumer";case qf:return(e._context.displayName||"Context")+".Provider";case ha:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case da:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case Ae:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function gg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===fa?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function mg(e){var t=nh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=mg(e))}function ih(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=nh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ll(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function xu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rh(e,t){t=t.checked,t!=null&&ca(e,"checked",t,!1)}function al(e,t){rh(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ul(e,t.type,n):t.hasOwnProperty("defaultValue")&&ul(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function _u(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ul(e,t,n){(t!=="number"||xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Tr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={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},yg=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){yg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function ah(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function uh(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=ah(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var vg=tt({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 hl(e,t){if(t){if(vg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function dl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pl=null;function pa(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gl=null,Jn=null,qn=null;function Su(e){if(e=wr(e)){if(typeof gl!="function")throw Error(C(280));var t=e.stateNode;t&&(t=io(t),gl(e.stateNode,e.type,t))}}function ch(e){Jn?qn?qn.push(e):qn=[e]:Jn=e}function fh(){if(Jn){var e=Jn,t=qn;if(qn=Jn=null,Su(e),t)for(e=0;e>>=0,e===0?32:31-(Tg(e)/Lg|0)|0}var Lr=64,Or=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ss(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function xr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function Rg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Du=String.fromCharCode(32),zu=!1;function Oh(e,t){switch(e){case"keyup":return am.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function cm(e,t){switch(e){case"compositionend":return Dh(t);case"keypress":return t.which!==32?null:(zu=!0,Du);case"textInput":return e=t.data,e===Du&&zu?null:e;default:return null}}function fm(e,t){if(jn)return e==="compositionend"||!ka&&Oh(e,t)?(e=Th(),ss=xa=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Iu(n)}}function Ah(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ah(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ih(){for(var e=window,t=xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xs(e.document)}return t}function Sa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function _m(e){var t=Ih(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ah(n.ownerDocument.documentElement,n)){if(i!==null&&Sa(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Nu(n,s);var o=Nu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,wl=null,Bi=null,kl=!1;function ju(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kl||Bn==null||Bn!==xs(i)||(i=Bn,"selectionStart"in i&&Sa(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ms(wl,"onSelect"),0")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{wo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function pg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case In:return"Portal";case il:return"Profiler";case fa:return"StrictMode";case rl:return"Suspense";case sl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case th:return(e.displayName||"Context")+".Consumer";case qf:return(e._context.displayName||"Context")+".Provider";case ha:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case da:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case Ae:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function gg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===fa?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function mg(e){var t=nh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=mg(e))}function ih(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=nh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ll(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function xu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rh(e,t){t=t.checked,t!=null&&ca(e,"checked",t,!1)}function al(e,t){rh(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ul(e,t.type,n):t.hasOwnProperty("defaultValue")&&ul(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function _u(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ul(e,t,n){(t!=="number"||xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Tr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={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},yg=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){yg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function ah(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function uh(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=ah(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var vg=tt({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 hl(e,t){if(t){if(vg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function dl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pl=null;function pa(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gl=null,Jn=null,qn=null;function Su(e){if(e=wr(e)){if(typeof gl!="function")throw Error(C(280));var t=e.stateNode;t&&(t=io(t),gl(e.stateNode,e.type,t))}}function ch(e){Jn?qn?qn.push(e):qn=[e]:Jn=e}function fh(){if(Jn){var e=Jn,t=qn;if(qn=Jn=null,Su(e),t)for(e=0;e>>=0,e===0?32:31-(Tg(e)/Lg|0)|0}var Lr=64,Or=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ss(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function xr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function Rg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Du=String.fromCharCode(32),zu=!1;function Oh(e,t){switch(e){case"keyup":return am.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function cm(e,t){switch(e){case"compositionend":return Dh(t);case"keypress":return t.which!==32?null:(zu=!0,Du);case"textInput":return e=t.data,e===Du&&zu?null:e;default:return null}}function fm(e,t){if(jn)return e==="compositionend"||!ka&&Oh(e,t)?(e=Th(),ss=xa=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Iu(n)}}function Ah(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ah(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ih(){for(var e=window,t=xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xs(e.document)}return t}function Sa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function _m(e){var t=Ih(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ah(n.ownerDocument.documentElement,n)){if(i!==null&&Sa(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Nu(n,s);var o=Nu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,wl=null,Bi=null,kl=!1;function ju(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kl||Bn==null||Bn!==xs(i)||(i=Bn,"selectionStart"in i&&Sa(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ms(wl,"onSelect"),0Wn||(e.current=El[Wn],El[Wn]=null,Wn--)}function $(e,t){Wn++,El[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Es(){K(Rt),K(St)}function Yu(e,t,n){if(St.current!==rn)throw Error(C(168));$(St,t),$(Rt,n)}function Yh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,gg(e)||"Unknown",r));return tt({},n,i)}function Ts(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,$(St,e),$(Rt,Rt.current),!0}function Ku(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Yh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,K(Rt),K(St),$(St,e)):K(Rt),$(Rt,n)}var be=null,ro=!1,Ao=!1;function Kh(e){be===null?be=[e]:be.push(e)}function Dm(e){ro=!0,Kh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=B;try{var n=be;for(B=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(R){return t(p,R)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Pr:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ae&&tc(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ds(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case In:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=$o(v,p.mode,_),g.return=p,p=g}return o(p);case Ae:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return m(p,g,v,_);if(mi(v))return y(p,g,v,_);Nr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=Wo(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=ed(!0),nd=ed(!1),kr={},ye=an(kr),or=an(kr),lr=an(kr);function xn(e){if(e===kr)throw Error(C(174));return e}function Da(e,t){switch($(lr,t),$(or,e),$(ye,kr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fl(t,e)}K(ye),$(ye,t)}function ai(){K(ye),K(or),K(lr)}function id(e){xn(lr.current);var t=xn(ye.current),n=fl(t,e.type);t!==n&&($(or,e),$(ye,n))}function za(e){or.current===e&&(K(ye),K(or))}var J=an(0);function Fs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Io=[];function Ra(){for(var e=0;en?n:4,e(!0);var i=No.transition;No.transition={};try{e(!1),t()}finally{B=n,No.transition=i}}function xd(){return te().memoizedState}function Am(e,t,n){var i=Je(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},_d(e))wd(t,n);else if(n=Zh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),kd(n,t,i)}}function Im(e,t,n){var i=Je(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(_d(e))wd(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,La(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Zh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),kd(n,t,i))}}function _d(e){var t=e.alternate;return e===q||t!==null&&t===q}function wd(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ma(e,n)}}var Is={readContext:qt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},Nm={readContext:qt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:nc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,us(4194308,4,pd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){return us(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Am.bind(null,q,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:ec,useDebugValue:ja,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=ec(!1),t=e[0];return e=Fm.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=q,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),dt===null)throw Error(C(349));Mn&30||od(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,nc(ad.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,ld.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=dt.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Od(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":Y("cancel",e),Y("close",e),r=i;break;case"iframe":case"object":case"embed":Y("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=J.current,$(J,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return Ua(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Ym(e,t){switch(Ca(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),K(Rt),K(St),Ra(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return za(t),null;case 13:if(K(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return K(J),null;case 4:return ai(),null;case 10:return Ta(t.type._context),null;case 22:case 23:return Ua(),null;case 24:return null;default:return null}}var Br=!1,kt=!1,Km=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var fc=!1;function Qm(e,t){if(Sl=bs,e=Ih(),Sa(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,x=m.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?y:ne(t.type,y),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return m=fc,fc=!1,m}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Rd(e){var t=e.alternate;t!==null&&(e.alternate=null,Rd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Lm],delete t[Om])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function hc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var pt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Ad(e,t,n),n=n.sibling}function Ad(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=pt,r=ie;pt=null,Re(e,t,n),pt=i,ie=r,pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):pt.removeChild(n.stateNode));break;case 18:pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(pt,n.stateNode));break;case 4:i=pt,r=ie,pt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),pt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function dc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Km),t.forEach(function(i){var r=i0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Gm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Wa?_n(e,0):Va|=n),At(e,t)}function $d(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function n0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$d(e,n)}function i0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),$d(e,n)}var Ud;Ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,$m(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Qh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Aa(null,t,i,e,r,n);var s=Ia();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Oa(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&ba(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=s0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=ac(null,t,i,e,n);break t;case 11:t=oc(null,t,i,e,n);break t;case 14:t=lc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),ac(e,t,i,r,n);case 3:t:{if(Ed(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Jh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=uc(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=uc(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=nd(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return id(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Pd(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Td(e,t,n);case 4:return Da(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),oc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,$(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),lc(e,t,i,r,n);case 15:return Cd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),td(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Ld(e,t,n);case 22:return Md(e,t,n)}throw Error(C(156,t.tag))};function Yd(e,t){return vh(e,t)}function r0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new r0(e,t,n,i)}function Ka(e){return e=e.prototype,!(!e||!e.isReactComponent)}function s0(e){if(typeof e=="function")return Ka(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ha)return 11;if(e===da)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ka(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case fa:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case eh:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case qf:o=10;break t;case th:o=9;break t;case ha:o=11;break t;case da:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=eh,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function o0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Qa(e,t,n,i,r,s,o,l,a){return e=new o0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oa(s),e}function l0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gd)}catch(e){console.error(e)}}Gd(),Qf.exports=Ut;var h0=Qf.exports,Zd,wc=h0;Zd=wc.createRoot,wc.hydrateRoot;function Ql(e,t){return t-e}const d0=({data:e})=>(console.log(`tableRowData: ${e}`),Q.jsxs("tr",{children:[Q.jsx("td",{children:e.name}),Q.jsx("td",{children:e.method}),Q.jsx("td",{children:e.status}),Q.jsx("td",{children:e.protocol}),Q.jsx("td",{children:Ql(e.startTime,e.endTime)}),Q.jsx("td",{children:e.originatingService}),Q.jsx("td",{children:e.applicationType})]})),p0=({data:e})=>Q.jsxs("table",{children:[Q.jsxs("tr",{children:[Q.jsx("th",{children:"Name"}),Q.jsx("th",{children:"Method"}),Q.jsx("th",{children:"Status"}),Q.jsx("th",{children:"Protocol"}),Q.jsx("th",{children:"Time"}),Q.jsx("th",{children:"Orig. Svc."}),Q.jsx("th",{children:"Application Type"})]}),e.map((t,n)=>Q.jsx(d0,{data:t},n))]});function g0(e){const t=[];return e.map((n,i)=>{const r=[],s=Ql(e[0].startTime,n.startTime),o=Ql(n.endTime,n.startTime),l=s+o;r.push(s,l),t.push(r)}),t}function m0(e){return e.map(n=>n.name)}/*! +`+s.stack}return{value:e,source:t,stack:r,digest:null}}function Ho(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Rl(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Hm=typeof WeakMap=="function"?WeakMap:Map;function Sd(e,t,n){n=Ee(-1,n),n.tag=3,n.payload={element:null};var i=t.value;return n.callback=function(){js||(js=!0,$l=i),Rl(e,t)},n}function bd(e,t,n){n=Ee(-1,n),n.tag=3;var i=e.type.getDerivedStateFromError;if(typeof i=="function"){var r=t.value;n.payload=function(){return i(r)},n.callback=function(){Rl(e,t)}}var s=e.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){Rl(e,t),typeof i!="function"&&(Ze===null?Ze=new Set([this]):Ze.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function ic(e,t,n){var i=e.pingCache;if(i===null){i=e.pingCache=new Hm;var r=new Set;i.set(t,r)}else r=i.get(t),r===void 0&&(r=new Set,i.set(t,r));r.has(n)||(r.add(n),e=e0.bind(null,e,t,n),t.then(e,e))}function rc(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function sc(e,t,n,i,r){return e.mode&1?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Ee(-1,1),t.tag=2,Ge(n,t,1))),n.lanes|=1),e)}var Vm=ze.ReactCurrentOwner,Dt=!1;function Ct(e,t,n,i){t.child=e===null?nd(t,null,n,i):li(t,e.child,n,i)}function oc(e,t,n,i,r){n=n.render;var s=t.ref;return ei(t,r),i=Aa(e,t,n,i,s,r),n=Ia(),e!==null&&!Dt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,De(e,t,r)):(X&&n&&ba(t),t.flags|=1,Ct(e,t,i,r),t.child)}function lc(e,t,n,i,r){if(e===null){var s=n.type;return typeof s=="function"&&!Ka(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=s,Cd(e,t,s,i,r)):(e=ds(n.type,null,i,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(s=e.child,!(e.lanes&r)){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:nr,n(o,i)&&e.ref===t.ref)return De(e,t,r)}return t.flags|=1,e=qe(s,i),e.ref=t.ref,e.return=t,t.child=e}function Cd(e,t,n,i,r){if(e!==null){var s=e.memoizedProps;if(nr(s,i)&&e.ref===t.ref)if(Dt=!1,t.pendingProps=i=s,(e.lanes&r)!==0)e.flags&131072&&(Dt=!0);else return t.lanes=e.lanes,De(e,t,r)}return Fl(e,t,n,i,r)}function Md(e,t,n){var i=t.pendingProps,r=i.children,s=e!==null?e.memoizedState:null;if(i.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},$(Qn,Ht),Ht|=n;else{if(!(n&1073741824))return e=s!==null?s.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,$(Qn,Ht),Ht|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:n,$(Qn,Ht),Ht|=i}else s!==null?(i=s.baseLanes|n,t.memoizedState=null):i=n,$(Qn,Ht),Ht|=i;return Ct(e,t,r,n),t.child}function Pd(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Fl(e,t,n,i,r){var s=Ft(n)?bn:St.current;return s=si(t,s),ei(t,r),n=Aa(e,t,n,i,s,r),i=Ia(),e!==null&&!Dt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,De(e,t,r)):(X&&i&&ba(t),t.flags|=1,Ct(e,t,n,r),t.child)}function ac(e,t,n,i,r){if(Ft(n)){var s=!0;Ts(t)}else s=!1;if(ei(t,r),t.stateNode===null)cs(e,t),td(t,n,i),zl(t,n,i,r),i=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var a=o.context,u=n.contextType;typeof u=="object"&&u!==null?u=qt(u):(u=Ft(n)?bn:St.current,u=si(t,u));var c=n.getDerivedStateFromProps,f=typeof c=="function"||typeof o.getSnapshotBeforeUpdate=="function";f||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==i||a!==u)&&qu(t,o,i,u),Ie=!1;var h=t.memoizedState;o.state=h,Rs(t,i,o,r),a=t.memoizedState,l!==i||h!==a||Rt.current||Ie?(typeof c=="function"&&(Dl(t,n,c,i),a=t.memoizedState),(l=Ie||Ju(t,n,l,i,h,a,u))?(f||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=a),o.props=i,o.state=a,o.context=u,i=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),i=!1)}else{o=t.stateNode,Jh(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:ne(t.type,l),o.props=u,f=t.pendingProps,h=o.context,a=n.contextType,typeof a=="object"&&a!==null?a=qt(a):(a=Ft(n)?bn:St.current,a=si(t,a));var d=n.getDerivedStateFromProps;(c=typeof d=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==f||h!==a)&&qu(t,o,i,a),Ie=!1,h=t.memoizedState,o.state=h,Rs(t,i,o,r);var m=t.memoizedState;l!==f||h!==m||Rt.current||Ie?(typeof d=="function"&&(Dl(t,n,d,i),m=t.memoizedState),(u=Ie||Ju(t,n,u,i,h,m,a)||!1)?(c||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,m,a),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,m,a)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=m),o.props=i,o.state=m,o.context=a,i=u):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),i=!1)}return Al(e,t,n,i,s,r)}function Al(e,t,n,i,r,s){Pd(e,t);var o=(t.flags&128)!==0;if(!i&&!o)return r&&Ku(t,n,!1),De(e,t,s);i=t.stateNode,Vm.current=t;var l=o&&typeof n.getDerivedStateFromError!="function"?null:i.render();return t.flags|=1,e!==null&&o?(t.child=li(t,e.child,null,s),t.child=li(t,null,l,s)):Ct(e,t,l,s),t.memoizedState=i.state,r&&Ku(t,n,!0),t.child}function Ed(e){var t=e.stateNode;t.pendingContext?Yu(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Yu(e,t.context,!1),Da(e,t.containerInfo)}function uc(e,t,n,i,r){return oi(),Ma(r),t.flags|=256,Ct(e,t,n,i),t.child}var Il={dehydrated:null,treeContext:null,retryLane:0};function Nl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Td(e,t,n){var i=t.pendingProps,r=J.current,s=!1,o=(t.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(r&2)!==0),l?(s=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(r|=1),$(J,r&1),e===null)return Ll(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=i.children,e=i.fallback,s?(i=t.mode,s=t.child,o={mode:"hidden",children:o},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=uo(o,i,0,null),e=wn(e,i,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Nl(n),t.memoizedState=Il,e):Ba(t,o));if(r=e.memoizedState,r!==null&&(l=r.dehydrated,l!==null))return Wm(e,t,o,i,l,r,n);if(s){s=i.fallback,o=t.mode,r=e.child,l=r.sibling;var a={mode:"hidden",children:i.children};return!(o&1)&&t.child!==r?(i=t.child,i.childLanes=0,i.pendingProps=a,t.deletions=null):(i=qe(r,a),i.subtreeFlags=r.subtreeFlags&14680064),l!==null?s=qe(l,s):(s=wn(s,o,n,null),s.flags|=2),s.return=t,i.return=t,i.sibling=s,t.child=i,i=s,s=t.child,o=e.child.memoizedState,o=o===null?Nl(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=e.childLanes&~n,t.memoizedState=Il,i}return s=e.child,e=s.sibling,i=qe(s,{mode:"visible",children:i.children}),!(t.mode&1)&&(i.lanes=n),i.return=t,i.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=i,t.memoizedState=null,i}function Ba(e,t){return t=uo({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function jr(e,t,n,i){return i!==null&&Ma(i),li(t,e.child,null,n),e=Ba(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Wm(e,t,n,i,r,s,o){if(n)return t.flags&256?(t.flags&=-257,i=Ho(Error(C(422))),jr(e,t,o,i)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(s=i.fallback,r=t.mode,i=uo({mode:"visible",children:i.children},r,0,null),s=wn(s,r,o,null),s.flags|=2,i.return=t,s.return=t,i.sibling=s,t.child=i,t.mode&1&&li(t,e.child,null,o),t.child.memoizedState=Nl(o),t.memoizedState=Il,s);if(!(t.mode&1))return jr(e,t,o,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var l=i.dgst;return i=l,s=Error(C(419)),i=Ho(s,i,void 0),jr(e,t,o,i)}if(l=(o&e.childLanes)!==0,Dt||l){if(i=dt,i!==null){switch(o&-o){case 4:r=2;break;case 16:r=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:r=32;break;case 536870912:r=268435456;break;default:r=0}r=r&(i.suspendedLanes|o)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,Oe(e,r),le(i,e,r,-1))}return Ya(),i=Ho(Error(C(421))),jr(e,t,o,i)}return r.data==="$?"?(t.flags|=128,t.child=e.child,t=n0.bind(null,e),r._reactRetry=t,null):(e=s.treeContext,Vt=Xe(r.nextSibling),Wt=t,X=!0,re=null,e!==null&&(Qt[Xt++]=Me,Qt[Xt++]=Pe,Qt[Xt++]=Cn,Me=e.id,Pe=e.overflow,Cn=t),t=Ba(t,i.children),t.flags|=4096,t)}function cc(e,t,n){e.lanes|=t;var i=e.alternate;i!==null&&(i.lanes|=t),Ol(e.return,t,n)}function Vo(e,t,n,i,r){var s=e.memoizedState;s===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r}:(s.isBackwards=t,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=n,s.tailMode=r)}function Ld(e,t,n){var i=t.pendingProps,r=i.revealOrder,s=i.tail;if(Ct(e,t,i.children,n),i=J.current,i&2)i=i&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)t:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&cc(e,n,t);else if(e.tag===19)cc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break t;for(;e.sibling===null;){if(e.return===null||e.return===t)break t;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if($(J,i),!(t.mode&1))t.memoizedState=null;else switch(r){case"forwards":for(n=t.child,r=null;n!==null;)e=n.alternate,e!==null&&Fs(e)===null&&(r=n),n=n.sibling;n=r,n===null?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Vo(t,!1,r,n,s);break;case"backwards":for(n=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&Fs(e)===null){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Vo(t,!0,n,null,s);break;case"together":Vo(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function cs(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function De(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Pn|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(C(153));if(t.child!==null){for(e=t.child,n=qe(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=qe(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function $m(e,t,n){switch(t.tag){case 3:Ed(t),oi();break;case 5:id(t);break;case 1:Ft(t.type)&&Ts(t);break;case 4:Da(t,t.stateNode.containerInfo);break;case 10:var i=t.type._context,r=t.memoizedProps.value;$(Ds,i._currentValue),i._currentValue=r;break;case 13:if(i=t.memoizedState,i!==null)return i.dehydrated!==null?($(J,J.current&1),t.flags|=128,null):n&t.child.childLanes?Td(e,t,n):($(J,J.current&1),e=De(e,t,n),e!==null?e.sibling:null);$(J,J.current&1);break;case 19:if(i=(n&t.childLanes)!==0,e.flags&128){if(i)return Ld(e,t,n);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),$(J,J.current),i)break;return null;case 22:case 23:return t.lanes=0,Md(e,t,n)}return De(e,t,n)}var Od,jl,Dd,zd;Od=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};jl=function(){};Dd=function(e,t,n,i){var r=e.memoizedProps;if(r!==i){e=t.stateNode,xn(ye.current);var s=null;switch(n){case"input":r=ll(e,r),i=ll(e,i),s=[];break;case"select":r=tt({},r,{value:void 0}),i=tt({},i,{value:void 0}),s=[];break;case"textarea":r=cl(e,r),i=cl(e,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(e.onclick=Ps)}hl(n,i);var o;n=null;for(u in r)if(!i.hasOwnProperty(u)&&r.hasOwnProperty(u)&&r[u]!=null)if(u==="style"){var l=r[u];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Xi.hasOwnProperty(u)?s||(s=[]):(s=s||[]).push(u,null));for(u in i){var a=i[u];if(l=r!=null?r[u]:void 0,i.hasOwnProperty(u)&&a!==l&&(a!=null||l!=null))if(u==="style")if(l){for(o in l)!l.hasOwnProperty(o)||a&&a.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in a)a.hasOwnProperty(o)&&l[o]!==a[o]&&(n||(n={}),n[o]=a[o])}else n||(s||(s=[]),s.push(u,n)),n=a;else u==="dangerouslySetInnerHTML"?(a=a?a.__html:void 0,l=l?l.__html:void 0,a!=null&&l!==a&&(s=s||[]).push(u,a)):u==="children"?typeof a!="string"&&typeof a!="number"||(s=s||[]).push(u,""+a):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Xi.hasOwnProperty(u)?(a!=null&&u==="onScroll"&&Y("scroll",e),s||l===a||(s=[])):(s=s||[]).push(u,a))}n&&(s=s||[]).push("style",n);var u=s;(t.updateQueue=u)&&(t.flags|=4)}};zd=function(e,t,n,i){n!==i&&(t.flags|=4)};function ki(e,t){if(!X)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:i.sibling=null}}function _t(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,i=0;if(t)for(var r=e.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=i,e.childLanes=n,t}function Um(e,t,n){var i=t.pendingProps;switch(Ca(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return _t(t),null;case 1:return Ft(t.type)&&Es(),_t(t),null;case 3:return i=t.stateNode,ai(),K(Rt),K(St),Ra(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Ir(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,re!==null&&(Kl(re),re=null))),jl(e,t),_t(t),null;case 5:za(t);var r=xn(lr.current);if(n=t.type,e!==null&&t.stateNode!=null)Dd(e,t,n,i,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(t.stateNode===null)throw Error(C(166));return _t(t),null}if(e=xn(ye.current),Ir(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[ge]=t,i[sr]=s,e=(t.mode&1)!==0,n){case"dialog":Y("cancel",i),Y("close",i);break;case"iframe":case"object":case"embed":Y("load",i);break;case"video":case"audio":for(r=0;r<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Od(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":Y("cancel",e),Y("close",e),r=i;break;case"iframe":case"object":case"embed":Y("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*st()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=st(),t.sibling=null,n=J.current,$(J,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return Ua(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Ym(e,t){switch(Ca(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),K(Rt),K(St),Ra(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return za(t),null;case 13:if(K(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return K(J),null;case 4:return ai(),null;case 10:return Ta(t.type._context),null;case 22:case 23:return Ua(),null;case 24:return null;default:return null}}var Br=!1,kt=!1,Km=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var fc=!1;function Qm(e,t){if(Sl=bs,e=Ih(),Sa(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,x=m.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?y:ne(t.type,y),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return m=fc,fc=!1,m}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Rd(e){var t=e.alternate;t!==null&&(e.alternate=null,Rd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Lm],delete t[Om])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function hc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var pt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Ad(e,t,n),n=n.sibling}function Ad(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=pt,r=ie;pt=null,Re(e,t,n),pt=i,ie=r,pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):pt.removeChild(n.stateNode));break;case 18:pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(pt,n.stateNode));break;case 4:i=pt,r=ie,pt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),pt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function dc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Km),t.forEach(function(i){var r=i0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=st()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Gm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;ast()-Wa?_n(e,0):Va|=n),At(e,t)}function $d(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function n0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$d(e,n)}function i0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),$d(e,n)}var Ud;Ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,$m(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Qh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Aa(null,t,i,e,r,n);var s=Ia();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Oa(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&ba(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=s0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=ac(null,t,i,e,n);break t;case 11:t=oc(null,t,i,e,n);break t;case 14:t=lc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),ac(e,t,i,r,n);case 3:t:{if(Ed(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Jh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=uc(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=uc(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=nd(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return id(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Pd(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Td(e,t,n);case 4:return Da(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),oc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,$(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),lc(e,t,i,r,n);case 15:return Cd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),td(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Ld(e,t,n);case 22:return Md(e,t,n)}throw Error(C(156,t.tag))};function Yd(e,t){return vh(e,t)}function r0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new r0(e,t,n,i)}function Ka(e){return e=e.prototype,!(!e||!e.isReactComponent)}function s0(e){if(typeof e=="function")return Ka(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ha)return 11;if(e===da)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ka(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case fa:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case eh:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case qf:o=10;break t;case th:o=9;break t;case ha:o=11;break t;case da:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=eh,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function o0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Qa(e,t,n,i,r,s,o,l,a){return e=new o0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oa(s),e}function l0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gd)}catch(e){console.error(e)}}Gd(),Qf.exports=Ut;var h0=Qf.exports,Zd,wc=h0;Zd=wc.createRoot,wc.hydrateRoot;function Ql(e,t){return t-e}const d0=({data:e})=>Q.jsxs("tr",{children:[Q.jsx("td",{children:e.name}),Q.jsx("td",{children:e.method}),Q.jsx("td",{children:e.status}),Q.jsx("td",{children:e.protocol}),Q.jsx("td",{children:Ql(e.startTime,e.endTime)}),Q.jsx("td",{children:e.originatingService}),Q.jsx("td",{children:e.applicationType})]}),p0=({data:e})=>Q.jsxs("table",{children:[Q.jsxs("tr",{children:[Q.jsx("th",{children:"Name"}),Q.jsx("th",{children:"Method"}),Q.jsx("th",{children:"Status"}),Q.jsx("th",{children:"Protocol"}),Q.jsx("th",{children:"Time"}),Q.jsx("th",{children:"Orig. Svc."}),Q.jsx("th",{children:"Application Type"})]}),e.map((t,n)=>Q.jsx(d0,{data:t},n))]});function g0(e){const t=[];return e.map((n,i)=>{const r=[],s=Ql(e[0].startTime,n.startTime),o=Ql(n.endTime,n.startTime),l=s+o;r.push(s,l),t.push(r)}),t}function m0(e){return e.map(n=>n.name)}/*! * @kurkle/color v0.3.2 * https://github.com/kurkle/color#readme * (c) 2023 Jukka Kurkela @@ -52,6 +52,6 @@ Error generating stack: `+s.message+` * https://www.chartjs.org * (c) 2023 Chart.js Contributors * Released under the MIT License - */class By{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,r){const s=n.listeners[r],o=n.duration;s.forEach(l=>l({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=sp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new By;const Vc="transparent",Hy={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Rc(e||Vc),r=i.valid&&Rc(t||Vc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Vy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||Hy[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!I(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=$y(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Wy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Vy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Wy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Kc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Qy(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Zy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Jy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Qc=(e,t)=>t?e:Object.assign({},e),qy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:_p(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Uc(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,m)=>f==="x"?h:f==="r"?m:d,s=n.xAxisID=N(i.xAxisID,Qo(t,"x")),o=n.yAxisID=N(i.yAxisID,Qo(t,"y")),l=n.rAxisID=N(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Oc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(I(n))this._data=Ky(n);else if(i!==n){if(i){Oc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ey(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=Uc(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Kc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):I(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]y||f=0;--h)if(!m()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),y=u.resolveNamedOptions(h,d,m,f);return y.$shared&&(y.$shared=a,s[o]=Object.freeze(Qc(y,a))),y}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new xp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function ev(e){const t=e.iScale,n=tv(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function wp(e,t,n,i){return G(e)?rv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Xc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function ov(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(H(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var gv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function qc(e,t){return e.filter(n=>kp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function mv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=qc(t,"x"),a=qc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function tf(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function Sp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function _v(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!I(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&Sp(o,s.getPadding());const l=Math.max(0,t.outerWidth-tf(o,e,"left","right")),a=Math.max(0,t.outerHeight-tf(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function wv(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function kv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof y.beforeLayout=="function"&&y.beforeLayout()});const c=a.reduce((y,x)=>x.box.options&&x.box.options.display===!1?y:y+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);Sp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),m=vv(a.concat(u),f);Ri(l.fullSize,d,f,m),Ri(a,d,f,m),Ri(u,d,f,m)&&Ri(a,d,f,m),wv(d),ef(l.leftAndTop,d,f,m),d.x+=d.w,d.y+=d.h,ef(l.rightAndBottom,d,f,m),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},j(l.chartArea,y=>{const x=y.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class bp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class Sv extends bp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",bv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},nf=e=>e===null||e==="";function Cv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",nf(r)){const s=Hc(e,"width");s!==void 0&&(e.width=s)}if(nf(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Hc(e,"height");s!==void 0&&(e.height=s)}return e}const Cp=Iy?{passive:!0}:!1;function Mv(e,t,n){e.addEventListener(t,n,Cp)}function Pv(e,t,n){e.canvas.removeEventListener(t,n,Cp)}function Ev(e,t){const n=bv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Lv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let rf=0;function Mp(){const e=window.devicePixelRatio;e!==rf&&(rf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Ov(e,t){mr.size||window.addEventListener("resize",Mp),mr.set(e,t)}function Dv(e){mr.delete(e),mr.size||window.removeEventListener("resize",Mp)}function zv(e,t,n){const i=e.canvas,r=i&&fu(i);if(!r)return;const s=op((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Ov(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Dv(e)}function Rv(e,t,n){const i=e.canvas,r=op(s=>{e.ctx!==null&&n(Ev(s,e))},e);return Mv(i,t,r),r}class Fv extends bp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Cv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];H(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Tv,detach:Lv,resize:zv}[n]||Rv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Pv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Ay(t,n,i,r)}isAttached(t){const n=fu(t);return!!(n&&n.isConnected)}}function Av(e){return!mp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?Sv:Fv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Iv(e,t){const n=e.options.ticks,i=Nv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?Bv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Hv(t,u,s,o/r),u;const c=jv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,H(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function Bv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,sf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,of=(e,t)=>Math.min(t||e,e);function lf(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function Uv(e,t){j(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){W(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=wy(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-af(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=nu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){W(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){W(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=af(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,m=$e(this.labelRotation),y=Math.cos(m),x=Math.sin(m);if(l){const p=i.mirror?0:x*f.width+y*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:y*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,y)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){W(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return J0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],m=l.setContext(this.getContext()),y=m.display?m.width:0,x=y/2,p=function(it){return fn(i,it,y)};let g,v,_,w,k,S,b,T,E,L,R,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=N(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Jv(e){return"id"in e&&"defaults"in e}class qv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):j(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=eu(t);W(i["before"+r],[],i),n[t](i),W(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function e1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&uf(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function cf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function a1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return cf(e,"x",n[0])||cf(e,"y",n[0])}return{}}function u1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Jl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!I(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=ql(o,l,a1(o,e),nt.scales[l.type]),u=o1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Jl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=s1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Pp(e){const t=e.options||(e.options={});t.plugins=N(t.plugins,{}),t.scales=u1(e,t)}function Ep(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function c1(e){return e=e||{},e.data=Ep(e.data),Pp(e),e}const ff=new Map,Tp=new Set;function Jr(e,t){let n=ff.get(e);return n||(n=t(),ff.set(e,n),Tp.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class f1{constructor(t){this._config=c1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Ep(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Pp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Zl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Tp.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Zl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=hf(this._resolverCache,t,r);let a=o;if(d1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=hf(this._resolverCache,t,i);return I(n)?hi(s,n,void 0,r):s}}function hf(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:au(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const h1=e=>I(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function d1(e,t){const{isScriptable:n,isIndexable:i}=hp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||h1(l))||o&&G(l))return!0}return!1}var p1="4.3.0";const g1=["top","bottom","left","right","chartArea"];function df(e,t){return e==="top"||e==="bottom"||g1.indexOf(e)===-1&&t==="x"}function pf(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function gf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),W(n&&n.onComplete,[e],t)}function m1(e){const t=e.chart,n=t.options.animation;W(n&&n.onProgress,[e],t)}function Lp(e){return mp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},mf=e=>{const t=Lp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function y1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function v1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function x1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),yf()}static unregister(...t){de.remove(...t),yf()}constructor(t,n){const i=this.config=new f1(n),r=Lp(t),s=mf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Av(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=j0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new t1,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ny(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",gf),we.listen(this,"progress",m1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return H(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ac(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),W(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};j(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=ql(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),j(s,o=>{const l=o.options,a=l.id,u=ql(a,l),c=N(l.type,o.dtype);(l.position===void 0||df(l.position,u)!==df(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),j(r,(o,l)=>{o||delete i[l]}),j(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(pf("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){j(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;y1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],j(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=x1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&ou(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&lu(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=gv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};j(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){j(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},j(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=U0(t),u=v1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,W(s.onHover,[t,l,this],this),a&&W(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",p1),z(Fe,"getChart",mf),Fe);function yf(){return j(yo.instances,e=>e._plugins.invalidate())}function Op(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function _1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=fp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function w1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||I(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function k1(e){const t=Op(e),n=t.right-t.left,i=t.bottom-t.top,r=_1(e,n/2,i/2),s=w1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Op(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function S1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function b1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=k1(this),l=S1(o.radius)?gr:b1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const vf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},C1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class xf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=W(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ct(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=vf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((m,y)=>{const x=i+n/2+s.measureText(m.text).width;(y===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(y>0?0:1)]=0,d+=c,h++),a[y]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,m=0,y=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=M1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),m+=h+l,y++,h=d=0),a[p]={left:m,top:d,col:y,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ou(t,this),this._draw(),lu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ct(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:m,boxHeight:y,itemHeight:x}=vf(o,f),p=function(k,S,b){if(isNaN(m)||m<=0||isNaN(y)||y<0)return;r.save();const T=N(b.lineWidth,1);if(r.fillStyle=N(b.fillStyle,l),r.lineCap=N(b.lineCap,"butt"),r.lineDashOffset=N(b.lineDashOffset,0),r.lineJoin=N(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=N(b.strokeStyle,l),r.setLineDash(N(b.lineDash,[])),o.usePointStyle){const E={radius:y*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,m/2),R=S+h;up(r,E,L,R,o.pointStyleWidth&&m)}else{const E=S+Math.max((f-y)/2,0),L=a.leftForLtr(k,m),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(st=>st!==0)?gr(r,{x:L,y:E,w:m,h:y,radius:R}):r.rect(L,E,m,y),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},yp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=m+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,R,k),L=iy(T,L+m+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Dp(k,It)}else d.y+=w}),vp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ct(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const m=this.columnSizes.reduce((y,x)=>Math.max(y,x.height),0);c=u+wt(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(ru(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ct(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function E1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Dp(t,n)),i}function Dp(e,t){const n=e.text?e.text.length+.5:0;return t*n}function T1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var L1={id:"legend",_element:xf,start(e,t,n){const i=e.legend=new xf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class zp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ct(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ct(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:ru(n.align),textBaseline:"middle",translation:[o,l]})}}function O1(e,t){const n=new zp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var D1={id:"title",_element:zp,start(e,t,n){O1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;tl({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=sp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new By;const Vc="transparent",Hy={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Rc(e||Vc),r=i.valid&&Rc(t||Vc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Vy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||Hy[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!I(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=$y(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Wy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Vy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Wy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Kc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Qy(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Zy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Jy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Qc=(e,t)=>t?e:Object.assign({},e),qy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:_p(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Uc(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,m)=>f==="x"?h:f==="r"?m:d,s=n.xAxisID=N(i.xAxisID,Qo(t,"x")),o=n.yAxisID=N(i.yAxisID,Qo(t,"y")),l=n.rAxisID=N(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Oc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(I(n))this._data=Ky(n);else if(i!==n){if(i){Oc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ey(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=Uc(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Kc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):I(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]y||f=0;--h)if(!m()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),y=u.resolveNamedOptions(h,d,m,f);return y.$shared&&(y.$shared=a,s[o]=Object.freeze(Qc(y,a))),y}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new xp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function ev(e){const t=e.iScale,n=tv(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function wp(e,t,n,i){return G(e)?rv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Xc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function ov(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(H(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var gv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function qc(e,t){return e.filter(n=>kp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function mv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=qc(t,"x"),a=qc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function tf(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function Sp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function _v(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!I(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&Sp(o,s.getPadding());const l=Math.max(0,t.outerWidth-tf(o,e,"left","right")),a=Math.max(0,t.outerHeight-tf(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function wv(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function kv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof y.beforeLayout=="function"&&y.beforeLayout()});const c=a.reduce((y,x)=>x.box.options&&x.box.options.display===!1?y:y+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);Sp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),m=vv(a.concat(u),f);Ri(l.fullSize,d,f,m),Ri(a,d,f,m),Ri(u,d,f,m)&&Ri(a,d,f,m),wv(d),ef(l.leftAndTop,d,f,m),d.x+=d.w,d.y+=d.h,ef(l.rightAndBottom,d,f,m),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},j(l.chartArea,y=>{const x=y.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class bp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class Sv extends bp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",bv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},nf=e=>e===null||e==="";function Cv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",nf(r)){const s=Hc(e,"width");s!==void 0&&(e.width=s)}if(nf(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Hc(e,"height");s!==void 0&&(e.height=s)}return e}const Cp=Iy?{passive:!0}:!1;function Mv(e,t,n){e.addEventListener(t,n,Cp)}function Pv(e,t,n){e.canvas.removeEventListener(t,n,Cp)}function Ev(e,t){const n=bv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Lv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let rf=0;function Mp(){const e=window.devicePixelRatio;e!==rf&&(rf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Ov(e,t){mr.size||window.addEventListener("resize",Mp),mr.set(e,t)}function Dv(e){mr.delete(e),mr.size||window.removeEventListener("resize",Mp)}function zv(e,t,n){const i=e.canvas,r=i&&fu(i);if(!r)return;const s=op((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Ov(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Dv(e)}function Rv(e,t,n){const i=e.canvas,r=op(s=>{e.ctx!==null&&n(Ev(s,e))},e);return Mv(i,t,r),r}class Fv extends bp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Cv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];H(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Tv,detach:Lv,resize:zv}[n]||Rv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Pv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Ay(t,n,i,r)}isAttached(t){const n=fu(t);return!!(n&&n.isConnected)}}function Av(e){return!mp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?Sv:Fv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Iv(e,t){const n=e.options.ticks,i=Nv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?Bv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Hv(t,u,s,o/r),u;const c=jv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,H(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function Bv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,sf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,of=(e,t)=>Math.min(t||e,e);function lf(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function Uv(e,t){j(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){W(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=wy(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-af(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=nu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){W(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){W(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=af(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,m=$e(this.labelRotation),y=Math.cos(m),x=Math.sin(m);if(l){const p=i.mirror?0:x*f.width+y*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:y*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,y)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){W(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return J0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],m=l.setContext(this.getContext()),y=m.display?m.width:0,x=y/2,p=function(it){return fn(i,it,y)};let g,v,_,w,k,S,b,T,E,L,R,ot;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,ot=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,ot=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,ot=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=N(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Jv(e){return"id"in e&&"defaults"in e}class qv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):j(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=eu(t);W(i["before"+r],[],i),n[t](i),W(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function e1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&uf(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function cf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function a1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return cf(e,"x",n[0])||cf(e,"y",n[0])}return{}}function u1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Jl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!I(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=ql(o,l,a1(o,e),nt.scales[l.type]),u=o1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Jl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=s1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Pp(e){const t=e.options||(e.options={});t.plugins=N(t.plugins,{}),t.scales=u1(e,t)}function Ep(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function c1(e){return e=e||{},e.data=Ep(e.data),Pp(e),e}const ff=new Map,Tp=new Set;function Jr(e,t){let n=ff.get(e);return n||(n=t(),ff.set(e,n),Tp.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class f1{constructor(t){this._config=c1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Ep(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Pp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Zl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Tp.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Zl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=hf(this._resolverCache,t,r);let a=o;if(d1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=hf(this._resolverCache,t,i);return I(n)?hi(s,n,void 0,r):s}}function hf(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:au(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const h1=e=>I(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function d1(e,t){const{isScriptable:n,isIndexable:i}=hp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||h1(l))||o&&G(l))return!0}return!1}var p1="4.3.0";const g1=["top","bottom","left","right","chartArea"];function df(e,t){return e==="top"||e==="bottom"||g1.indexOf(e)===-1&&t==="x"}function pf(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function gf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),W(n&&n.onComplete,[e],t)}function m1(e){const t=e.chart,n=t.options.animation;W(n&&n.onProgress,[e],t)}function Lp(e){return mp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},mf=e=>{const t=Lp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function y1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function v1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function x1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),yf()}static unregister(...t){de.remove(...t),yf()}constructor(t,n){const i=this.config=new f1(n),r=Lp(t),s=mf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Av(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=j0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new t1,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ny(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",gf),we.listen(this,"progress",m1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return H(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ac(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),W(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};j(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=ql(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),j(s,o=>{const l=o.options,a=l.id,u=ql(a,l),c=N(l.type,o.dtype);(l.position===void 0||df(l.position,u)!==df(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),j(r,(o,l)=>{o||delete i[l]}),j(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(pf("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){j(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;y1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],j(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=x1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&ou(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&lu(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=gv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};j(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){j(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},j(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=U0(t),u=v1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,W(s.onHover,[t,l,this],this),a&&W(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",p1),z(Fe,"getChart",mf),Fe);function yf(){return j(yo.instances,e=>e._plugins.invalidate())}function Op(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function _1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=fp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function w1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||I(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function k1(e){const t=Op(e),n=t.right-t.left,i=t.bottom-t.top,r=_1(e,n/2,i/2),s=w1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Op(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function S1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function b1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=k1(this),l=S1(o.radius)?gr:b1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const vf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},C1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class xf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=W(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ct(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=vf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((m,y)=>{const x=i+n/2+s.measureText(m.text).width;(y===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(y>0?0:1)]=0,d+=c,h++),a[y]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,m=0,y=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=M1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),m+=h+l,y++,h=d=0),a[p]={left:m,top:d,col:y,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ou(t,this),this._draw(),lu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ct(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:m,boxHeight:y,itemHeight:x}=vf(o,f),p=function(k,S,b){if(isNaN(m)||m<=0||isNaN(y)||y<0)return;r.save();const T=N(b.lineWidth,1);if(r.fillStyle=N(b.fillStyle,l),r.lineCap=N(b.lineCap,"butt"),r.lineDashOffset=N(b.lineDashOffset,0),r.lineJoin=N(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=N(b.strokeStyle,l),r.setLineDash(N(b.lineDash,[])),o.usePointStyle){const E={radius:y*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,m/2),R=S+h;up(r,E,L,R,o.pointStyleWidth&&m)}else{const E=S+Math.max((f-y)/2,0),L=a.leftForLtr(k,m),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(ot=>ot!==0)?gr(r,{x:L,y:E,w:m,h:y,radius:R}):r.rect(L,E,m,y),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},yp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=m+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const ot=a.x(L);if(p(ot,R,k),L=iy(T,L+m+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Dp(k,It)}else d.y+=w}),vp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ct(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const m=this.columnSizes.reduce((y,x)=>Math.max(y,x.height),0);c=u+wt(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(ru(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ct(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function E1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Dp(t,n)),i}function Dp(e,t){const n=e.text?e.text.length+.5:0;return t*n}function T1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var L1={id:"legend",_element:xf,start(e,t,n){const i=e.legend=new xf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class zp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ct(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ct(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:ru(n.align),textBaseline:"middle",translation:[o,l]})}}function O1(e,t){const n=new zp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var D1={id:"title",_element:zp,start(e,t,n){O1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;t-1?e.split(` -`):e}function z1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function _f(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ct(t.bodyFont),u=ct(t.titleFont),c=ct(t.footerFont),f=s.length,h=r.length,d=i.length,m=bt(t.padding);let y=m.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(y+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;y+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(y+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,j(e.title,v),n.font=a.string,j(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,j(i,_=>{j(_.before,v),j(_.lines,v),j(_.after,v)}),g=0,n.font=c.string,j(e.footer,v),n.restore(),x+=m.width,{width:x,height:y}}function R1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function F1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function A1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),F1(u,e,t,n)&&(u="center"),u}function wf(e,t,n){const i=n.yAlign||t.yAlign||R1(e,n);return{xAlign:n.xAlign||t.xAlign||A1(e,t,n,i),yAlign:i}}function I1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function N1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function kf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let m=I1(t,l);const y=N1(t,a,u);return a==="center"?l==="left"?m+=u:l==="right"&&(m-=u):l==="left"?m-=Math.max(c,h)+r:l==="right"&&(m+=Math.max(f,d)+r),{x:se(m,0,i.width-t.width),y:se(y,0,i.height-t.height)}}function qr(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function Sf(e){return fe([],ke(e))}function j1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function bf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Rp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Rp[t].call(n,i):r}class ta extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new xp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=j1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return Sf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return j(t,s=>{const o={before:[],lines:[],after:[]},l=bf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return Sf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),j(l,c=>{const f=bf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=_f(this,i),u=Object.assign({},l,a),c=wf(this.chart,i,u),f=kf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:m,height:y}=n;let x,p,g,v,_,w;return s==="center"?(_=d+y/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+m,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+m-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+y,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ct(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:y,y:m,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:m+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(y,m,u,a),t.strokeRect(y,m,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,m+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ct(i.bodyFont);let h=f.lineHeight,d=0;const m=ii(i.rtl,this.x,this.width),y=function(b){n.fillText(b,m.x(t.x+d),t.y+h/2),t.y+=h+s},x=m.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,j(this.beforeBody,y),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=_f(this,t),a=Object.assign({},o,this._size),u=wf(n,t,a),c=kf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),yp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),vp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ta,"positioners",Fi);var B1={id:"tooltip",_element:ta,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ta({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Rp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const H1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function V1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return H1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const W1=(e,t)=>e===null?null:se(Math.round(e),0,t);function Cf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ea,"id","category"),z(ea,"defaults",{ticks:{callback:Cf}});function $1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,m=c-1,{min:y,max:x}=t,p=!H(o),g=!H(l),v=!H(u),_=(x-y)/(f+1);let w=Tc((x-y)/m/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:y},{value:x}];T=Math.ceil(x/w)-Math.floor(y/w),T>m&&(w=Tc(T*w/m/d)*d),H(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(y/w)*w,b=Math.ceil(x/w)*w):(S=y,b=x),p&&g&&s&&Q0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Lc(w),Lc(S));k=Math.pow(10,H(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Mf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Mf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return H(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=$1(r,s);return t.bounds==="ticks"&&np(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return su(t,this.chart.options.locale,this.options.ticks.format)}}class na extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?t:0,this.max=ht(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(na,"id","linear"),z(na,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Pf(e){return e/Math.pow(10,yr(e))===1}function Ef(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function U1(e,t){const n=t-e;let i=yr(n);for(;Ef(e,t,i)>10;)i++;for(;Ef(e,t,i)<10;)i--;return Math.min(i,yr(e))}function Y1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=U1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Pf(d),significand:f}),i}class Tf extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ht(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?Math.max(0,t):null,this.max=ht(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ht(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=Y1(n,this);return t.bounds==="ticks"&&np(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":su(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Tf,"id","logarithmic"),z(Tf,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function ia(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return N(t.font&&t.font.size,nt.font.size)+n.height}return 0}function K1(e,t,n){return n=G(n)?n:[n],{w:dy(e,t.string,n),h:n.length*t.lineHeight}}function Lf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function Q1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function G1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(nu(pe(a.angle+zt))),c=ex(a.y,l.h,u),f=q1(u),h=tx(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function Z1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function J1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:ia(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function nx(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!H(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(m=>m!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function ix(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));nx(n,o,s);const l=ct(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Fp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=W(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?Q1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(H(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(H(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),m=s.setContext(h);rx(this,d,a,o,m)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ct(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function ox(e,t){return e-t}function Of(e,t){if(H(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ht(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Df(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function ax(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ux(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function Rf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Df(s.minUnit,n,i,this._getLabelCapacity(n)),l=N(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const m=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hy-x).map(y=>+y)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return W(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Gl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Gl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Ff extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Ap;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function fx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ap;const n={labels:[],datasets:[]};return Ip(n,e.labels),Np(n,e.datasets,t),n}function hx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=lt.useRef(null),m=lt.useRef(),y=()=>{d.current&&(m.current=new yo(d.current,{type:o,data:fx(l,s),options:a&&{...a},plugins:u}),Af(t,m.current))},x=()=>{Af(t,null),m.current&&(m.current.destroy(),m.current=null)};return lt.useEffect(()=>{!r&&m.current&&a&&cx(m.current,a)},[r,a]),lt.useEffect(()=>{!r&&m.current&&Ip(m.current.config.data,l.labels)},[r,l.labels]),lt.useEffect(()=>{!r&&m.current&&l.datasets&&Np(m.current.config.data,l.datasets,s)},[r,l.datasets]),lt.useEffect(()=>{m.current&&(r?(x(),setTimeout(y)):m.current.update(f))},[r,a,l.labels,l.datasets,f]),lt.useEffect(()=>{m.current&&(x(),setTimeout(y))},[o]),lt.useEffect(()=>(y(),()=>x()),[]),Yf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const dx=lt.forwardRef(hx);function px(e,t){return yo.register(t),lt.forwardRef((n,i)=>Yf.createElement(dx,Object.assign({},n,{ref:i,type:e})))}const gx=px("bar",gs);yo.register(ea,na,vs,D1,B1,L1);const mx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},yx=({data:e})=>{const t=m0(e),n=g0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return Q.jsx(gx,{options:mx,data:i})};function vx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r}=t;n.startsWith("/?key=")||e(s=>{const o=[...s],l=`${i}, ${n}, ${r}`;return console.log(l),o.push(t),o})}function xx(e,t,n,i){if(!("method"in i)||i.method==="")return;let{name:r,method:s,traceId:o}=i;if(!r.startsWith("/?key=")){if(r.startsWith("/_next/static/")){const l=r.lastIndexOf("/");r=r.slice(l+1)}e(l=>{const a=new Map([...l.entries()]);if(r==="/"){const c=a.get(t);return c==null||c.push(i),a}const u=`${s}, ${r}, ${o}`;if(a.has(u)){const c=a.get(u);c==null||c.push(i)}else a.set(u,[i]),n(u);return a})}}function _x(){const[e,t]=lt.useState([]),[n,i]=lt.useState(new Map),[r,s]=lt.useState("");return lt.useEffect(()=>{chrome.runtime.onMessage.addListener(o=>{console.log(`chromeApiRequestData: ${o.type}, startTime ${o.startTime}`,o)})},[]),lt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",l=>{try{console.log(l.data),vx(t,JSON.parse(l.data)),xx(i,r,s,JSON.parse(l.data))}catch(a){console.log("failed",a)}})},[]),lt.useEffect(()=>{console.log(n),console.log({mostRecentEntry:r})},[n]),Q.jsxs(Q.Fragment,{children:[Q.jsx(yx,{data:e}),Q.jsx(p0,{data:e})]})}const wx=document.getElementById("root"),kx=Zd(wx);console.log("panel/index.jsx reached");kx.render(Q.jsx(_x,{})); +`):e}function z1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function _f(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ct(t.bodyFont),u=ct(t.titleFont),c=ct(t.footerFont),f=s.length,h=r.length,d=i.length,m=bt(t.padding);let y=m.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(y+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;y+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(y+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,j(e.title,v),n.font=a.string,j(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,j(i,_=>{j(_.before,v),j(_.lines,v),j(_.after,v)}),g=0,n.font=c.string,j(e.footer,v),n.restore(),x+=m.width,{width:x,height:y}}function R1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function F1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function A1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),F1(u,e,t,n)&&(u="center"),u}function wf(e,t,n){const i=n.yAlign||t.yAlign||R1(e,n);return{xAlign:n.xAlign||t.xAlign||A1(e,t,n,i),yAlign:i}}function I1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function N1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function kf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let m=I1(t,l);const y=N1(t,a,u);return a==="center"?l==="left"?m+=u:l==="right"&&(m-=u):l==="left"?m-=Math.max(c,h)+r:l==="right"&&(m+=Math.max(f,d)+r),{x:se(m,0,i.width-t.width),y:se(y,0,i.height-t.height)}}function qr(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function Sf(e){return fe([],ke(e))}function j1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function bf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Rp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Rp[t].call(n,i):r}class ta extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new xp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=j1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return Sf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return j(t,s=>{const o={before:[],lines:[],after:[]},l=bf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return Sf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),j(l,c=>{const f=bf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=_f(this,i),u=Object.assign({},l,a),c=wf(this.chart,i,u),f=kf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:m,height:y}=n;let x,p,g,v,_,w;return s==="center"?(_=d+y/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+m,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+m-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+y,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ct(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:y,y:m,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:m+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(y,m,u,a),t.strokeRect(y,m,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,m+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ct(i.bodyFont);let h=f.lineHeight,d=0;const m=ii(i.rtl,this.x,this.width),y=function(b){n.fillText(b,m.x(t.x+d),t.y+h/2),t.y+=h+s},x=m.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,j(this.beforeBody,y),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=_f(this,t),a=Object.assign({},o,this._size),u=wf(n,t,a),c=kf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),yp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),vp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ta,"positioners",Fi);var B1={id:"tooltip",_element:ta,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ta({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Rp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const H1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function V1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return H1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const W1=(e,t)=>e===null?null:se(Math.round(e),0,t);function Cf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ea,"id","category"),z(ea,"defaults",{ticks:{callback:Cf}});function $1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,m=c-1,{min:y,max:x}=t,p=!H(o),g=!H(l),v=!H(u),_=(x-y)/(f+1);let w=Tc((x-y)/m/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:y},{value:x}];T=Math.ceil(x/w)-Math.floor(y/w),T>m&&(w=Tc(T*w/m/d)*d),H(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(y/w)*w,b=Math.ceil(x/w)*w):(S=y,b=x),p&&g&&s&&Q0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Lc(w),Lc(S));k=Math.pow(10,H(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Mf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Mf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return H(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=$1(r,s);return t.bounds==="ticks"&&np(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return su(t,this.chart.options.locale,this.options.ticks.format)}}class na extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?t:0,this.max=ht(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(na,"id","linear"),z(na,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Pf(e){return e/Math.pow(10,yr(e))===1}function Ef(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function U1(e,t){const n=t-e;let i=yr(n);for(;Ef(e,t,i)>10;)i++;for(;Ef(e,t,i)<10;)i--;return Math.min(i,yr(e))}function Y1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=U1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Pf(d),significand:f}),i}class Tf extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ht(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?Math.max(0,t):null,this.max=ht(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ht(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=Y1(n,this);return t.bounds==="ticks"&&np(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":su(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Tf,"id","logarithmic"),z(Tf,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function ia(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return N(t.font&&t.font.size,nt.font.size)+n.height}return 0}function K1(e,t,n){return n=G(n)?n:[n],{w:dy(e,t.string,n),h:n.length*t.lineHeight}}function Lf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function Q1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function G1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(nu(pe(a.angle+zt))),c=ex(a.y,l.h,u),f=q1(u),h=tx(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function Z1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function J1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:ia(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function nx(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!H(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(m=>m!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function ix(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));nx(n,o,s);const l=ct(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Fp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=W(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?Q1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(H(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(H(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),m=s.setContext(h);rx(this,d,a,o,m)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ct(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function ox(e,t){return e-t}function Of(e,t){if(H(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ht(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Df(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function ax(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ux(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function Rf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Df(s.minUnit,n,i,this._getLabelCapacity(n)),l=N(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const m=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hy-x).map(y=>+y)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return W(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Gl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Gl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Ff extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Ap;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function fx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ap;const n={labels:[],datasets:[]};return Ip(n,e.labels),Np(n,e.datasets,t),n}function hx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=rt.useRef(null),m=rt.useRef(),y=()=>{d.current&&(m.current=new yo(d.current,{type:o,data:fx(l,s),options:a&&{...a},plugins:u}),Af(t,m.current))},x=()=>{Af(t,null),m.current&&(m.current.destroy(),m.current=null)};return rt.useEffect(()=>{!r&&m.current&&a&&cx(m.current,a)},[r,a]),rt.useEffect(()=>{!r&&m.current&&Ip(m.current.config.data,l.labels)},[r,l.labels]),rt.useEffect(()=>{!r&&m.current&&l.datasets&&Np(m.current.config.data,l.datasets,s)},[r,l.datasets]),rt.useEffect(()=>{m.current&&(r?(x(),setTimeout(y)):m.current.update(f))},[r,a,l.labels,l.datasets,f]),rt.useEffect(()=>{m.current&&(x(),setTimeout(y))},[o]),rt.useEffect(()=>(y(),()=>x()),[]),Yf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const dx=rt.forwardRef(hx);function px(e,t){return yo.register(t),rt.forwardRef((n,i)=>Yf.createElement(dx,Object.assign({},n,{ref:i,type:e})))}const gx=px("bar",gs);yo.register(ea,na,vs,D1,B1,L1);const mx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},yx=({data:e})=>{const t=m0(e),n=g0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return Q.jsx(gx,{options:mx,data:i})};function vx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r}=t;n.startsWith("/?key=")||e(s=>{const o=[...s],l=`${i}, ${n}, ${r}`;return console.log(l),o.push(t),o})}function xx(e,t,n,i){if(!("method"in i)||i.method==="")return;let{name:r,method:s,traceId:o}=i;if(!r.startsWith("/?key=")){if(r.startsWith("/_next/static/")){const l=r.lastIndexOf("/");r=r.slice(l+1)}e(l=>{const a=new Map([...l.entries()]);if(r==="/"){const c=a.get(t);return c==null||c.push(i),a}const u=`${s}, ${r}, ${o}`;if(a.has(u)){const c=a.get(u);c==null||c.push(i)}else a.set(u,[i]),n(u);return a})}}function _x(e){const t=[];return e.forEach(n=>{const i=kx(n);if(t.length===0)t.unshift(i);else for(let r=0;r{t.relativeStartTime=t.startTime-e[0].startTime})}function kx(e){let t=1/0,n=-1/0,i,r;e.forEach(c=>{c.startTimen&&(n=c.endTime),i===void 0&&"status"in c&&(i=c.status),r===void 0&&"protocol"in c&&(r=c.protocol)});const{applicationType:s,originatingService:o,method:l,name:a}=e[0];return{applicationType:s,originatingService:o,method:l,status:i,protocol:r,relativeStartTime:0,startTime:t,duration:n-t,name:a}}function Sx(){const[e,t]=rt.useState([]),[n,i]=rt.useState(new Map),[r,s]=rt.useState(""),[o,l]=rt.useState([]);return rt.useEffect(()=>{chrome.runtime.onMessage.addListener(a=>{console.log(`chromeApiRequestData: ${a.type}, startTime ${a.startTime}`,a)})},[]),rt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",u=>{try{vx(t,JSON.parse(u.data)),xx(i,r,s,JSON.parse(u.data))}catch(c){console.log("failed",c)}})},[]),rt.useEffect(()=>{console.log(n),l(_x(n))},[n]),rt.useEffect(()=>{console.log(o)},[o]),Q.jsxs(Q.Fragment,{children:[Q.jsx(yx,{data:e}),Q.jsx(p0,{data:e})]})}const bx=document.getElementById("root"),Cx=Zd(bx);console.log("panel/index.jsx reached");Cx.render(Q.jsx(Sx,{})); diff --git a/chrome-extension/dist/src/pages/panel/index.html b/chrome-extension/dist/src/pages/panel/index.html index 2b00f5a..41a4a88 100644 --- a/chrome-extension/dist/src/pages/panel/index.html +++ b/chrome-extension/dist/src/pages/panel/index.html @@ -2,7 +2,7 @@ - + diff --git a/chrome-extension/src/pages/app/app.tsx b/chrome-extension/src/pages/app/app.tsx index 657252b..1bd7908 100644 --- a/chrome-extension/src/pages/app/app.tsx +++ b/chrome-extension/src/pages/app/app.tsx @@ -3,18 +3,21 @@ import './App.css' import NetworkTable from './components/NetworkTable.tsx' import WaterfallChart from './components/WaterfallGraph.tsx'; import checkTraceId from './functions/checkTraceId.ts' -import { OtelData, IAggregatedData, IRelevantData, IRelevant} from '../../types/types.ts'; +import { OtelData, IAggregatedData, IRelevantData, IRelevant, ISortedData} from '../../types/types.ts'; import {isRelevantData, isRelevant} from './functions/isRelevantData.ts'; +import sortData from './functions/sortData.ts'; function App() { // const [traceIdData, setTraceIdData] = useState(new Map()); // const [aggregatedData, setAggregatedData] = useState(new Map()); // const [relevantData, setRelevantData] = useState(new Map()); - const [relevantData, setRelevantData] = useState([]); + const [relevantData, setRelevantData] = useState([]); // renders but not the refactored logic - const [relevant, setRelevant] = useState(new Map()); + const [relevant, setRelevant] = useState(new Map()); // doesn't render but is the refactored logic - const [mostRecentEntry, setMostRecentEntry] = useState(""); + const [mostRecentEntry, setMostRecentEntry] = useState(""); // mainly just to figure out what name === / belongs to + + const [sortedData, setSortedData] = useState([]); useEffect(() => { chrome.runtime.onMessage.addListener((message) => { @@ -28,7 +31,7 @@ function App() { const sseStream = new EventSource('http://localhost:3002/stream/sse'); sseStream.addEventListener('message', (e) => { try { - console.log(e.data); + // console.log(e.data); // setNetworkRequests(prevNetworkRequests => [...prevNetworkRequests, JSON.parse(e.data)]); // setAggregatedData(prevAggregatedData => checkTraceId(prevAggregatedData, JSON.parse(e.data))) isRelevantData(setRelevantData, JSON.parse(e.data), ) @@ -51,8 +54,13 @@ function App() { useEffect(() => { console.log(relevant); - console.log({mostRecentEntry}); - }, [relevant]); + setSortedData(sortData(relevant)); + + }, [relevant]); + + useEffect(() => { + console.log(sortedData); + }, [sortedData]); return ( <> diff --git a/chrome-extension/src/pages/app/components/NetworkTable.tsx b/chrome-extension/src/pages/app/components/NetworkTable.tsx index 6bb864a..a26df45 100644 --- a/chrome-extension/src/pages/app/components/NetworkTable.tsx +++ b/chrome-extension/src/pages/app/components/NetworkTable.tsx @@ -6,10 +6,14 @@ import { IRelevantData } from '../../../types/types'; +// interface NetworkTableProps { +// data: IRelevantData; +// } interface NetworkTableProps { data: IRelevantData; } + const NetworkTable = ({data} : NetworkTableProps) => { // console.log(`networkTableData: ${data}`); diff --git a/chrome-extension/src/pages/app/components/TableRow.tsx b/chrome-extension/src/pages/app/components/TableRow.tsx index f626a30..212817d 100644 --- a/chrome-extension/src/pages/app/components/TableRow.tsx +++ b/chrome-extension/src/pages/app/components/TableRow.tsx @@ -79,7 +79,6 @@ interface TableRowProps { // } const TableRow = ({data} : TableRowProps) => { - console.log(`tableRowData: ${data}`) return ( {data.name} diff --git a/chrome-extension/src/pages/app/functions/isRelevantData.ts b/chrome-extension/src/pages/app/functions/isRelevantData.ts index ee19425..dc6b25e 100644 --- a/chrome-extension/src/pages/app/functions/isRelevantData.ts +++ b/chrome-extension/src/pages/app/functions/isRelevantData.ts @@ -2,7 +2,7 @@ import { setFlagsFromString } from 'v8'; import { IRelevantData, OtelData, ISetRelevantDataState, IRelevant, ISetRelevantState, ISetMostRecentEntryState } from '../../../types/types'; -export function isRelevantData(setRelevantData:ISetRelevantDataState, incomingSpanData: OtelData): void | IRelevantData { +export function isRelevantData(setRelevantData:ISetRelevantDataState, incomingSpanData: OtelData): void { // if there is no method attached, return if(!('method' in incomingSpanData) || incomingSpanData.method === ""){ return; diff --git a/chrome-extension/src/pages/app/functions/sortData.ts b/chrome-extension/src/pages/app/functions/sortData.ts new file mode 100644 index 0000000..45ab28a --- /dev/null +++ b/chrome-extension/src/pages/app/functions/sortData.ts @@ -0,0 +1,148 @@ +// sort by startTimes + +import { IRelevant, ISetSortedData, ISortedData, ITotalDuration, IUpdatedData, OtelData } from "../../../types/types"; + +// export default function sortData(prevSortedData: ISortedData, data: IRelevant): ISortedData { +// const newSortedData = [...prevSortedData]; + +// data.forEach((value: OtelData[]) => { +// // find total duration +// // then sort return array by using Math.min on first element, push to the start if it is smaller +// let startTime: number = 0; +// let duration: number = 0; + +// if(value.length > 1){ +// const totalDuration = calcTotalDuration(value); +// startTime = totalDuration.startTime; +// length = totalDuration.duration; +// }else{ +// startTime = value[0].startTime +// duration = value[0].endTime - startTime; +// } + +// const {applicationType, originatingService, method, status, protocol, name} = value[0]; +// // first go through the sortedData to see if this element starts earlier and if so insert it right there using splice +// const newUpdatedData: IUpdatedData = { +// applicationType, +// originatingService, +// method, +// status, +// protocol, +// name, +// startTime, +// relativeStartTime: 0, +// duration +// } +// if(newSortedData.length === 0){ +// newSortedData.unshift(newUpdatedData); +// }else{ +// for(let i = newSortedData.length - 1; i >= 0; i--){ +// if(newUpdatedData.startTime >= newSortedData[i].startTime){ +// newSortedData.splice(i + 1, 0, newUpdatedData); +// newUpdatedData.relativeStartTime = newUpdatedData.startTime - newSortedData[0].startTime; +// break; +// } +// } +// } + + +// }) + +// return newSortedData; + + +// }; + +export default function sortData(data: IRelevant): ISortedData { + const newSortedData:ISortedData = []; + + data.forEach((unaggregatedData: OtelData[]) => { + // create singular object with correct times + const newUpdatedData: IUpdatedData = createUpdatedData(unaggregatedData); + + if(newSortedData.length === 0){ + newSortedData.unshift(newUpdatedData); + }else{ + for(let i = 0; i < newSortedData.length; i++){ + if(newUpdatedData.startTime <= newSortedData[i].startTime){ + newSortedData.splice(i, 0, newUpdatedData); + break; + } + } + } + }) + updateRelativeStartTimes(newSortedData); + return newSortedData; + + +}; + +function updateRelativeStartTimes(newSortedData: ISortedData):void{ + newSortedData.forEach((updatedData) => { + updatedData.relativeStartTime = updatedData.startTime - newSortedData[0].startTime; + }); +} + +function createUpdatedData(arrData: OtelData[]): IUpdatedData { + let trueStartTime: number = Infinity; + let trueEndTime: number = -Infinity; + let status: number | undefined; + let protocol: string | undefined; + + + + arrData.forEach((singleData) => { + if(singleData.startTime < trueStartTime) trueStartTime = singleData.startTime; + + if(singleData.endTime > trueEndTime) trueEndTime = singleData.endTime; + + if(status === undefined && 'status' in singleData) status = singleData.status; + + if(protocol === undefined && 'protocol' in singleData) protocol = singleData.protocol; + }) + + const {applicationType, originatingService, method, name} = arrData[0]; + + + const newUpdatedData: IUpdatedData = { + applicationType, + originatingService, + method, + status, + protocol, + relativeStartTime: 0, + startTime: trueStartTime, + duration: trueEndTime - trueStartTime, + name + } + + + return newUpdatedData; +} + + + +// function calcTotalDuration(value: OtelData[]): ITotalDuration{ + + +// let trueStartTime: number; +// let trueEndTime: number; +// const startTimes: number[] = []; +// const endTimes: number[] = []; + +// value.forEach((data: OtelData) => { +// startTimes.push(data.startTime); +// endTimes.push(data.endTime); +// }); + +// trueStartTime = Math.min(...startTimes); +// trueEndTime = Math.max(...endTimes); + +// const duration = trueEndTime - trueStartTime; + +// const totalDuration = { +// startTime: trueStartTime, +// duration +// } +// return totalDuration; +// } \ No newline at end of file diff --git a/chrome-extension/src/types/types.ts b/chrome-extension/src/types/types.ts index cb10d56..326afa4 100644 --- a/chrome-extension/src/types/types.ts +++ b/chrome-extension/src/types/types.ts @@ -45,7 +45,27 @@ export type ISetMostRecentEntryState= Dispatch>; export type ILengthsOfChartBars = number[][]; +export interface IUpdatedData { + applicationType: string, + originatingService: string, + method?: string, + status?: number, + protocol?: string, + relativeStartTime: number, + startTime: number, + duration: number, + name: string +} + +export type ISortedData = IUpdatedData[]; +export type ISetSortedData = Dispatch>; + + +export interface ITotalDuration { + startTime: number, + duration: number +} From 937b5d502dc9eec3bebedf14c26a4468a3fb495e Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Thu, 6 Jul 2023 15:04:15 -0400 Subject: [PATCH 11/18] isRelevant function works correctly to parse through incoming data and sort it by time --- .../{panel-5ae92220.js => panel-ef064089.js} | 20 ++-- .../dist/src/pages/panel/index.html | 2 +- chrome-extension/src/pages/app/app.tsx | 12 +-- .../src/pages/app/functions/isRelevantData.ts | 92 +++++++++++++------ chrome-extension/src/types/types.ts | 8 +- 5 files changed, 86 insertions(+), 48 deletions(-) rename chrome-extension/dist/assets/{panel-5ae92220.js => panel-ef064089.js} (84%) diff --git a/chrome-extension/dist/assets/panel-5ae92220.js b/chrome-extension/dist/assets/panel-ef064089.js similarity index 84% rename from chrome-extension/dist/assets/panel-5ae92220.js rename to chrome-extension/dist/assets/panel-ef064089.js index 3828eb3..cb42f94 100644 --- a/chrome-extension/dist/assets/panel-5ae92220.js +++ b/chrome-extension/dist/assets/panel-ef064089.js @@ -6,7 +6,7 @@ var jp=Object.defineProperty;var Bp=(e,t,n)=>t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var vr=Symbol.for("react.element"),Vp=Symbol.for("react.portal"),Wp=Symbol.for("react.fragment"),$p=Symbol.for("react.strict_mode"),Up=Symbol.for("react.profiler"),Yp=Symbol.for("react.provider"),Kp=Symbol.for("react.context"),Qp=Symbol.for("react.forward_ref"),Xp=Symbol.for("react.suspense"),Gp=Symbol.for("react.memo"),Zp=Symbol.for("react.lazy"),du=Symbol.iterator;function Jp(e){return e===null||typeof e!="object"?null:(e=du&&e[du]||e["@@iterator"],typeof e=="function"?e:null)}var jf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bf=Object.assign,Hf={};function di(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}di.prototype.isReactComponent={};di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Vf(){}Vf.prototype=di.prototype;function ra(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}var sa=ra.prototype=new Vf;sa.constructor=ra;Bf(sa,di.prototype);sa.isPureReactComponent=!0;var pu=Array.isArray,Wf=Object.prototype.hasOwnProperty,oa={current:null},$f={key:!0,ref:!0,__self:!0,__source:!0};function Uf(e,t,n){var i,r={},s=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(s=""+t.key),t)Wf.call(t,i)&&!$f.hasOwnProperty(i)&&(r[i]=t[i]);var l=arguments.length-2;if(l===1)r.children=n;else if(1t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ig=rt,rg=Symbol.for("react.element"),sg=Symbol.for("react.fragment"),og=Object.prototype.hasOwnProperty,lg=ig.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ag={key:!0,ref:!0,__self:!0,__source:!0};function Kf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)og.call(t,i)&&!ag.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:rg,type:e,key:s,ref:o,props:r,_owner:lg.current}}Js.Fragment=sg;Js.jsx=Kf;Js.jsxs=Kf;If.exports=Js;var Q=If.exports,Qf={exports:{}},Ut={},Xf={exports:{}},Gf={};/** + */var ig=lt,rg=Symbol.for("react.element"),sg=Symbol.for("react.fragment"),og=Object.prototype.hasOwnProperty,lg=ig.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ag={key:!0,ref:!0,__self:!0,__source:!0};function Kf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)og.call(t,i)&&!ag.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:rg,type:e,key:s,ref:o,props:r,_owner:lg.current}}Js.Fragment=sg;Js.jsx=Kf;Js.jsxs=Kf;If.exports=Js;var Q=If.exports,Qf={exports:{}},Ut={},Xf={exports:{}},Gf={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var jp=Object.defineProperty;var Bp=(e,t,n)=>t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(e){function t(M,O){var D=M.length;M.push(O);t:for(;0>>1,U=M[V];if(0>>1;Vr(xe,D))jtr(Cr,xe)?(M[V]=Cr,M[jt]=D,V=jt):(M[V]=xe,M[Nt]=D,V=Nt);else if(jtr(Cr,D))M[V]=Cr,M[jt]=D,V=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,m=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(y=!1,v(M),!m)if(n(a)!==null)m=!0,it(w);else{var O=n(u);O!==null&&vt(_,O.startTime-M)}}function w(M,O){m=!1,y&&(y=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var V=f.callback;if(typeof V=="function"){f.callback=null,h=f.priorityLevel;var U=V(f.expirationTime<=O);O=e.unstable_now(),typeof U=="function"?f.callback=U:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&vt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125V?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(y?(p(b),b=-1):y=!0,vt(_,D-V))):(M.sortIndex=U,t(a,M),m||d||(m=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Gf);Xf.exports=Gf;var ug=Xf.exports;/** + */(function(e){function t(M,O){var D=M.length;M.push(O);t:for(;0>>1,U=M[V];if(0>>1;Vr(xe,D))jtr(Cr,xe)?(M[V]=Cr,M[jt]=D,V=jt):(M[V]=xe,M[Nt]=D,V=Nt);else if(jtr(Cr,D))M[V]=Cr,M[jt]=D,V=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,y=!1,m=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(m=!1,v(M),!y)if(n(a)!==null)y=!0,it(w);else{var O=n(u);O!==null&&vt(_,O.startTime-M)}}function w(M,O){y=!1,m&&(m=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var V=f.callback;if(typeof V=="function"){f.callback=null,h=f.priorityLevel;var U=V(f.expirationTime<=O);O=e.unstable_now(),typeof U=="function"?f.callback=U:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&vt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125V?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(m?(p(b),b=-1):m=!0,vt(_,D-V))):(M.sortIndex=U,t(a,M),y||d||(y=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Gf);Xf.exports=Gf;var ug=Xf.exports;/** * @license React * react-dom.production.min.js * @@ -30,14 +30,14 @@ var jp=Object.defineProperty;var Bp=(e,t,n)=>t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Zf=rt,$t=ug;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nl=Object.prototype.hasOwnProperty,cg=/^[: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]*$/,mu={},yu={};function fg(e){return nl.call(yu,e)?!0:nl.call(mu,e)?!1:cg.test(e)?yu[e]=!0:(mu[e]=!0,!1)}function hg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function dg(e,t,n,i){if(t===null||typeof t>"u"||hg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var aa=/[\-:]([a-z])/g;function ua(e){return e[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(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ca(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nl=Object.prototype.hasOwnProperty,cg=/^[: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]*$/,mu={},yu={};function fg(e){return nl.call(yu,e)?!0:nl.call(mu,e)?!1:cg.test(e)?yu[e]=!0:(mu[e]=!0,!1)}function hg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function dg(e,t,n,i){if(t===null||typeof t>"u"||hg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var aa=/[\-:]([a-z])/g;function ua(e){return e[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(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ca(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2l||r[o]!==s[l]){var a=` -`+r[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{wo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function pg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case In:return"Portal";case il:return"Profiler";case fa:return"StrictMode";case rl:return"Suspense";case sl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case th:return(e.displayName||"Context")+".Consumer";case qf:return(e._context.displayName||"Context")+".Provider";case ha:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case da:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case Ae:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function gg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===fa?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function mg(e){var t=nh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=mg(e))}function ih(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=nh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ll(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function xu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rh(e,t){t=t.checked,t!=null&&ca(e,"checked",t,!1)}function al(e,t){rh(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ul(e,t.type,n):t.hasOwnProperty("defaultValue")&&ul(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function _u(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ul(e,t,n){(t!=="number"||xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Tr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={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},yg=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){yg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function ah(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function uh(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=ah(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var vg=tt({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 hl(e,t){if(t){if(vg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function dl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pl=null;function pa(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gl=null,Jn=null,qn=null;function Su(e){if(e=wr(e)){if(typeof gl!="function")throw Error(C(280));var t=e.stateNode;t&&(t=io(t),gl(e.stateNode,e.type,t))}}function ch(e){Jn?qn?qn.push(e):qn=[e]:Jn=e}function fh(){if(Jn){var e=Jn,t=qn;if(qn=Jn=null,Su(e),t)for(e=0;e>>=0,e===0?32:31-(Tg(e)/Lg|0)|0}var Lr=64,Or=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ss(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function xr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function Rg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Du=String.fromCharCode(32),zu=!1;function Oh(e,t){switch(e){case"keyup":return am.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function cm(e,t){switch(e){case"compositionend":return Dh(t);case"keypress":return t.which!==32?null:(zu=!0,Du);case"textInput":return e=t.data,e===Du&&zu?null:e;default:return null}}function fm(e,t){if(jn)return e==="compositionend"||!ka&&Oh(e,t)?(e=Th(),ss=xa=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Iu(n)}}function Ah(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ah(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ih(){for(var e=window,t=xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xs(e.document)}return t}function Sa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function _m(e){var t=Ih(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ah(n.ownerDocument.documentElement,n)){if(i!==null&&Sa(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Nu(n,s);var o=Nu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,wl=null,Bi=null,kl=!1;function ju(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kl||Bn==null||Bn!==xs(i)||(i=Bn,"selectionStart"in i&&Sa(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ms(wl,"onSelect"),0Wn||(e.current=El[Wn],El[Wn]=null,Wn--)}function $(e,t){Wn++,El[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Es(){K(Rt),K(St)}function Yu(e,t,n){if(St.current!==rn)throw Error(C(168));$(St,t),$(Rt,n)}function Yh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,gg(e)||"Unknown",r));return tt({},n,i)}function Ts(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,$(St,e),$(Rt,Rt.current),!0}function Ku(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Yh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,K(Rt),K(St),$(St,e)):K(Rt),$(Rt,n)}var be=null,ro=!1,Ao=!1;function Kh(e){be===null?be=[e]:be.push(e)}function Dm(e){ro=!0,Kh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=B;try{var n=be;for(B=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(R){return t(p,R)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Pr:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ae&&tc(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ds(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case In:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=$o(v,p.mode,_),g.return=p,p=g}return o(p);case Ae:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return m(p,g,v,_);if(mi(v))return y(p,g,v,_);Nr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=Wo(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=ed(!0),nd=ed(!1),kr={},ye=an(kr),or=an(kr),lr=an(kr);function xn(e){if(e===kr)throw Error(C(174));return e}function Da(e,t){switch($(lr,t),$(or,e),$(ye,kr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fl(t,e)}K(ye),$(ye,t)}function ai(){K(ye),K(or),K(lr)}function id(e){xn(lr.current);var t=xn(ye.current),n=fl(t,e.type);t!==n&&($(or,e),$(ye,n))}function za(e){or.current===e&&(K(ye),K(or))}var J=an(0);function Fs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Io=[];function Ra(){for(var e=0;en?n:4,e(!0);var i=No.transition;No.transition={};try{e(!1),t()}finally{B=n,No.transition=i}}function xd(){return te().memoizedState}function Am(e,t,n){var i=Je(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},_d(e))wd(t,n);else if(n=Zh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),kd(n,t,i)}}function Im(e,t,n){var i=Je(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(_d(e))wd(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,La(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Zh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),kd(n,t,i))}}function _d(e){var t=e.alternate;return e===q||t!==null&&t===q}function wd(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ma(e,n)}}var Is={readContext:qt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},Nm={readContext:qt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:nc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,us(4194308,4,pd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){return us(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Am.bind(null,q,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:ec,useDebugValue:ja,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=ec(!1),t=e[0];return e=Fm.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=q,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),dt===null)throw Error(C(349));Mn&30||od(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,nc(ad.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,ld.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=dt.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{wo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function pg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case In:return"Portal";case il:return"Profiler";case fa:return"StrictMode";case rl:return"Suspense";case sl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case th:return(e.displayName||"Context")+".Consumer";case qf:return(e._context.displayName||"Context")+".Provider";case ha:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case da:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case Ae:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function gg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===fa?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function mg(e){var t=nh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=mg(e))}function ih(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=nh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ll(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function xu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rh(e,t){t=t.checked,t!=null&&ca(e,"checked",t,!1)}function al(e,t){rh(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ul(e,t.type,n):t.hasOwnProperty("defaultValue")&&ul(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function _u(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ul(e,t,n){(t!=="number"||xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Tr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={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},yg=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){yg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function ah(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function uh(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=ah(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var vg=tt({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 hl(e,t){if(t){if(vg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function dl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pl=null;function pa(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gl=null,Jn=null,qn=null;function Su(e){if(e=wr(e)){if(typeof gl!="function")throw Error(C(280));var t=e.stateNode;t&&(t=io(t),gl(e.stateNode,e.type,t))}}function ch(e){Jn?qn?qn.push(e):qn=[e]:Jn=e}function fh(){if(Jn){var e=Jn,t=qn;if(qn=Jn=null,Su(e),t)for(e=0;e>>=0,e===0?32:31-(Tg(e)/Lg|0)|0}var Lr=64,Or=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ss(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function xr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function Rg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Du=String.fromCharCode(32),zu=!1;function Oh(e,t){switch(e){case"keyup":return am.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function cm(e,t){switch(e){case"compositionend":return Dh(t);case"keypress":return t.which!==32?null:(zu=!0,Du);case"textInput":return e=t.data,e===Du&&zu?null:e;default:return null}}function fm(e,t){if(jn)return e==="compositionend"||!ka&&Oh(e,t)?(e=Th(),ss=xa=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Iu(n)}}function Ah(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ah(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ih(){for(var e=window,t=xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xs(e.document)}return t}function Sa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function _m(e){var t=Ih(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ah(n.ownerDocument.documentElement,n)){if(i!==null&&Sa(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Nu(n,s);var o=Nu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,wl=null,Bi=null,kl=!1;function ju(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kl||Bn==null||Bn!==xs(i)||(i=Bn,"selectionStart"in i&&Sa(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ms(wl,"onSelect"),0Wn||(e.current=El[Wn],El[Wn]=null,Wn--)}function $(e,t){Wn++,El[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Es(){K(Rt),K(St)}function Yu(e,t,n){if(St.current!==rn)throw Error(C(168));$(St,t),$(Rt,n)}function Yh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,gg(e)||"Unknown",r));return tt({},n,i)}function Ts(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,$(St,e),$(Rt,Rt.current),!0}function Ku(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Yh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,K(Rt),K(St),$(St,e)):K(Rt),$(Rt,n)}var be=null,ro=!1,Ao=!1;function Kh(e){be===null?be=[e]:be.push(e)}function Dm(e){ro=!0,Kh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=B;try{var n=be;for(B=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(R){return t(p,R)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Pr:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ae&&tc(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ds(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case In:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=$o(v,p.mode,_),g.return=p,p=g}return o(p);case Ae:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return y(p,g,v,_);if(mi(v))return m(p,g,v,_);Nr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=Wo(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=ed(!0),nd=ed(!1),kr={},ye=an(kr),or=an(kr),lr=an(kr);function xn(e){if(e===kr)throw Error(C(174));return e}function Da(e,t){switch($(lr,t),$(or,e),$(ye,kr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fl(t,e)}K(ye),$(ye,t)}function ai(){K(ye),K(or),K(lr)}function id(e){xn(lr.current);var t=xn(ye.current),n=fl(t,e.type);t!==n&&($(or,e),$(ye,n))}function za(e){or.current===e&&(K(ye),K(or))}var J=an(0);function Fs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Io=[];function Ra(){for(var e=0;en?n:4,e(!0);var i=No.transition;No.transition={};try{e(!1),t()}finally{B=n,No.transition=i}}function xd(){return te().memoizedState}function Am(e,t,n){var i=Je(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},_d(e))wd(t,n);else if(n=Zh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),kd(n,t,i)}}function Im(e,t,n){var i=Je(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(_d(e))wd(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,La(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Zh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),kd(n,t,i))}}function _d(e){var t=e.alternate;return e===q||t!==null&&t===q}function wd(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ma(e,n)}}var Is={readContext:qt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},Nm={readContext:qt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:nc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,us(4194308,4,pd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){return us(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Am.bind(null,q,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:ec,useDebugValue:ja,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=ec(!1),t=e[0];return e=Fm.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=q,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),dt===null)throw Error(C(349));Mn&30||od(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,nc(ad.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,ld.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=dt.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Od(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":Y("cancel",e),Y("close",e),r=i;break;case"iframe":case"object":case"embed":Y("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*st()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=st(),t.sibling=null,n=J.current,$(J,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return Ua(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Ym(e,t){switch(Ca(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),K(Rt),K(St),Ra(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return za(t),null;case 13:if(K(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return K(J),null;case 4:return ai(),null;case 10:return Ta(t.type._context),null;case 22:case 23:return Ua(),null;case 24:return null;default:return null}}var Br=!1,kt=!1,Km=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var fc=!1;function Qm(e,t){if(Sl=bs,e=Ih(),Sa(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,x=m.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?y:ne(t.type,y),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return m=fc,fc=!1,m}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Rd(e){var t=e.alternate;t!==null&&(e.alternate=null,Rd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Lm],delete t[Om])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function hc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var pt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Ad(e,t,n),n=n.sibling}function Ad(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=pt,r=ie;pt=null,Re(e,t,n),pt=i,ie=r,pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):pt.removeChild(n.stateNode));break;case 18:pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(pt,n.stateNode));break;case 4:i=pt,r=ie,pt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),pt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function dc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Km),t.forEach(function(i){var r=i0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=st()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Gm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;ast()-Wa?_n(e,0):Va|=n),At(e,t)}function $d(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function n0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$d(e,n)}function i0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),$d(e,n)}var Ud;Ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,$m(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Qh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Aa(null,t,i,e,r,n);var s=Ia();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Oa(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&ba(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=s0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=ac(null,t,i,e,n);break t;case 11:t=oc(null,t,i,e,n);break t;case 14:t=lc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),ac(e,t,i,r,n);case 3:t:{if(Ed(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Jh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=uc(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=uc(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=nd(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return id(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Pd(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Td(e,t,n);case 4:return Da(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),oc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,$(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),lc(e,t,i,r,n);case 15:return Cd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),td(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Ld(e,t,n);case 22:return Md(e,t,n)}throw Error(C(156,t.tag))};function Yd(e,t){return vh(e,t)}function r0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new r0(e,t,n,i)}function Ka(e){return e=e.prototype,!(!e||!e.isReactComponent)}function s0(e){if(typeof e=="function")return Ka(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ha)return 11;if(e===da)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ka(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case fa:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case eh:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case qf:o=10;break t;case th:o=9;break t;case ha:o=11;break t;case da:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=eh,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function o0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Qa(e,t,n,i,r,s,o,l,a){return e=new o0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oa(s),e}function l0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gd)}catch(e){console.error(e)}}Gd(),Qf.exports=Ut;var h0=Qf.exports,Zd,wc=h0;Zd=wc.createRoot,wc.hydrateRoot;function Ql(e,t){return t-e}const d0=({data:e})=>Q.jsxs("tr",{children:[Q.jsx("td",{children:e.name}),Q.jsx("td",{children:e.method}),Q.jsx("td",{children:e.status}),Q.jsx("td",{children:e.protocol}),Q.jsx("td",{children:Ql(e.startTime,e.endTime)}),Q.jsx("td",{children:e.originatingService}),Q.jsx("td",{children:e.applicationType})]}),p0=({data:e})=>Q.jsxs("table",{children:[Q.jsxs("tr",{children:[Q.jsx("th",{children:"Name"}),Q.jsx("th",{children:"Method"}),Q.jsx("th",{children:"Status"}),Q.jsx("th",{children:"Protocol"}),Q.jsx("th",{children:"Time"}),Q.jsx("th",{children:"Orig. Svc."}),Q.jsx("th",{children:"Application Type"})]}),e.map((t,n)=>Q.jsx(d0,{data:t},n))]});function g0(e){const t=[];return e.map((n,i)=>{const r=[],s=Ql(e[0].startTime,n.startTime),o=Ql(n.endTime,n.startTime),l=s+o;r.push(s,l),t.push(r)}),t}function m0(e){return e.map(n=>n.name)}/*! +`+s.stack}return{value:e,source:t,stack:r,digest:null}}function Ho(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Rl(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Hm=typeof WeakMap=="function"?WeakMap:Map;function Sd(e,t,n){n=Ee(-1,n),n.tag=3,n.payload={element:null};var i=t.value;return n.callback=function(){js||(js=!0,$l=i),Rl(e,t)},n}function bd(e,t,n){n=Ee(-1,n),n.tag=3;var i=e.type.getDerivedStateFromError;if(typeof i=="function"){var r=t.value;n.payload=function(){return i(r)},n.callback=function(){Rl(e,t)}}var s=e.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){Rl(e,t),typeof i!="function"&&(Ze===null?Ze=new Set([this]):Ze.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function ic(e,t,n){var i=e.pingCache;if(i===null){i=e.pingCache=new Hm;var r=new Set;i.set(t,r)}else r=i.get(t),r===void 0&&(r=new Set,i.set(t,r));r.has(n)||(r.add(n),e=e0.bind(null,e,t,n),t.then(e,e))}function rc(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function sc(e,t,n,i,r){return e.mode&1?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Ee(-1,1),t.tag=2,Ge(n,t,1))),n.lanes|=1),e)}var Vm=ze.ReactCurrentOwner,Dt=!1;function Ct(e,t,n,i){t.child=e===null?nd(t,null,n,i):li(t,e.child,n,i)}function oc(e,t,n,i,r){n=n.render;var s=t.ref;return ei(t,r),i=Aa(e,t,n,i,s,r),n=Ia(),e!==null&&!Dt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,De(e,t,r)):(X&&n&&ba(t),t.flags|=1,Ct(e,t,i,r),t.child)}function lc(e,t,n,i,r){if(e===null){var s=n.type;return typeof s=="function"&&!Ka(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=s,Cd(e,t,s,i,r)):(e=ds(n.type,null,i,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(s=e.child,!(e.lanes&r)){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:nr,n(o,i)&&e.ref===t.ref)return De(e,t,r)}return t.flags|=1,e=qe(s,i),e.ref=t.ref,e.return=t,t.child=e}function Cd(e,t,n,i,r){if(e!==null){var s=e.memoizedProps;if(nr(s,i)&&e.ref===t.ref)if(Dt=!1,t.pendingProps=i=s,(e.lanes&r)!==0)e.flags&131072&&(Dt=!0);else return t.lanes=e.lanes,De(e,t,r)}return Fl(e,t,n,i,r)}function Md(e,t,n){var i=t.pendingProps,r=i.children,s=e!==null?e.memoizedState:null;if(i.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},$(Qn,Ht),Ht|=n;else{if(!(n&1073741824))return e=s!==null?s.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,$(Qn,Ht),Ht|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:n,$(Qn,Ht),Ht|=i}else s!==null?(i=s.baseLanes|n,t.memoizedState=null):i=n,$(Qn,Ht),Ht|=i;return Ct(e,t,r,n),t.child}function Pd(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Fl(e,t,n,i,r){var s=Ft(n)?bn:St.current;return s=si(t,s),ei(t,r),n=Aa(e,t,n,i,s,r),i=Ia(),e!==null&&!Dt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,De(e,t,r)):(X&&i&&ba(t),t.flags|=1,Ct(e,t,n,r),t.child)}function ac(e,t,n,i,r){if(Ft(n)){var s=!0;Ts(t)}else s=!1;if(ei(t,r),t.stateNode===null)cs(e,t),td(t,n,i),zl(t,n,i,r),i=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var a=o.context,u=n.contextType;typeof u=="object"&&u!==null?u=qt(u):(u=Ft(n)?bn:St.current,u=si(t,u));var c=n.getDerivedStateFromProps,f=typeof c=="function"||typeof o.getSnapshotBeforeUpdate=="function";f||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==i||a!==u)&&qu(t,o,i,u),Ie=!1;var h=t.memoizedState;o.state=h,Rs(t,i,o,r),a=t.memoizedState,l!==i||h!==a||Rt.current||Ie?(typeof c=="function"&&(Dl(t,n,c,i),a=t.memoizedState),(l=Ie||Ju(t,n,l,i,h,a,u))?(f||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=a),o.props=i,o.state=a,o.context=u,i=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),i=!1)}else{o=t.stateNode,Jh(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:ne(t.type,l),o.props=u,f=t.pendingProps,h=o.context,a=n.contextType,typeof a=="object"&&a!==null?a=qt(a):(a=Ft(n)?bn:St.current,a=si(t,a));var d=n.getDerivedStateFromProps;(c=typeof d=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==f||h!==a)&&qu(t,o,i,a),Ie=!1,h=t.memoizedState,o.state=h,Rs(t,i,o,r);var y=t.memoizedState;l!==f||h!==y||Rt.current||Ie?(typeof d=="function"&&(Dl(t,n,d,i),y=t.memoizedState),(u=Ie||Ju(t,n,u,i,h,y,a)||!1)?(c||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,y,a),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,y,a)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=y),o.props=i,o.state=y,o.context=a,i=u):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),i=!1)}return Al(e,t,n,i,s,r)}function Al(e,t,n,i,r,s){Pd(e,t);var o=(t.flags&128)!==0;if(!i&&!o)return r&&Ku(t,n,!1),De(e,t,s);i=t.stateNode,Vm.current=t;var l=o&&typeof n.getDerivedStateFromError!="function"?null:i.render();return t.flags|=1,e!==null&&o?(t.child=li(t,e.child,null,s),t.child=li(t,null,l,s)):Ct(e,t,l,s),t.memoizedState=i.state,r&&Ku(t,n,!0),t.child}function Ed(e){var t=e.stateNode;t.pendingContext?Yu(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Yu(e,t.context,!1),Da(e,t.containerInfo)}function uc(e,t,n,i,r){return oi(),Ma(r),t.flags|=256,Ct(e,t,n,i),t.child}var Il={dehydrated:null,treeContext:null,retryLane:0};function Nl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Td(e,t,n){var i=t.pendingProps,r=J.current,s=!1,o=(t.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(r&2)!==0),l?(s=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(r|=1),$(J,r&1),e===null)return Ll(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=i.children,e=i.fallback,s?(i=t.mode,s=t.child,o={mode:"hidden",children:o},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=uo(o,i,0,null),e=wn(e,i,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Nl(n),t.memoizedState=Il,e):Ba(t,o));if(r=e.memoizedState,r!==null&&(l=r.dehydrated,l!==null))return Wm(e,t,o,i,l,r,n);if(s){s=i.fallback,o=t.mode,r=e.child,l=r.sibling;var a={mode:"hidden",children:i.children};return!(o&1)&&t.child!==r?(i=t.child,i.childLanes=0,i.pendingProps=a,t.deletions=null):(i=qe(r,a),i.subtreeFlags=r.subtreeFlags&14680064),l!==null?s=qe(l,s):(s=wn(s,o,n,null),s.flags|=2),s.return=t,i.return=t,i.sibling=s,t.child=i,i=s,s=t.child,o=e.child.memoizedState,o=o===null?Nl(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=e.childLanes&~n,t.memoizedState=Il,i}return s=e.child,e=s.sibling,i=qe(s,{mode:"visible",children:i.children}),!(t.mode&1)&&(i.lanes=n),i.return=t,i.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=i,t.memoizedState=null,i}function Ba(e,t){return t=uo({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function jr(e,t,n,i){return i!==null&&Ma(i),li(t,e.child,null,n),e=Ba(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Wm(e,t,n,i,r,s,o){if(n)return t.flags&256?(t.flags&=-257,i=Ho(Error(C(422))),jr(e,t,o,i)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(s=i.fallback,r=t.mode,i=uo({mode:"visible",children:i.children},r,0,null),s=wn(s,r,o,null),s.flags|=2,i.return=t,s.return=t,i.sibling=s,t.child=i,t.mode&1&&li(t,e.child,null,o),t.child.memoizedState=Nl(o),t.memoizedState=Il,s);if(!(t.mode&1))return jr(e,t,o,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var l=i.dgst;return i=l,s=Error(C(419)),i=Ho(s,i,void 0),jr(e,t,o,i)}if(l=(o&e.childLanes)!==0,Dt||l){if(i=dt,i!==null){switch(o&-o){case 4:r=2;break;case 16:r=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:r=32;break;case 536870912:r=268435456;break;default:r=0}r=r&(i.suspendedLanes|o)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,Oe(e,r),le(i,e,r,-1))}return Ya(),i=Ho(Error(C(421))),jr(e,t,o,i)}return r.data==="$?"?(t.flags|=128,t.child=e.child,t=n0.bind(null,e),r._reactRetry=t,null):(e=s.treeContext,Vt=Xe(r.nextSibling),Wt=t,X=!0,re=null,e!==null&&(Qt[Xt++]=Me,Qt[Xt++]=Pe,Qt[Xt++]=Cn,Me=e.id,Pe=e.overflow,Cn=t),t=Ba(t,i.children),t.flags|=4096,t)}function cc(e,t,n){e.lanes|=t;var i=e.alternate;i!==null&&(i.lanes|=t),Ol(e.return,t,n)}function Vo(e,t,n,i,r){var s=e.memoizedState;s===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r}:(s.isBackwards=t,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=n,s.tailMode=r)}function Ld(e,t,n){var i=t.pendingProps,r=i.revealOrder,s=i.tail;if(Ct(e,t,i.children,n),i=J.current,i&2)i=i&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)t:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&cc(e,n,t);else if(e.tag===19)cc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break t;for(;e.sibling===null;){if(e.return===null||e.return===t)break t;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if($(J,i),!(t.mode&1))t.memoizedState=null;else switch(r){case"forwards":for(n=t.child,r=null;n!==null;)e=n.alternate,e!==null&&Fs(e)===null&&(r=n),n=n.sibling;n=r,n===null?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Vo(t,!1,r,n,s);break;case"backwards":for(n=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&Fs(e)===null){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Vo(t,!0,n,null,s);break;case"together":Vo(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function cs(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function De(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Pn|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(C(153));if(t.child!==null){for(e=t.child,n=qe(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=qe(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function $m(e,t,n){switch(t.tag){case 3:Ed(t),oi();break;case 5:id(t);break;case 1:Ft(t.type)&&Ts(t);break;case 4:Da(t,t.stateNode.containerInfo);break;case 10:var i=t.type._context,r=t.memoizedProps.value;$(Ds,i._currentValue),i._currentValue=r;break;case 13:if(i=t.memoizedState,i!==null)return i.dehydrated!==null?($(J,J.current&1),t.flags|=128,null):n&t.child.childLanes?Td(e,t,n):($(J,J.current&1),e=De(e,t,n),e!==null?e.sibling:null);$(J,J.current&1);break;case 19:if(i=(n&t.childLanes)!==0,e.flags&128){if(i)return Ld(e,t,n);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),$(J,J.current),i)break;return null;case 22:case 23:return t.lanes=0,Md(e,t,n)}return De(e,t,n)}var Od,jl,Dd,zd;Od=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};jl=function(){};Dd=function(e,t,n,i){var r=e.memoizedProps;if(r!==i){e=t.stateNode,xn(ye.current);var s=null;switch(n){case"input":r=ll(e,r),i=ll(e,i),s=[];break;case"select":r=tt({},r,{value:void 0}),i=tt({},i,{value:void 0}),s=[];break;case"textarea":r=cl(e,r),i=cl(e,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(e.onclick=Ps)}hl(n,i);var o;n=null;for(u in r)if(!i.hasOwnProperty(u)&&r.hasOwnProperty(u)&&r[u]!=null)if(u==="style"){var l=r[u];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Xi.hasOwnProperty(u)?s||(s=[]):(s=s||[]).push(u,null));for(u in i){var a=i[u];if(l=r!=null?r[u]:void 0,i.hasOwnProperty(u)&&a!==l&&(a!=null||l!=null))if(u==="style")if(l){for(o in l)!l.hasOwnProperty(o)||a&&a.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in a)a.hasOwnProperty(o)&&l[o]!==a[o]&&(n||(n={}),n[o]=a[o])}else n||(s||(s=[]),s.push(u,n)),n=a;else u==="dangerouslySetInnerHTML"?(a=a?a.__html:void 0,l=l?l.__html:void 0,a!=null&&l!==a&&(s=s||[]).push(u,a)):u==="children"?typeof a!="string"&&typeof a!="number"||(s=s||[]).push(u,""+a):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Xi.hasOwnProperty(u)?(a!=null&&u==="onScroll"&&Y("scroll",e),s||l===a||(s=[])):(s=s||[]).push(u,a))}n&&(s=s||[]).push("style",n);var u=s;(t.updateQueue=u)&&(t.flags|=4)}};zd=function(e,t,n,i){n!==i&&(t.flags|=4)};function ki(e,t){if(!X)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:i.sibling=null}}function _t(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,i=0;if(t)for(var r=e.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=i,e.childLanes=n,t}function Um(e,t,n){var i=t.pendingProps;switch(Ca(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return _t(t),null;case 1:return Ft(t.type)&&Es(),_t(t),null;case 3:return i=t.stateNode,ai(),K(Rt),K(St),Ra(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Ir(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,re!==null&&(Kl(re),re=null))),jl(e,t),_t(t),null;case 5:za(t);var r=xn(lr.current);if(n=t.type,e!==null&&t.stateNode!=null)Dd(e,t,n,i,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(t.stateNode===null)throw Error(C(166));return _t(t),null}if(e=xn(ye.current),Ir(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[ge]=t,i[sr]=s,e=(t.mode&1)!==0,n){case"dialog":Y("cancel",i),Y("close",i);break;case"iframe":case"object":case"embed":Y("load",i);break;case"video":case"audio":for(r=0;r<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Od(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":Y("cancel",e),Y("close",e),r=i;break;case"iframe":case"object":case"embed":Y("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=J.current,$(J,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return Ua(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Ym(e,t){switch(Ca(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),K(Rt),K(St),Ra(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return za(t),null;case 13:if(K(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return K(J),null;case 4:return ai(),null;case 10:return Ta(t.type._context),null;case 22:case 23:return Ua(),null;case 24:return null;default:return null}}var Br=!1,kt=!1,Km=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var fc=!1;function Qm(e,t){if(Sl=bs,e=Ih(),Sa(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var m=y.memoizedProps,x=y.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?m:ne(t.type,m),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return y=fc,fc=!1,y}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Rd(e){var t=e.alternate;t!==null&&(e.alternate=null,Rd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Lm],delete t[Om])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function hc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var pt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Ad(e,t,n),n=n.sibling}function Ad(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=pt,r=ie;pt=null,Re(e,t,n),pt=i,ie=r,pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):pt.removeChild(n.stateNode));break;case 18:pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(pt,n.stateNode));break;case 4:i=pt,r=ie,pt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),pt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function dc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Km),t.forEach(function(i){var r=i0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Gm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Wa?_n(e,0):Va|=n),At(e,t)}function $d(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function n0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$d(e,n)}function i0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),$d(e,n)}var Ud;Ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,$m(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Qh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Aa(null,t,i,e,r,n);var s=Ia();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Oa(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&ba(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=s0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=ac(null,t,i,e,n);break t;case 11:t=oc(null,t,i,e,n);break t;case 14:t=lc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),ac(e,t,i,r,n);case 3:t:{if(Ed(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Jh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=uc(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=uc(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=nd(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return id(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Pd(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Td(e,t,n);case 4:return Da(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),oc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,$(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),lc(e,t,i,r,n);case 15:return Cd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),td(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Ld(e,t,n);case 22:return Md(e,t,n)}throw Error(C(156,t.tag))};function Yd(e,t){return vh(e,t)}function r0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new r0(e,t,n,i)}function Ka(e){return e=e.prototype,!(!e||!e.isReactComponent)}function s0(e){if(typeof e=="function")return Ka(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ha)return 11;if(e===da)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ka(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case fa:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case eh:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case qf:o=10;break t;case th:o=9;break t;case ha:o=11;break t;case da:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=eh,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function o0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Qa(e,t,n,i,r,s,o,l,a){return e=new o0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oa(s),e}function l0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gd)}catch(e){console.error(e)}}Gd(),Qf.exports=Ut;var h0=Qf.exports,Zd,wc=h0;Zd=wc.createRoot,wc.hydrateRoot;function Ql(e,t){return t-e}const d0=({data:e})=>Q.jsxs("tr",{children:[Q.jsx("td",{children:e.name}),Q.jsx("td",{children:e.method}),Q.jsx("td",{children:e.status}),Q.jsx("td",{children:e.protocol}),Q.jsx("td",{children:Ql(e.startTime,e.endTime)}),Q.jsx("td",{children:e.originatingService}),Q.jsx("td",{children:e.applicationType})]}),p0=({data:e})=>Q.jsxs("table",{children:[Q.jsxs("tr",{children:[Q.jsx("th",{children:"Name"}),Q.jsx("th",{children:"Method"}),Q.jsx("th",{children:"Status"}),Q.jsx("th",{children:"Protocol"}),Q.jsx("th",{children:"Time"}),Q.jsx("th",{children:"Orig. Svc."}),Q.jsx("th",{children:"Application Type"})]}),e.map((t,n)=>Q.jsx(d0,{data:t},n))]});function g0(e){const t=[];return e.map((n,i)=>{const r=[],s=Ql(e[0].startTime,n.startTime),o=Ql(n.endTime,n.startTime),l=s+o;r.push(s,l),t.push(r)}),t}function m0(e){return e.map(n=>n.name)}/*! * @kurkle/color v0.3.2 * https://github.com/kurkle/color#readme * (c) 2023 Jukka Kurkela @@ -47,11 +47,11 @@ Error generating stack: `+s.message+` * https://www.chartjs.org * (c) 2023 Chart.js Contributors * Released under the MIT License - */function _e(){}const j0=(()=>{let e=0;return()=>e++})();function H(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function I(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ht(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ht(e)?e:t}function N(e,t){return typeof e>"u"?t:e}const B0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function W(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function j(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function W0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function $0(e){const t=W0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Mc[t]||(Mc[t]=$0(t)))(e)}function eu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const pr=e=>typeof e<"u",sn=e=>typeof e=="function",Pc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function U0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Us=Number.POSITIVE_INFINITY,Y0=yt/180,zt=yt/2,cn=yt/4,Ec=yt*2/3,We=Math.log10,en=Math.sign;function ps(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ys(e){return!isNaN(parseFloat(e))&&isFinite(e)}function Q0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function np(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function iu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Gl=(e,t,n,i)=>iu(e,n,i?r=>{const s=e[r][t];return se[r][t]iu(e,n,i=>e[i][t]>=n);function ty(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+eu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Oc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(ip.forEach(s=>{delete e[s]}),delete e._chartjs)}function rp(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const sp=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function op(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,sp.call(window,()=>{i=!1,e.apply(t,n)}))}}function ny(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const ru=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,iy=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Yr=e=>e===0||e===1,Dc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),zc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Yr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Yr(e)?e:Dc(e,.075,.3),easeOutElastic:e=>Yr(e)?e:zc(e,.075,.3),easeInOutElastic(e){return Yr(e)?e:e<.5?.5*Dc(e*2,.1125,.45):.5+.5*zc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function lp(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Rc(e){return lp(e)?e:new hr(e)}function Yo(e){return lp(e)?e:new hr(e).saturate(.5).darken(.1).hexString()}const ry=["x","y","borderWidth","radius","tension"],sy=["color","borderColor","backgroundColor"];function oy(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:sy},numbers:{type:"number",properties:ry}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function ly(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fc=new Map;function ay(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Fc.get(n);return i||(i=new Intl.NumberFormat(e,t),Fc.set(n,i)),i}function su(e,t,n){return ay(t,n).format(e)}const ap={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=uy(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),su(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?ap.numeric.call(this,e,t,n):""}};function uy(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var go={formatters:ap};function cy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:go.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Zl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Yo(r.backgroundColor),this.hoverBorderColor=(i,r)=>Yo(r.borderColor),this.hoverColor=(i,r)=>Yo(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Ko(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Ko(Zl,t,n)}override(t,n){return Ko(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return I(a)?Object.assign({},u,a):N(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new fy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[oy,ly,cy]);function hy(e){return!e||H(e.size)||H(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ks(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function dy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,py(e,s),a=0;a+e||0;function cp(e,t){const n={},i=I(t),r=i?Object.keys(t):t,s=I(e)?i?o=>N(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=_y(s(o));return n}function fp(e){return cp(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return cp(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=fp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ct(e,t){e=e||{},t=t||nt.font;let n=N(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=N(e.style,t.style);i&&!(""+i).match(vy)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:N(e.family,t.family),lineHeight:xy(N(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:N(e.weight,t.weight),string:""};return r.string=hy(r),r}function Kr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function au(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=gp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>au([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return dp(l,a,()=>Ty(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return jc(l).includes(a)},ownKeys(l){return jc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:hp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return dp(s,o,()=>Sy(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function hp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const ky=(e,t)=>e?e+eu(t):t,uu=(e,t)=>I(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function dp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function Sy(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=by(t,l,e,n)),G(l)&&l.length&&(l=Cy(t,l,e,o.isIndexable)),uu(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function by(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),uu(e,a)&&(a=cu(r._scopes,r,e,a)),a}function Cy(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(I(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=cu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function pp(e,t,n){return sn(e)?e(t,n):e}const My=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function Py(e,t,n,i,r){for(const s of t){const o=My(n,s);if(o){e.add(o);const l=pp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function cu(e,t,n,i){const r=t._rootScopes,s=pp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Nc(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Nc(l,o,s,a,i),a===null)?!1:au(Array.from(l),[""],r,s,()=>Ey(t,n,i))}function Nc(e,t,n,i,r){for(;n;)n=Py(e,t,n,i,r);return n}function Ey(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&I(n)?n:r||{}}function Ty(e,t,n,i){let r;for(const s of t)if(r=gp(ky(s,e),n),typeof r<"u")return uu(e,r)?cu(n,i,e,r):r}function gp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function jc(e){let t=e._keys;return t||(t=e._keys=Ly(e._scopes)),t}function Ly(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function mp(){return typeof window<"u"&&typeof document<"u"}function fu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Qs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const mo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Oy(e,t){return mo(e).getPropertyValue(t)}const Dy=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Dy[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const zy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function Ry(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(zy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=mo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=Ry(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:m}=t;return s&&(d-=o.width+l.width,m-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/m*n.height/i)}}function Fy(e,t,n){let i,r;if(t===void 0||n===void 0){const s=fu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=mo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Qs(l.maxWidth,s,"clientWidth"),r=Qs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Us,maxHeight:r||Us}}const Qr=e=>Math.round(e*10)/10;function Ay(e,t,n,i){const r=mo(e),s=Sn(r,"margin"),o=Qs(r.maxWidth,e,"clientWidth")||Us,l=Qs(r.maxHeight,e,"clientHeight")||Us,a=Fy(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Qr(Math.min(u,o,a.maxWidth)),c=Qr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Qr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Qr(Math.floor(c*i))),{width:u,height:c}}function Bc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Iy=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Hc(e,t){const n=Oy(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const Ny=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},jy=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?Ny(t,n):jy()}function yp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function vp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! + */function _e(){}const j0=(()=>{let e=0;return()=>e++})();function H(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function I(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ht(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ht(e)?e:t}function N(e,t){return typeof e>"u"?t:e}const B0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function W(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function j(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function W0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function $0(e){const t=W0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Mc[t]||(Mc[t]=$0(t)))(e)}function eu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const pr=e=>typeof e<"u",sn=e=>typeof e=="function",Pc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function U0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Us=Number.POSITIVE_INFINITY,Y0=yt/180,zt=yt/2,cn=yt/4,Ec=yt*2/3,We=Math.log10,en=Math.sign;function ps(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ys(e){return!isNaN(parseFloat(e))&&isFinite(e)}function Q0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function np(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function iu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Gl=(e,t,n,i)=>iu(e,n,i?r=>{const s=e[r][t];return se[r][t]iu(e,n,i=>e[i][t]>=n);function ty(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+eu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Oc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(ip.forEach(s=>{delete e[s]}),delete e._chartjs)}function rp(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const sp=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function op(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,sp.call(window,()=>{i=!1,e.apply(t,n)}))}}function ny(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const ru=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,iy=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Yr=e=>e===0||e===1,Dc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),zc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Yr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Yr(e)?e:Dc(e,.075,.3),easeOutElastic:e=>Yr(e)?e:zc(e,.075,.3),easeInOutElastic(e){return Yr(e)?e:e<.5?.5*Dc(e*2,.1125,.45):.5+.5*zc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function lp(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Rc(e){return lp(e)?e:new hr(e)}function Yo(e){return lp(e)?e:new hr(e).saturate(.5).darken(.1).hexString()}const ry=["x","y","borderWidth","radius","tension"],sy=["color","borderColor","backgroundColor"];function oy(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:sy},numbers:{type:"number",properties:ry}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function ly(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fc=new Map;function ay(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Fc.get(n);return i||(i=new Intl.NumberFormat(e,t),Fc.set(n,i)),i}function su(e,t,n){return ay(t,n).format(e)}const ap={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=uy(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),su(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?ap.numeric.call(this,e,t,n):""}};function uy(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var go={formatters:ap};function cy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:go.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Zl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Yo(r.backgroundColor),this.hoverBorderColor=(i,r)=>Yo(r.borderColor),this.hoverColor=(i,r)=>Yo(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Ko(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Ko(Zl,t,n)}override(t,n){return Ko(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return I(a)?Object.assign({},u,a):N(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new fy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[oy,ly,cy]);function hy(e){return!e||H(e.size)||H(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ks(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function dy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,py(e,s),a=0;a+e||0;function cp(e,t){const n={},i=I(t),r=i?Object.keys(t):t,s=I(e)?i?o=>N(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=_y(s(o));return n}function fp(e){return cp(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return cp(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=fp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ct(e,t){e=e||{},t=t||nt.font;let n=N(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=N(e.style,t.style);i&&!(""+i).match(vy)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:N(e.family,t.family),lineHeight:xy(N(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:N(e.weight,t.weight),string:""};return r.string=hy(r),r}function Kr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function au(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=gp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>au([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return dp(l,a,()=>Ty(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return jc(l).includes(a)},ownKeys(l){return jc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:hp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return dp(s,o,()=>Sy(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function hp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const ky=(e,t)=>e?e+eu(t):t,uu=(e,t)=>I(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function dp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function Sy(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=by(t,l,e,n)),G(l)&&l.length&&(l=Cy(t,l,e,o.isIndexable)),uu(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function by(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),uu(e,a)&&(a=cu(r._scopes,r,e,a)),a}function Cy(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(I(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=cu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function pp(e,t,n){return sn(e)?e(t,n):e}const My=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function Py(e,t,n,i,r){for(const s of t){const o=My(n,s);if(o){e.add(o);const l=pp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function cu(e,t,n,i){const r=t._rootScopes,s=pp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Nc(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Nc(l,o,s,a,i),a===null)?!1:au(Array.from(l),[""],r,s,()=>Ey(t,n,i))}function Nc(e,t,n,i,r){for(;n;)n=Py(e,t,n,i,r);return n}function Ey(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&I(n)?n:r||{}}function Ty(e,t,n,i){let r;for(const s of t)if(r=gp(ky(s,e),n),typeof r<"u")return uu(e,r)?cu(n,i,e,r):r}function gp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function jc(e){let t=e._keys;return t||(t=e._keys=Ly(e._scopes)),t}function Ly(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function mp(){return typeof window<"u"&&typeof document<"u"}function fu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Qs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const mo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Oy(e,t){return mo(e).getPropertyValue(t)}const Dy=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Dy[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const zy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function Ry(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(zy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=mo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=Ry(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:y}=t;return s&&(d-=o.width+l.width,y-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/y*n.height/i)}}function Fy(e,t,n){let i,r;if(t===void 0||n===void 0){const s=fu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=mo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Qs(l.maxWidth,s,"clientWidth"),r=Qs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Us,maxHeight:r||Us}}const Qr=e=>Math.round(e*10)/10;function Ay(e,t,n,i){const r=mo(e),s=Sn(r,"margin"),o=Qs(r.maxWidth,e,"clientWidth")||Us,l=Qs(r.maxHeight,e,"clientHeight")||Us,a=Fy(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Qr(Math.min(u,o,a.maxWidth)),c=Qr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Qr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Qr(Math.floor(c*i))),{width:u,height:c}}function Bc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Iy=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Hc(e,t){const n=Oy(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const Ny=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},jy=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?Ny(t,n):jy()}function yp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function vp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! * Chart.js v4.3.0 * https://www.chartjs.org * (c) 2023 Chart.js Contributors * Released under the MIT License - */class By{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,r){const s=n.listeners[r],o=n.duration;s.forEach(l=>l({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=sp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new By;const Vc="transparent",Hy={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Rc(e||Vc),r=i.valid&&Rc(t||Vc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Vy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||Hy[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!I(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=$y(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Wy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Vy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Wy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Kc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Qy(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Zy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Jy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Qc=(e,t)=>t?e:Object.assign({},e),qy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:_p(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Uc(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,m)=>f==="x"?h:f==="r"?m:d,s=n.xAxisID=N(i.xAxisID,Qo(t,"x")),o=n.yAxisID=N(i.yAxisID,Qo(t,"y")),l=n.rAxisID=N(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Oc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(I(n))this._data=Ky(n);else if(i!==n){if(i){Oc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ey(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=Uc(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Kc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):I(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]y||f=0;--h)if(!m()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),y=u.resolveNamedOptions(h,d,m,f);return y.$shared&&(y.$shared=a,s[o]=Object.freeze(Qc(y,a))),y}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new xp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function ev(e){const t=e.iScale,n=tv(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function wp(e,t,n,i){return G(e)?rv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Xc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function ov(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(H(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var gv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function qc(e,t){return e.filter(n=>kp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function mv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=qc(t,"x"),a=qc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function tf(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function Sp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function _v(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!I(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&Sp(o,s.getPadding());const l=Math.max(0,t.outerWidth-tf(o,e,"left","right")),a=Math.max(0,t.outerHeight-tf(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function wv(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function kv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof y.beforeLayout=="function"&&y.beforeLayout()});const c=a.reduce((y,x)=>x.box.options&&x.box.options.display===!1?y:y+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);Sp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),m=vv(a.concat(u),f);Ri(l.fullSize,d,f,m),Ri(a,d,f,m),Ri(u,d,f,m)&&Ri(a,d,f,m),wv(d),ef(l.leftAndTop,d,f,m),d.x+=d.w,d.y+=d.h,ef(l.rightAndBottom,d,f,m),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},j(l.chartArea,y=>{const x=y.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class bp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class Sv extends bp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",bv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},nf=e=>e===null||e==="";function Cv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",nf(r)){const s=Hc(e,"width");s!==void 0&&(e.width=s)}if(nf(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Hc(e,"height");s!==void 0&&(e.height=s)}return e}const Cp=Iy?{passive:!0}:!1;function Mv(e,t,n){e.addEventListener(t,n,Cp)}function Pv(e,t,n){e.canvas.removeEventListener(t,n,Cp)}function Ev(e,t){const n=bv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Lv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let rf=0;function Mp(){const e=window.devicePixelRatio;e!==rf&&(rf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Ov(e,t){mr.size||window.addEventListener("resize",Mp),mr.set(e,t)}function Dv(e){mr.delete(e),mr.size||window.removeEventListener("resize",Mp)}function zv(e,t,n){const i=e.canvas,r=i&&fu(i);if(!r)return;const s=op((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Ov(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Dv(e)}function Rv(e,t,n){const i=e.canvas,r=op(s=>{e.ctx!==null&&n(Ev(s,e))},e);return Mv(i,t,r),r}class Fv extends bp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Cv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];H(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Tv,detach:Lv,resize:zv}[n]||Rv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Pv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Ay(t,n,i,r)}isAttached(t){const n=fu(t);return!!(n&&n.isConnected)}}function Av(e){return!mp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?Sv:Fv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Iv(e,t){const n=e.options.ticks,i=Nv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?Bv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Hv(t,u,s,o/r),u;const c=jv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,H(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function Bv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,sf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,of=(e,t)=>Math.min(t||e,e);function lf(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function Uv(e,t){j(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){W(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=wy(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-af(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=nu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){W(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){W(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=af(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,m=$e(this.labelRotation),y=Math.cos(m),x=Math.sin(m);if(l){const p=i.mirror?0:x*f.width+y*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:y*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,y)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){W(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return J0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],m=l.setContext(this.getContext()),y=m.display?m.width:0,x=y/2,p=function(it){return fn(i,it,y)};let g,v,_,w,k,S,b,T,E,L,R,ot;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,ot=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,ot=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,ot=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=N(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Jv(e){return"id"in e&&"defaults"in e}class qv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):j(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=eu(t);W(i["before"+r],[],i),n[t](i),W(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function e1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&uf(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function cf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function a1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return cf(e,"x",n[0])||cf(e,"y",n[0])}return{}}function u1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Jl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!I(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=ql(o,l,a1(o,e),nt.scales[l.type]),u=o1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Jl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=s1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Pp(e){const t=e.options||(e.options={});t.plugins=N(t.plugins,{}),t.scales=u1(e,t)}function Ep(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function c1(e){return e=e||{},e.data=Ep(e.data),Pp(e),e}const ff=new Map,Tp=new Set;function Jr(e,t){let n=ff.get(e);return n||(n=t(),ff.set(e,n),Tp.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class f1{constructor(t){this._config=c1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Ep(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Pp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Zl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Tp.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Zl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=hf(this._resolverCache,t,r);let a=o;if(d1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=hf(this._resolverCache,t,i);return I(n)?hi(s,n,void 0,r):s}}function hf(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:au(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const h1=e=>I(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function d1(e,t){const{isScriptable:n,isIndexable:i}=hp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||h1(l))||o&&G(l))return!0}return!1}var p1="4.3.0";const g1=["top","bottom","left","right","chartArea"];function df(e,t){return e==="top"||e==="bottom"||g1.indexOf(e)===-1&&t==="x"}function pf(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function gf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),W(n&&n.onComplete,[e],t)}function m1(e){const t=e.chart,n=t.options.animation;W(n&&n.onProgress,[e],t)}function Lp(e){return mp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},mf=e=>{const t=Lp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function y1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function v1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function x1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),yf()}static unregister(...t){de.remove(...t),yf()}constructor(t,n){const i=this.config=new f1(n),r=Lp(t),s=mf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Av(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=j0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new t1,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ny(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",gf),we.listen(this,"progress",m1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return H(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ac(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),W(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};j(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=ql(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),j(s,o=>{const l=o.options,a=l.id,u=ql(a,l),c=N(l.type,o.dtype);(l.position===void 0||df(l.position,u)!==df(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),j(r,(o,l)=>{o||delete i[l]}),j(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(pf("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){j(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;y1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],j(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=x1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&ou(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&lu(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=gv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};j(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){j(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},j(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=U0(t),u=v1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,W(s.onHover,[t,l,this],this),a&&W(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",p1),z(Fe,"getChart",mf),Fe);function yf(){return j(yo.instances,e=>e._plugins.invalidate())}function Op(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function _1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=fp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function w1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||I(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function k1(e){const t=Op(e),n=t.right-t.left,i=t.bottom-t.top,r=_1(e,n/2,i/2),s=w1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Op(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function S1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function b1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=k1(this),l=S1(o.radius)?gr:b1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const vf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},C1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class xf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=W(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ct(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=vf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((m,y)=>{const x=i+n/2+s.measureText(m.text).width;(y===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(y>0?0:1)]=0,d+=c,h++),a[y]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,m=0,y=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=M1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),m+=h+l,y++,h=d=0),a[p]={left:m,top:d,col:y,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ou(t,this),this._draw(),lu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ct(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:m,boxHeight:y,itemHeight:x}=vf(o,f),p=function(k,S,b){if(isNaN(m)||m<=0||isNaN(y)||y<0)return;r.save();const T=N(b.lineWidth,1);if(r.fillStyle=N(b.fillStyle,l),r.lineCap=N(b.lineCap,"butt"),r.lineDashOffset=N(b.lineDashOffset,0),r.lineJoin=N(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=N(b.strokeStyle,l),r.setLineDash(N(b.lineDash,[])),o.usePointStyle){const E={radius:y*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,m/2),R=S+h;up(r,E,L,R,o.pointStyleWidth&&m)}else{const E=S+Math.max((f-y)/2,0),L=a.leftForLtr(k,m),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(ot=>ot!==0)?gr(r,{x:L,y:E,w:m,h:y,radius:R}):r.rect(L,E,m,y),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},yp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=m+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const ot=a.x(L);if(p(ot,R,k),L=iy(T,L+m+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Dp(k,It)}else d.y+=w}),vp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ct(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const m=this.columnSizes.reduce((y,x)=>Math.max(y,x.height),0);c=u+wt(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(ru(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ct(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function E1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Dp(t,n)),i}function Dp(e,t){const n=e.text?e.text.length+.5:0;return t*n}function T1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var L1={id:"legend",_element:xf,start(e,t,n){const i=e.legend=new xf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class zp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ct(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ct(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:ru(n.align),textBaseline:"middle",translation:[o,l]})}}function O1(e,t){const n=new zp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var D1={id:"title",_element:zp,start(e,t,n){O1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;tl({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=sp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new By;const Vc="transparent",Hy={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Rc(e||Vc),r=i.valid&&Rc(t||Vc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Vy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||Hy[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!I(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=$y(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Wy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Vy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Wy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Kc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Qy(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Zy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Jy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Qc=(e,t)=>t?e:Object.assign({},e),qy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:_p(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Uc(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,y)=>f==="x"?h:f==="r"?y:d,s=n.xAxisID=N(i.xAxisID,Qo(t,"x")),o=n.yAxisID=N(i.yAxisID,Qo(t,"y")),l=n.rAxisID=N(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Oc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(I(n))this._data=Ky(n);else if(i!==n){if(i){Oc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ey(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=Uc(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Kc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):I(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]m||f=0;--h)if(!y()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),m=u.resolveNamedOptions(h,d,y,f);return m.$shared&&(m.$shared=a,s[o]=Object.freeze(Qc(m,a))),m}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new xp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function ev(e){const t=e.iScale,n=tv(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function wp(e,t,n,i){return G(e)?rv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Xc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function ov(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(H(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var gv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function qc(e,t){return e.filter(n=>kp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function mv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=qc(t,"x"),a=qc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function tf(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function Sp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function _v(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!I(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&Sp(o,s.getPadding());const l=Math.max(0,t.outerWidth-tf(o,e,"left","right")),a=Math.max(0,t.outerHeight-tf(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function wv(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function kv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof m.beforeLayout=="function"&&m.beforeLayout()});const c=a.reduce((m,x)=>x.box.options&&x.box.options.display===!1?m:m+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);Sp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),y=vv(a.concat(u),f);Ri(l.fullSize,d,f,y),Ri(a,d,f,y),Ri(u,d,f,y)&&Ri(a,d,f,y),wv(d),ef(l.leftAndTop,d,f,y),d.x+=d.w,d.y+=d.h,ef(l.rightAndBottom,d,f,y),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},j(l.chartArea,m=>{const x=m.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class bp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class Sv extends bp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",bv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},nf=e=>e===null||e==="";function Cv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",nf(r)){const s=Hc(e,"width");s!==void 0&&(e.width=s)}if(nf(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Hc(e,"height");s!==void 0&&(e.height=s)}return e}const Cp=Iy?{passive:!0}:!1;function Mv(e,t,n){e.addEventListener(t,n,Cp)}function Pv(e,t,n){e.canvas.removeEventListener(t,n,Cp)}function Ev(e,t){const n=bv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Lv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let rf=0;function Mp(){const e=window.devicePixelRatio;e!==rf&&(rf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Ov(e,t){mr.size||window.addEventListener("resize",Mp),mr.set(e,t)}function Dv(e){mr.delete(e),mr.size||window.removeEventListener("resize",Mp)}function zv(e,t,n){const i=e.canvas,r=i&&fu(i);if(!r)return;const s=op((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Ov(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Dv(e)}function Rv(e,t,n){const i=e.canvas,r=op(s=>{e.ctx!==null&&n(Ev(s,e))},e);return Mv(i,t,r),r}class Fv extends bp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Cv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];H(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Tv,detach:Lv,resize:zv}[n]||Rv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Pv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Ay(t,n,i,r)}isAttached(t){const n=fu(t);return!!(n&&n.isConnected)}}function Av(e){return!mp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?Sv:Fv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Iv(e,t){const n=e.options.ticks,i=Nv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?Bv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Hv(t,u,s,o/r),u;const c=jv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,H(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function Bv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,sf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,of=(e,t)=>Math.min(t||e,e);function lf(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function Uv(e,t){j(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){W(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=wy(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-af(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=nu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){W(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){W(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=af(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,y=$e(this.labelRotation),m=Math.cos(y),x=Math.sin(y);if(l){const p=i.mirror?0:x*f.width+m*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:m*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,m)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){W(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return J0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],y=l.setContext(this.getContext()),m=y.display?y.width:0,x=m/2,p=function(it){return fn(i,it,m)};let g,v,_,w,k,S,b,T,E,L,R,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=N(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Jv(e){return"id"in e&&"defaults"in e}class qv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):j(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=eu(t);W(i["before"+r],[],i),n[t](i),W(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function e1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&uf(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function cf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function a1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return cf(e,"x",n[0])||cf(e,"y",n[0])}return{}}function u1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Jl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!I(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=ql(o,l,a1(o,e),nt.scales[l.type]),u=o1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Jl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=s1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Pp(e){const t=e.options||(e.options={});t.plugins=N(t.plugins,{}),t.scales=u1(e,t)}function Ep(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function c1(e){return e=e||{},e.data=Ep(e.data),Pp(e),e}const ff=new Map,Tp=new Set;function Jr(e,t){let n=ff.get(e);return n||(n=t(),ff.set(e,n),Tp.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class f1{constructor(t){this._config=c1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Ep(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Pp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Zl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Tp.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Zl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=hf(this._resolverCache,t,r);let a=o;if(d1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=hf(this._resolverCache,t,i);return I(n)?hi(s,n,void 0,r):s}}function hf(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:au(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const h1=e=>I(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function d1(e,t){const{isScriptable:n,isIndexable:i}=hp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||h1(l))||o&&G(l))return!0}return!1}var p1="4.3.0";const g1=["top","bottom","left","right","chartArea"];function df(e,t){return e==="top"||e==="bottom"||g1.indexOf(e)===-1&&t==="x"}function pf(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function gf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),W(n&&n.onComplete,[e],t)}function m1(e){const t=e.chart,n=t.options.animation;W(n&&n.onProgress,[e],t)}function Lp(e){return mp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},mf=e=>{const t=Lp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function y1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function v1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function x1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),yf()}static unregister(...t){de.remove(...t),yf()}constructor(t,n){const i=this.config=new f1(n),r=Lp(t),s=mf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Av(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=j0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new t1,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ny(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",gf),we.listen(this,"progress",m1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return H(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ac(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),W(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};j(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=ql(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),j(s,o=>{const l=o.options,a=l.id,u=ql(a,l),c=N(l.type,o.dtype);(l.position===void 0||df(l.position,u)!==df(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),j(r,(o,l)=>{o||delete i[l]}),j(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(pf("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){j(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;y1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],j(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=x1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&ou(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&lu(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=gv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};j(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){j(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},j(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=U0(t),u=v1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,W(s.onHover,[t,l,this],this),a&&W(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",p1),z(Fe,"getChart",mf),Fe);function yf(){return j(yo.instances,e=>e._plugins.invalidate())}function Op(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function _1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=fp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function w1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||I(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function k1(e){const t=Op(e),n=t.right-t.left,i=t.bottom-t.top,r=_1(e,n/2,i/2),s=w1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Op(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function S1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function b1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=k1(this),l=S1(o.radius)?gr:b1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const vf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},C1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class xf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=W(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ct(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=vf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((y,m)=>{const x=i+n/2+s.measureText(y.text).width;(m===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(m>0?0:1)]=0,d+=c,h++),a[m]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,y=0,m=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=M1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),y+=h+l,m++,h=d=0),a[p]={left:y,top:d,col:m,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ou(t,this),this._draw(),lu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ct(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:y,boxHeight:m,itemHeight:x}=vf(o,f),p=function(k,S,b){if(isNaN(y)||y<=0||isNaN(m)||m<0)return;r.save();const T=N(b.lineWidth,1);if(r.fillStyle=N(b.fillStyle,l),r.lineCap=N(b.lineCap,"butt"),r.lineDashOffset=N(b.lineDashOffset,0),r.lineJoin=N(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=N(b.strokeStyle,l),r.setLineDash(N(b.lineDash,[])),o.usePointStyle){const E={radius:m*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,y/2),R=S+h;up(r,E,L,R,o.pointStyleWidth&&y)}else{const E=S+Math.max((f-m)/2,0),L=a.leftForLtr(k,y),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(st=>st!==0)?gr(r,{x:L,y:E,w:y,h:m,radius:R}):r.rect(L,E,y,m),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},yp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=y+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,R,k),L=iy(T,L+y+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Dp(k,It)}else d.y+=w}),vp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ct(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const y=this.columnSizes.reduce((m,x)=>Math.max(m,x.height),0);c=u+wt(t.align,this.top,this.bottom-y-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(ru(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ct(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function E1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Dp(t,n)),i}function Dp(e,t){const n=e.text?e.text.length+.5:0;return t*n}function T1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var L1={id:"legend",_element:xf,start(e,t,n){const i=e.legend=new xf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class zp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ct(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ct(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:ru(n.align),textBaseline:"middle",translation:[o,l]})}}function O1(e,t){const n=new zp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var D1={id:"title",_element:zp,start(e,t,n){O1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;t-1?e.split(` -`):e}function z1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function _f(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ct(t.bodyFont),u=ct(t.titleFont),c=ct(t.footerFont),f=s.length,h=r.length,d=i.length,m=bt(t.padding);let y=m.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(y+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;y+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(y+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,j(e.title,v),n.font=a.string,j(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,j(i,_=>{j(_.before,v),j(_.lines,v),j(_.after,v)}),g=0,n.font=c.string,j(e.footer,v),n.restore(),x+=m.width,{width:x,height:y}}function R1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function F1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function A1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),F1(u,e,t,n)&&(u="center"),u}function wf(e,t,n){const i=n.yAlign||t.yAlign||R1(e,n);return{xAlign:n.xAlign||t.xAlign||A1(e,t,n,i),yAlign:i}}function I1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function N1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function kf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let m=I1(t,l);const y=N1(t,a,u);return a==="center"?l==="left"?m+=u:l==="right"&&(m-=u):l==="left"?m-=Math.max(c,h)+r:l==="right"&&(m+=Math.max(f,d)+r),{x:se(m,0,i.width-t.width),y:se(y,0,i.height-t.height)}}function qr(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function Sf(e){return fe([],ke(e))}function j1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function bf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Rp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Rp[t].call(n,i):r}class ta extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new xp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=j1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return Sf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return j(t,s=>{const o={before:[],lines:[],after:[]},l=bf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return Sf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),j(l,c=>{const f=bf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=_f(this,i),u=Object.assign({},l,a),c=wf(this.chart,i,u),f=kf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:m,height:y}=n;let x,p,g,v,_,w;return s==="center"?(_=d+y/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+m,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+m-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+y,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ct(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:y,y:m,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:m+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(y,m,u,a),t.strokeRect(y,m,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,m+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ct(i.bodyFont);let h=f.lineHeight,d=0;const m=ii(i.rtl,this.x,this.width),y=function(b){n.fillText(b,m.x(t.x+d),t.y+h/2),t.y+=h+s},x=m.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,j(this.beforeBody,y),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=_f(this,t),a=Object.assign({},o,this._size),u=wf(n,t,a),c=kf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),yp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),vp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ta,"positioners",Fi);var B1={id:"tooltip",_element:ta,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ta({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Rp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const H1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function V1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return H1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const W1=(e,t)=>e===null?null:se(Math.round(e),0,t);function Cf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ea,"id","category"),z(ea,"defaults",{ticks:{callback:Cf}});function $1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,m=c-1,{min:y,max:x}=t,p=!H(o),g=!H(l),v=!H(u),_=(x-y)/(f+1);let w=Tc((x-y)/m/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:y},{value:x}];T=Math.ceil(x/w)-Math.floor(y/w),T>m&&(w=Tc(T*w/m/d)*d),H(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(y/w)*w,b=Math.ceil(x/w)*w):(S=y,b=x),p&&g&&s&&Q0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Lc(w),Lc(S));k=Math.pow(10,H(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Mf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Mf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return H(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=$1(r,s);return t.bounds==="ticks"&&np(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return su(t,this.chart.options.locale,this.options.ticks.format)}}class na extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?t:0,this.max=ht(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(na,"id","linear"),z(na,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Pf(e){return e/Math.pow(10,yr(e))===1}function Ef(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function U1(e,t){const n=t-e;let i=yr(n);for(;Ef(e,t,i)>10;)i++;for(;Ef(e,t,i)<10;)i--;return Math.min(i,yr(e))}function Y1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=U1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Pf(d),significand:f}),i}class Tf extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ht(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?Math.max(0,t):null,this.max=ht(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ht(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=Y1(n,this);return t.bounds==="ticks"&&np(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":su(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Tf,"id","logarithmic"),z(Tf,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function ia(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return N(t.font&&t.font.size,nt.font.size)+n.height}return 0}function K1(e,t,n){return n=G(n)?n:[n],{w:dy(e,t.string,n),h:n.length*t.lineHeight}}function Lf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function Q1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function G1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(nu(pe(a.angle+zt))),c=ex(a.y,l.h,u),f=q1(u),h=tx(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function Z1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function J1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:ia(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function nx(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!H(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(m=>m!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function ix(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));nx(n,o,s);const l=ct(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Fp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=W(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?Q1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(H(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(H(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),m=s.setContext(h);rx(this,d,a,o,m)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ct(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function ox(e,t){return e-t}function Of(e,t){if(H(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ht(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Df(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function ax(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ux(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function Rf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Df(s.minUnit,n,i,this._getLabelCapacity(n)),l=N(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const m=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hy-x).map(y=>+y)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return W(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Gl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Gl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Ff extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Ap;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function fx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ap;const n={labels:[],datasets:[]};return Ip(n,e.labels),Np(n,e.datasets,t),n}function hx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=rt.useRef(null),m=rt.useRef(),y=()=>{d.current&&(m.current=new yo(d.current,{type:o,data:fx(l,s),options:a&&{...a},plugins:u}),Af(t,m.current))},x=()=>{Af(t,null),m.current&&(m.current.destroy(),m.current=null)};return rt.useEffect(()=>{!r&&m.current&&a&&cx(m.current,a)},[r,a]),rt.useEffect(()=>{!r&&m.current&&Ip(m.current.config.data,l.labels)},[r,l.labels]),rt.useEffect(()=>{!r&&m.current&&l.datasets&&Np(m.current.config.data,l.datasets,s)},[r,l.datasets]),rt.useEffect(()=>{m.current&&(r?(x(),setTimeout(y)):m.current.update(f))},[r,a,l.labels,l.datasets,f]),rt.useEffect(()=>{m.current&&(x(),setTimeout(y))},[o]),rt.useEffect(()=>(y(),()=>x()),[]),Yf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const dx=rt.forwardRef(hx);function px(e,t){return yo.register(t),rt.forwardRef((n,i)=>Yf.createElement(dx,Object.assign({},n,{ref:i,type:e})))}const gx=px("bar",gs);yo.register(ea,na,vs,D1,B1,L1);const mx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},yx=({data:e})=>{const t=m0(e),n=g0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return Q.jsx(gx,{options:mx,data:i})};function vx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r}=t;n.startsWith("/?key=")||e(s=>{const o=[...s],l=`${i}, ${n}, ${r}`;return console.log(l),o.push(t),o})}function xx(e,t,n,i){if(!("method"in i)||i.method==="")return;let{name:r,method:s,traceId:o}=i;if(!r.startsWith("/?key=")){if(r.startsWith("/_next/static/")){const l=r.lastIndexOf("/");r=r.slice(l+1)}e(l=>{const a=new Map([...l.entries()]);if(r==="/"){const c=a.get(t);return c==null||c.push(i),a}const u=`${s}, ${r}, ${o}`;if(a.has(u)){const c=a.get(u);c==null||c.push(i)}else a.set(u,[i]),n(u);return a})}}function _x(e){const t=[];return e.forEach(n=>{const i=kx(n);if(t.length===0)t.unshift(i);else for(let r=0;r{t.relativeStartTime=t.startTime-e[0].startTime})}function kx(e){let t=1/0,n=-1/0,i,r;e.forEach(c=>{c.startTimen&&(n=c.endTime),i===void 0&&"status"in c&&(i=c.status),r===void 0&&"protocol"in c&&(r=c.protocol)});const{applicationType:s,originatingService:o,method:l,name:a}=e[0];return{applicationType:s,originatingService:o,method:l,status:i,protocol:r,relativeStartTime:0,startTime:t,duration:n-t,name:a}}function Sx(){const[e,t]=rt.useState([]),[n,i]=rt.useState(new Map),[r,s]=rt.useState(""),[o,l]=rt.useState([]);return rt.useEffect(()=>{chrome.runtime.onMessage.addListener(a=>{console.log(`chromeApiRequestData: ${a.type}, startTime ${a.startTime}`,a)})},[]),rt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",u=>{try{vx(t,JSON.parse(u.data)),xx(i,r,s,JSON.parse(u.data))}catch(c){console.log("failed",c)}})},[]),rt.useEffect(()=>{console.log(n),l(_x(n))},[n]),rt.useEffect(()=>{console.log(o)},[o]),Q.jsxs(Q.Fragment,{children:[Q.jsx(yx,{data:e}),Q.jsx(p0,{data:e})]})}const bx=document.getElementById("root"),Cx=Zd(bx);console.log("panel/index.jsx reached");Cx.render(Q.jsx(Sx,{})); +`):e}function z1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function _f(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ct(t.bodyFont),u=ct(t.titleFont),c=ct(t.footerFont),f=s.length,h=r.length,d=i.length,y=bt(t.padding);let m=y.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(m+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;m+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(m+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,j(e.title,v),n.font=a.string,j(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,j(i,_=>{j(_.before,v),j(_.lines,v),j(_.after,v)}),g=0,n.font=c.string,j(e.footer,v),n.restore(),x+=y.width,{width:x,height:m}}function R1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function F1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function A1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),F1(u,e,t,n)&&(u="center"),u}function wf(e,t,n){const i=n.yAlign||t.yAlign||R1(e,n);return{xAlign:n.xAlign||t.xAlign||A1(e,t,n,i),yAlign:i}}function I1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function N1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function kf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let y=I1(t,l);const m=N1(t,a,u);return a==="center"?l==="left"?y+=u:l==="right"&&(y-=u):l==="left"?y-=Math.max(c,h)+r:l==="right"&&(y+=Math.max(f,d)+r),{x:se(y,0,i.width-t.width),y:se(m,0,i.height-t.height)}}function qr(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function Sf(e){return fe([],ke(e))}function j1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function bf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Rp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Rp[t].call(n,i):r}class ta extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new xp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=j1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return Sf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return j(t,s=>{const o={before:[],lines:[],after:[]},l=bf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return Sf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),j(l,c=>{const f=bf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=_f(this,i),u=Object.assign({},l,a),c=wf(this.chart,i,u),f=kf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:y,height:m}=n;let x,p,g,v,_,w;return s==="center"?(_=d+m/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+y,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+y-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+m,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ct(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:m,y,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:y+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(m,y,u,a),t.strokeRect(m,y,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,y+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ct(i.bodyFont);let h=f.lineHeight,d=0;const y=ii(i.rtl,this.x,this.width),m=function(b){n.fillText(b,y.x(t.x+d),t.y+h/2),t.y+=h+s},x=y.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,j(this.beforeBody,m),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=_f(this,t),a=Object.assign({},o,this._size),u=wf(n,t,a),c=kf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),yp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),vp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ta,"positioners",Fi);var B1={id:"tooltip",_element:ta,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ta({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Rp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const H1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function V1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return H1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const W1=(e,t)=>e===null?null:se(Math.round(e),0,t);function Cf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ea,"id","category"),z(ea,"defaults",{ticks:{callback:Cf}});function $1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,y=c-1,{min:m,max:x}=t,p=!H(o),g=!H(l),v=!H(u),_=(x-m)/(f+1);let w=Tc((x-m)/y/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:m},{value:x}];T=Math.ceil(x/w)-Math.floor(m/w),T>y&&(w=Tc(T*w/y/d)*d),H(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(m/w)*w,b=Math.ceil(x/w)*w):(S=m,b=x),p&&g&&s&&Q0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Lc(w),Lc(S));k=Math.pow(10,H(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Mf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Mf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return H(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=$1(r,s);return t.bounds==="ticks"&&np(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return su(t,this.chart.options.locale,this.options.ticks.format)}}class na extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?t:0,this.max=ht(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(na,"id","linear"),z(na,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Pf(e){return e/Math.pow(10,yr(e))===1}function Ef(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function U1(e,t){const n=t-e;let i=yr(n);for(;Ef(e,t,i)>10;)i++;for(;Ef(e,t,i)<10;)i--;return Math.min(i,yr(e))}function Y1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=U1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Pf(d),significand:f}),i}class Tf extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ht(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?Math.max(0,t):null,this.max=ht(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ht(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=Y1(n,this);return t.bounds==="ticks"&&np(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":su(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Tf,"id","logarithmic"),z(Tf,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function ia(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return N(t.font&&t.font.size,nt.font.size)+n.height}return 0}function K1(e,t,n){return n=G(n)?n:[n],{w:dy(e,t.string,n),h:n.length*t.lineHeight}}function Lf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function Q1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function G1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(nu(pe(a.angle+zt))),c=ex(a.y,l.h,u),f=q1(u),h=tx(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function Z1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function J1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:ia(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function nx(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!H(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(y=>y!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function ix(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));nx(n,o,s);const l=ct(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Fp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=W(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?Q1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(H(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(H(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),y=s.setContext(h);rx(this,d,a,o,y)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ct(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function ox(e,t){return e-t}function Of(e,t){if(H(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ht(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Df(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function ax(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ux(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function Rf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Df(s.minUnit,n,i,this._getLabelCapacity(n)),l=N(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const y=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hm-x).map(m=>+m)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return W(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Gl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Gl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Ff extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Ap;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function fx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ap;const n={labels:[],datasets:[]};return Ip(n,e.labels),Np(n,e.datasets,t),n}function hx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=lt.useRef(null),y=lt.useRef(),m=()=>{d.current&&(y.current=new yo(d.current,{type:o,data:fx(l,s),options:a&&{...a},plugins:u}),Af(t,y.current))},x=()=>{Af(t,null),y.current&&(y.current.destroy(),y.current=null)};return lt.useEffect(()=>{!r&&y.current&&a&&cx(y.current,a)},[r,a]),lt.useEffect(()=>{!r&&y.current&&Ip(y.current.config.data,l.labels)},[r,l.labels]),lt.useEffect(()=>{!r&&y.current&&l.datasets&&Np(y.current.config.data,l.datasets,s)},[r,l.datasets]),lt.useEffect(()=>{y.current&&(r?(x(),setTimeout(m)):y.current.update(f))},[r,a,l.labels,l.datasets,f]),lt.useEffect(()=>{y.current&&(x(),setTimeout(m))},[o]),lt.useEffect(()=>(m(),()=>x()),[]),Yf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const dx=lt.forwardRef(hx);function px(e,t){return yo.register(t),lt.forwardRef((n,i)=>Yf.createElement(dx,Object.assign({},n,{ref:i,type:e})))}const gx=px("bar",gs);yo.register(ea,na,vs,D1,B1,L1);const mx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},yx=({data:e})=>{const t=m0(e),n=g0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return Q.jsx(gx,{options:mx,data:i})};function vx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r}=t;n.startsWith("/?key=")||e(s=>{const o=[...s],l=`${i}, ${n}, ${r}`;return console.log(l),o.push(t),o})}function xx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r,startTime:s,endTime:o,applicationType:l,originatingService:a,status:u,protocol:c}=t;if(!n.startsWith("/?key=")&&n!=="/"&&!(n.includes("GET")||n.includes("PATCH")||n.includes("PUT")||n.includes("DELETE")||n.includes("POST"))){if(n.startsWith("/_next/static/")){const f=n.lastIndexOf("/");n=n.slice(f+1)}e(f=>{const h=new Map([...f.entries()]),d=`${i}, ${n}, ${r}`;if(h.has(d)){const m=h.get(d);let x=!1;sm.trueEndTime&&(m.trueEndTime=o,x=!0),m.status===void 0&&"status"in t&&(m.status=t.status),m.protocol===void 0&&"protocol"in t&&(m.protocol=t.protocol),x&&(m.duration=m.trueEndTime-m.trueStartTime)}else{const m={traceId:r,applicationType:l,originatingService:a,method:i,status:u,protocol:c,relativeStartTime:0,trueStartTime:s,trueEndTime:o,duration:o-s,name:n};h.set(d,m)}return _x(h)})}}function _x(e){const t=Array.from(e.entries());t.sort((r,s)=>r[1].trueStartTime-s[1].trueStartTime);const n=new Map(t),i=n.entries().next().value;return n.forEach(r=>{r.relativeStartTime=r.trueStartTime-i[1].trueStartTime}),n}function wx(){const[e,t]=lt.useState([]),[n,i]=lt.useState(new Map);return lt.useState(""),lt.useEffect(()=>{chrome.runtime.onMessage.addListener(r=>{console.log(`chromeApiRequestData: ${r.type}, startTime ${r.startTime}`,r)})},[]),lt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",s=>{try{vx(t,JSON.parse(s.data)),xx(i,JSON.parse(s.data))}catch(o){console.log("failed",o)}})},[]),lt.useEffect(()=>{console.log(n)},[n]),Q.jsxs(Q.Fragment,{children:[Q.jsx(yx,{data:e}),Q.jsx(p0,{data:e})]})}const kx=document.getElementById("root"),Sx=Zd(kx);console.log("panel/index.jsx reached");Sx.render(Q.jsx(wx,{})); diff --git a/chrome-extension/dist/src/pages/panel/index.html b/chrome-extension/dist/src/pages/panel/index.html index 41a4a88..a190314 100644 --- a/chrome-extension/dist/src/pages/panel/index.html +++ b/chrome-extension/dist/src/pages/panel/index.html @@ -2,7 +2,7 @@ - + diff --git a/chrome-extension/src/pages/app/app.tsx b/chrome-extension/src/pages/app/app.tsx index 1bd7908..a7216e5 100644 --- a/chrome-extension/src/pages/app/app.tsx +++ b/chrome-extension/src/pages/app/app.tsx @@ -17,7 +17,7 @@ function App() { const [mostRecentEntry, setMostRecentEntry] = useState(""); // mainly just to figure out what name === / belongs to - const [sortedData, setSortedData] = useState([]); + // const [sortedData, setSortedData] = useState([]); useEffect(() => { chrome.runtime.onMessage.addListener((message) => { @@ -35,7 +35,7 @@ function App() { // setNetworkRequests(prevNetworkRequests => [...prevNetworkRequests, JSON.parse(e.data)]); // setAggregatedData(prevAggregatedData => checkTraceId(prevAggregatedData, JSON.parse(e.data))) isRelevantData(setRelevantData, JSON.parse(e.data), ) - isRelevant(setRelevant, mostRecentEntry, setMostRecentEntry, JSON.parse(e.data)); + isRelevant(setRelevant, JSON.parse(e.data)); // setRelevantData(prevRelevantData => isRelevantData(prevRelevantData, JSON.parse(e.data))); } catch (err) { console.log('failed', err); @@ -54,13 +54,13 @@ function App() { useEffect(() => { console.log(relevant); - setSortedData(sortData(relevant)); + // setSortedData(sortData(relevant)); }, [relevant]); - useEffect(() => { - console.log(sortedData); - }, [sortedData]); + // useEffect(() => { + // console.log(sortedData); + // }, [sortedData]); return ( <> diff --git a/chrome-extension/src/pages/app/functions/isRelevantData.ts b/chrome-extension/src/pages/app/functions/isRelevantData.ts index dc6b25e..0000b19 100644 --- a/chrome-extension/src/pages/app/functions/isRelevantData.ts +++ b/chrome-extension/src/pages/app/functions/isRelevantData.ts @@ -1,5 +1,5 @@ import { setFlagsFromString } from 'v8'; -import { IRelevantData, OtelData, ISetRelevantDataState, IRelevant, ISetRelevantState, ISetMostRecentEntryState } from '../../../types/types'; +import { IRelevantData, OtelData, ISetRelevantDataState, IRelevant, ISetRelevantState, ISetMostRecentEntryState, IUpdatedData } from '../../../types/types'; export function isRelevantData(setRelevantData:ISetRelevantDataState, incomingSpanData: OtelData): void { @@ -44,7 +44,7 @@ export function isRelevantData(setRelevantData:ISetRelevantDataState, incomingSp } -export function isRelevant(setRelevant:ISetRelevantState, mostRecentEntry: string, setMostRecentEntry: ISetMostRecentEntryState, incomingSpanData: OtelData): void | IRelevant { +export function isRelevant(setRelevant:ISetRelevantState, incomingSpanData: OtelData): void { // if there is no method attached, return if(!('method' in incomingSpanData) || incomingSpanData.method === ""){ return; @@ -52,12 +52,17 @@ export function isRelevant(setRelevant:ISetRelevantState, mostRecentEntry: strin // destructure name - let {name, method, traceId} = incomingSpanData; + let {name, method, traceId, startTime, endTime, applicationType, originatingService, status, protocol} = incomingSpanData; // check if name starts with "/?key=" , return - if (name.startsWith("/?key=")) { - return; - }; - if (name.startsWith("/_next/static/")){ + if(name.startsWith("/?key=")) return; + + // ISSUE: look even closer into spans with name === "/" to make sure if it is relevant + if(name === "/")return; + + // ISSUE: for now gets rid of repeat data but look into this more. should also be connected to the "/" names + if(name.includes("GET") || name.includes("PATCH")|| name.includes("PUT") || name.includes("DELETE") || name.includes("POST")) return; + + if(name.startsWith("/_next/static/")){ const lastIndex = name.lastIndexOf("/"); name = name.slice(lastIndex + 1); } @@ -66,35 +71,66 @@ export function isRelevant(setRelevant:ISetRelevantState, mostRecentEntry: strin setRelevant(prevRelevant => { const newRelevant: IRelevant = new Map([...prevRelevant.entries()]); + const newKeyName: string = `${method}, ${name}, ${traceId}`; - // if(name === "/" && mostRecentEntry.includes(`${traceId}`) && mostRecentEntry.includes(`${method}`)){ - // const existingData = newRelevant.get(mostRecentEntry); - // existingData?.push(incomingSpanData); - // }; - - if(name === "/" ){ - const existingData = newRelevant.get(mostRecentEntry); - existingData?.push(incomingSpanData); - - // ISSUE: look into how useful these spans with no names are. current logic is not working but also not sure if it should be pushing to the most recent entry - return newRelevant; - }; - - + if(newRelevant.has(newKeyName)){ + const existingData = newRelevant.get(newKeyName); + // if incoming data has an earlier startTime, update true start time on existingdata + let hasUpdatedTime: boolean = false; + if(startTime < existingData!.trueStartTime) { + existingData!.trueStartTime = startTime; + hasUpdatedTime = true; + } + if(endTime > existingData!.trueEndTime) { + existingData!.trueEndTime = endTime; + hasUpdatedTime = true; + } + if(existingData!.status === undefined && 'status' in incomingSpanData) existingData!.status = incomingSpanData.status; - const newKeyName: string = `${method}, ${name}, ${traceId}`; + if(existingData!.protocol === undefined && 'protocol' in incomingSpanData) existingData!.protocol = incomingSpanData.protocol; + if(hasUpdatedTime) { + existingData!.duration = existingData!.trueEndTime - existingData!.trueStartTime + }; - if(newRelevant.has(newKeyName)){ - const existingData = newRelevant.get(newKeyName); - existingData?.push(incomingSpanData); }else{ - newRelevant.set(newKeyName,[incomingSpanData]); - setMostRecentEntry(newKeyName); + const updatedData = { + traceId, + applicationType, + originatingService, + method, + status, + protocol, + relativeStartTime: 0, + trueStartTime: startTime, + trueEndTime: endTime, + duration: endTime - startTime, + name + }; + + + newRelevant.set(newKeyName,updatedData); } - return newRelevant; + const sortedRelevant: IRelevant = sortRelevant(newRelevant); + return sortedRelevant; }); +} + +function sortRelevant(relevant: IRelevant): IRelevant{ + const entries = Array.from(relevant.entries()); + + entries.sort((a, b) => a[1].trueStartTime - b[1].trueStartTime); + + const sortedMap = new Map(entries); + + const earliestEntry = sortedMap.entries().next().value; + + sortedMap.forEach(request => { + request.relativeStartTime = request.trueStartTime - earliestEntry[1].trueStartTime; + }) + + return sortedMap; } \ No newline at end of file diff --git a/chrome-extension/src/types/types.ts b/chrome-extension/src/types/types.ts index 326afa4..d5ba542 100644 --- a/chrome-extension/src/types/types.ts +++ b/chrome-extension/src/types/types.ts @@ -30,10 +30,10 @@ export type IChromeApiNetworkObject = { export type IAggregatedData = Map; -export type IRelevant = Map; +export type IRelevant = Map; // key includes method, name, and traceId as a string -export type IRelevantData = OtelData[]; +export type IRelevantData = IUpdatedData[]; export type ITraceIdData = Map; @@ -46,13 +46,15 @@ export type ISetMostRecentEntryState= Dispatch>; export type ILengthsOfChartBars = number[][]; export interface IUpdatedData { + traceId: string, applicationType: string, originatingService: string, method?: string, status?: number, protocol?: string, relativeStartTime: number, - startTime: number, + trueStartTime: number, + trueEndTime: number, duration: number, name: string } From 392e71c2e9dec164245fdae866d3c463c2095daa Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Thu, 6 Jul 2023 15:47:58 -0400 Subject: [PATCH 12/18] refactored chart to display in order with correct relative durations --- ...{index-2b3c72e0.css => index-962b3a7d.css} | 2 +- .../{panel-ef064089.js => panel-d246fb81.js} | 24 +-- .../dist/src/pages/panel/index.html | 4 +- chrome-extension/src/pages/app/app.tsx | 42 +---- .../src/pages/app/components/NetworkTable.tsx | 37 +---- .../src/pages/app/components/TableRow.tsx | 78 +-------- .../pages/app/components/WaterfallGraph.tsx | 4 +- .../src/pages/app/functions/chartJSData.ts | 56 ++----- .../{isRelevantData.ts => isRelevant.ts} | 45 +----- .../src/pages/app/functions/sortData.ts | 148 ------------------ chrome-extension/src/types/types.ts | 17 -- 11 files changed, 47 insertions(+), 410 deletions(-) rename chrome-extension/dist/assets/{index-2b3c72e0.css => index-962b3a7d.css} (78%) rename chrome-extension/dist/assets/{panel-ef064089.js => panel-d246fb81.js} (70%) rename chrome-extension/src/pages/app/functions/{isRelevantData.ts => isRelevant.ts} (67%) delete mode 100644 chrome-extension/src/pages/app/functions/sortData.ts diff --git a/chrome-extension/dist/assets/index-2b3c72e0.css b/chrome-extension/dist/assets/index-962b3a7d.css similarity index 78% rename from chrome-extension/dist/assets/index-2b3c72e0.css rename to chrome-extension/dist/assets/index-962b3a7d.css index 803a09f..022e9c3 100644 --- a/chrome-extension/dist/assets/index-2b3c72e0.css +++ b/chrome-extension/dist/assets/index-962b3a7d.css @@ -1 +1 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.fixed{position:fixed}.m-3{margin:.75rem}.table{display:table}.grid{display:grid}.h-5{height:1.25rem}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity))}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}body{background-color:#292a2d;color:#fff}tr:nth-child(even){background-color:#202124}table{border:1.5px solid blue;width:100%;text-align:left;border-collapse:collapse}th{border:1px solid rgb(74,76,80)}th,td{font-weight:400;border-right:1px solid rgb(144,143,143);padding:15px;font-size:small;max-width:10px;max-height:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr:hover:not(:first-child){background-color:#24245d}th:hover{background-color:#162266}.arrow{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 0%,50% 50%,0% 100%);clip-path:polygon(0% 0%,50% 50%,0% 100%);background-color:#f0f8ff;margin-right:5px}.arrowDown{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 50%,100% 50%,50% 100%);clip-path:polygon(0% 50%,100% 50%,50% 100%);background-color:#f0f8ff;margin-right:5px}.noPadding{padding:15px 15px 15px 0} +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.fixed{position:fixed}.relative{position:relative}.m-3{margin:.75rem}.table{display:table}.grid{display:grid}.h-5{height:1.25rem}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity))}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}body{background-color:#292a2d;color:#fff}tr:nth-child(even){background-color:#202124}table{border:1.5px solid blue;width:100%;text-align:left;border-collapse:collapse}th{border:1px solid rgb(74,76,80)}th,td{font-weight:400;border-right:1px solid rgb(144,143,143);padding:15px;font-size:small;max-width:10px;max-height:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr:hover:not(:first-child){background-color:#24245d}th:hover{background-color:#162266}.arrow{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 0%,50% 50%,0% 100%);clip-path:polygon(0% 0%,50% 50%,0% 100%);background-color:#f0f8ff;margin-right:5px}.arrowDown{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 50%,100% 50%,50% 100%);clip-path:polygon(0% 50%,100% 50%,50% 100%);background-color:#f0f8ff;margin-right:5px}.noPadding{padding:15px 15px 15px 0} diff --git a/chrome-extension/dist/assets/panel-ef064089.js b/chrome-extension/dist/assets/panel-d246fb81.js similarity index 70% rename from chrome-extension/dist/assets/panel-ef064089.js rename to chrome-extension/dist/assets/panel-d246fb81.js index cb42f94..6114992 100644 --- a/chrome-extension/dist/assets/panel-ef064089.js +++ b/chrome-extension/dist/assets/panel-d246fb81.js @@ -1,4 +1,4 @@ -var jp=Object.defineProperty;var Bp=(e,t,n)=>t in e?jp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var z=(e,t,n)=>(Bp(e,typeof t!="symbol"?t+"":t,n),n);import"./modulepreload-polyfill-3cfb730f.js";function Hp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var If={exports:{}},Js={},Nf={exports:{}},F={};/** +var Np=Object.defineProperty;var jp=(e,t,n)=>t in e?Np(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var z=(e,t,n)=>(jp(e,typeof t!="symbol"?t+"":t,n),n);import"./modulepreload-polyfill-3cfb730f.js";function Bp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Af={exports:{}},Js={},If={exports:{}},F={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var jp=Object.defineProperty;var Bp=(e,t,n)=>t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var vr=Symbol.for("react.element"),Vp=Symbol.for("react.portal"),Wp=Symbol.for("react.fragment"),$p=Symbol.for("react.strict_mode"),Up=Symbol.for("react.profiler"),Yp=Symbol.for("react.provider"),Kp=Symbol.for("react.context"),Qp=Symbol.for("react.forward_ref"),Xp=Symbol.for("react.suspense"),Gp=Symbol.for("react.memo"),Zp=Symbol.for("react.lazy"),du=Symbol.iterator;function Jp(e){return e===null||typeof e!="object"?null:(e=du&&e[du]||e["@@iterator"],typeof e=="function"?e:null)}var jf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bf=Object.assign,Hf={};function di(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}di.prototype.isReactComponent={};di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Vf(){}Vf.prototype=di.prototype;function ra(e,t,n){this.props=e,this.context=t,this.refs=Hf,this.updater=n||jf}var sa=ra.prototype=new Vf;sa.constructor=ra;Bf(sa,di.prototype);sa.isPureReactComponent=!0;var pu=Array.isArray,Wf=Object.prototype.hasOwnProperty,oa={current:null},$f={key:!0,ref:!0,__self:!0,__source:!0};function Uf(e,t,n){var i,r={},s=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(s=""+t.key),t)Wf.call(t,i)&&!$f.hasOwnProperty(i)&&(r[i]=t[i]);var l=arguments.length-2;if(l===1)r.children=n;else if(1t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ig=lt,rg=Symbol.for("react.element"),sg=Symbol.for("react.fragment"),og=Object.prototype.hasOwnProperty,lg=ig.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ag={key:!0,ref:!0,__self:!0,__source:!0};function Kf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)og.call(t,i)&&!ag.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:rg,type:e,key:s,ref:o,props:r,_owner:lg.current}}Js.Fragment=sg;Js.jsx=Kf;Js.jsxs=Kf;If.exports=Js;var Q=If.exports,Qf={exports:{}},Ut={},Xf={exports:{}},Gf={};/** + */var ng=pt,ig=Symbol.for("react.element"),rg=Symbol.for("react.fragment"),sg=Object.prototype.hasOwnProperty,og=ng.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,lg={key:!0,ref:!0,__self:!0,__source:!0};function Yf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)sg.call(t,i)&&!lg.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:ig,type:e,key:s,ref:o,props:r,_owner:og.current}}Js.Fragment=rg;Js.jsx=Yf;Js.jsxs=Yf;Af.exports=Js;var Q=Af.exports,Kf={exports:{}},Ut={},Qf={exports:{}},Xf={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var jp=Object.defineProperty;var Bp=(e,t,n)=>t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(e){function t(M,O){var D=M.length;M.push(O);t:for(;0>>1,U=M[V];if(0>>1;Vr(xe,D))jtr(Cr,xe)?(M[V]=Cr,M[jt]=D,V=jt):(M[V]=xe,M[Nt]=D,V=Nt);else if(jtr(Cr,D))M[V]=Cr,M[jt]=D,V=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,y=!1,m=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(m=!1,v(M),!y)if(n(a)!==null)y=!0,it(w);else{var O=n(u);O!==null&&vt(_,O.startTime-M)}}function w(M,O){y=!1,m&&(m=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var V=f.callback;if(typeof V=="function"){f.callback=null,h=f.priorityLevel;var U=V(f.expirationTime<=O);O=e.unstable_now(),typeof U=="function"?f.callback=U:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&vt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125V?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(m?(p(b),b=-1):m=!0,vt(_,D-V))):(M.sortIndex=U,t(a,M),y||d||(y=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Gf);Xf.exports=Gf;var ug=Xf.exports;/** + */(function(e){function t(M,O){var D=M.length;M.push(O);t:for(;0>>1,U=M[V];if(0>>1;Vr(xe,D))jtr(Cr,xe)?(M[V]=Cr,M[jt]=D,V=jt):(M[V]=xe,M[Nt]=D,V=Nt);else if(jtr(Cr,D))M[V]=Cr,M[jt]=D,V=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,y=!1,m=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(m=!1,v(M),!y)if(n(a)!==null)y=!0,it(w);else{var O=n(u);O!==null&&vt(_,O.startTime-M)}}function w(M,O){y=!1,m&&(m=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var V=f.callback;if(typeof V=="function"){f.callback=null,h=f.priorityLevel;var U=V(f.expirationTime<=O);O=e.unstable_now(),typeof U=="function"?f.callback=U:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&vt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125V?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(m?(p(b),b=-1):m=!0,vt(_,D-V))):(M.sortIndex=U,t(a,M),y||d||(y=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Xf);Qf.exports=Xf;var ag=Qf.exports;/** * @license React * react-dom.production.min.js * @@ -30,28 +30,28 @@ var jp=Object.defineProperty;var Bp=(e,t,n)=>t in e?jp(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Zf=lt,$t=ug;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nl=Object.prototype.hasOwnProperty,cg=/^[: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]*$/,mu={},yu={};function fg(e){return nl.call(yu,e)?!0:nl.call(mu,e)?!1:cg.test(e)?yu[e]=!0:(mu[e]=!0,!1)}function hg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function dg(e,t,n,i){if(t===null||typeof t>"u"||hg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var aa=/[\-:]([a-z])/g;function ua(e){return e[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(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ca(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nl=Object.prototype.hasOwnProperty,ug=/^[: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]*$/,gu={},mu={};function cg(e){return nl.call(mu,e)?!0:nl.call(gu,e)?!1:ug.test(e)?mu[e]=!0:(gu[e]=!0,!1)}function fg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function hg(e,t,n,i){if(t===null||typeof t>"u"||fg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var la=/[\-:]([a-z])/g;function aa(e){return e[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(e){var t=e.replace(la,aa);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(la,aa);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(la,aa);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ua(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2l||r[o]!==s[l]){var a=` -`+r[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{wo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function pg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case In:return"Portal";case il:return"Profiler";case fa:return"StrictMode";case rl:return"Suspense";case sl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case th:return(e.displayName||"Context")+".Consumer";case qf:return(e._context.displayName||"Context")+".Provider";case ha:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case da:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case Ae:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function gg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===fa?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function mg(e){var t=nh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=mg(e))}function ih(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=nh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ll(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function xu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rh(e,t){t=t.checked,t!=null&&ca(e,"checked",t,!1)}function al(e,t){rh(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ul(e,t.type,n):t.hasOwnProperty("defaultValue")&&ul(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function _u(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ul(e,t,n){(t!=="number"||xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Tr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={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},yg=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){yg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function ah(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function uh(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=ah(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var vg=tt({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 hl(e,t){if(t){if(vg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function dl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pl=null;function pa(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gl=null,Jn=null,qn=null;function Su(e){if(e=wr(e)){if(typeof gl!="function")throw Error(C(280));var t=e.stateNode;t&&(t=io(t),gl(e.stateNode,e.type,t))}}function ch(e){Jn?qn?qn.push(e):qn=[e]:Jn=e}function fh(){if(Jn){var e=Jn,t=qn;if(qn=Jn=null,Su(e),t)for(e=0;e>>=0,e===0?32:31-(Tg(e)/Lg|0)|0}var Lr=64,Or=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ss(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function xr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function Rg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Du=String.fromCharCode(32),zu=!1;function Oh(e,t){switch(e){case"keyup":return am.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function cm(e,t){switch(e){case"compositionend":return Dh(t);case"keypress":return t.which!==32?null:(zu=!0,Du);case"textInput":return e=t.data,e===Du&&zu?null:e;default:return null}}function fm(e,t){if(jn)return e==="compositionend"||!ka&&Oh(e,t)?(e=Th(),ss=xa=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Iu(n)}}function Ah(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ah(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ih(){for(var e=window,t=xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xs(e.document)}return t}function Sa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function _m(e){var t=Ih(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ah(n.ownerDocument.documentElement,n)){if(i!==null&&Sa(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Nu(n,s);var o=Nu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,wl=null,Bi=null,kl=!1;function ju(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kl||Bn==null||Bn!==xs(i)||(i=Bn,"selectionStart"in i&&Sa(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ms(wl,"onSelect"),0Wn||(e.current=El[Wn],El[Wn]=null,Wn--)}function $(e,t){Wn++,El[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Es(){K(Rt),K(St)}function Yu(e,t,n){if(St.current!==rn)throw Error(C(168));$(St,t),$(Rt,n)}function Yh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,gg(e)||"Unknown",r));return tt({},n,i)}function Ts(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,$(St,e),$(Rt,Rt.current),!0}function Ku(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Yh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,K(Rt),K(St),$(St,e)):K(Rt),$(Rt,n)}var be=null,ro=!1,Ao=!1;function Kh(e){be===null?be=[e]:be.push(e)}function Dm(e){ro=!0,Kh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=B;try{var n=be;for(B=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(R){return t(p,R)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Pr:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ae&&tc(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ds(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case In:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=$o(v,p.mode,_),g.return=p,p=g}return o(p);case Ae:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return y(p,g,v,_);if(mi(v))return m(p,g,v,_);Nr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=Wo(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=ed(!0),nd=ed(!1),kr={},ye=an(kr),or=an(kr),lr=an(kr);function xn(e){if(e===kr)throw Error(C(174));return e}function Da(e,t){switch($(lr,t),$(or,e),$(ye,kr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fl(t,e)}K(ye),$(ye,t)}function ai(){K(ye),K(or),K(lr)}function id(e){xn(lr.current);var t=xn(ye.current),n=fl(t,e.type);t!==n&&($(or,e),$(ye,n))}function za(e){or.current===e&&(K(ye),K(or))}var J=an(0);function Fs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Io=[];function Ra(){for(var e=0;en?n:4,e(!0);var i=No.transition;No.transition={};try{e(!1),t()}finally{B=n,No.transition=i}}function xd(){return te().memoizedState}function Am(e,t,n){var i=Je(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},_d(e))wd(t,n);else if(n=Zh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),kd(n,t,i)}}function Im(e,t,n){var i=Je(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(_d(e))wd(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,La(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Zh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),kd(n,t,i))}}function _d(e){var t=e.alternate;return e===q||t!==null&&t===q}function wd(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ma(e,n)}}var Is={readContext:qt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},Nm={readContext:qt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:nc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,us(4194308,4,pd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){return us(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Am.bind(null,q,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:ec,useDebugValue:ja,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=ec(!1),t=e[0];return e=Fm.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=q,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),dt===null)throw Error(C(349));Mn&30||od(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,nc(ad.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,ld.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=dt.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{wo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function dg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case In:return"Portal";case il:return"Profiler";case ca:return"StrictMode";case rl:return"Suspense";case sl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case qf:return(e.displayName||"Context")+".Consumer";case Jf:return(e._context.displayName||"Context")+".Provider";case fa:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ha:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case Ae:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function pg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===ca?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function eh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function gg(e){var t=eh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=gg(e))}function nh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=eh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ll(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function vu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ih(e,t){t=t.checked,t!=null&&ua(e,"checked",t,!1)}function al(e,t){ih(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ul(e,t.type,n):t.hasOwnProperty("defaultValue")&&ul(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function xu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ul(e,t,n){(t!=="number"||xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Tr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={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},mg=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){mg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function lh(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function ah(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=lh(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var yg=tt({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 hl(e,t){if(t){if(yg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function dl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pl=null;function da(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gl=null,Jn=null,qn=null;function ku(e){if(e=wr(e)){if(typeof gl!="function")throw Error(C(280));var t=e.stateNode;t&&(t=io(t),gl(e.stateNode,e.type,t))}}function uh(e){Jn?qn?qn.push(e):qn=[e]:Jn=e}function ch(){if(Jn){var e=Jn,t=qn;if(qn=Jn=null,ku(e),t)for(e=0;e>>=0,e===0?32:31-(Eg(e)/Tg|0)|0}var Lr=64,Or=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ss(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function xr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function zg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Ou=String.fromCharCode(32),Du=!1;function Lh(e,t){switch(e){case"keyup":return lm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Oh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function um(e,t){switch(e){case"compositionend":return Oh(t);case"keypress":return t.which!==32?null:(Du=!0,Ou);case"textInput":return e=t.data,e===Ou&&Du?null:e;default:return null}}function cm(e,t){if(jn)return e==="compositionend"||!wa&&Lh(e,t)?(e=Eh(),ss=va=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Au(n)}}function Fh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Fh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ah(){for(var e=window,t=xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xs(e.document)}return t}function ka(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function xm(e){var t=Ah(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Fh(n.ownerDocument.documentElement,n)){if(i!==null&&ka(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Iu(n,s);var o=Iu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,wl=null,Bi=null,kl=!1;function Nu(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kl||Bn==null||Bn!==xs(i)||(i=Bn,"selectionStart"in i&&ka(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ms(wl,"onSelect"),0Wn||(e.current=El[Wn],El[Wn]=null,Wn--)}function $(e,t){Wn++,El[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Es(){K(Rt),K(St)}function Uu(e,t,n){if(St.current!==rn)throw Error(C(168));$(St,t),$(Rt,n)}function Uh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,pg(e)||"Unknown",r));return tt({},n,i)}function Ts(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,$(St,e),$(Rt,Rt.current),!0}function Yu(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Uh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,K(Rt),K(St),$(St,e)):K(Rt),$(Rt,n)}var be=null,ro=!1,Ao=!1;function Yh(e){be===null?be=[e]:be.push(e)}function Om(e){ro=!0,Yh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=B;try{var n=be;for(B=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(R){return t(p,R)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Pr:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ae&&qu(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ds(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case In:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=$o(v,p.mode,_),g.return=p,p=g}return o(p);case Ae:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return y(p,g,v,_);if(mi(v))return m(p,g,v,_);Nr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=Wo(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=td(!0),ed=td(!1),kr={},ye=an(kr),or=an(kr),lr=an(kr);function xn(e){if(e===kr)throw Error(C(174));return e}function Oa(e,t){switch($(lr,t),$(or,e),$(ye,kr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fl(t,e)}K(ye),$(ye,t)}function ai(){K(ye),K(or),K(lr)}function nd(e){xn(lr.current);var t=xn(ye.current),n=fl(t,e.type);t!==n&&($(or,e),$(ye,n))}function Da(e){or.current===e&&(K(ye),K(or))}var J=an(0);function Fs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Io=[];function za(){for(var e=0;en?n:4,e(!0);var i=No.transition;No.transition={};try{e(!1),t()}finally{B=n,No.transition=i}}function vd(){return te().memoizedState}function Fm(e,t,n){var i=Je(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},xd(e))_d(t,n);else if(n=Gh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),wd(n,t,i)}}function Am(e,t,n){var i=Je(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(xd(e))_d(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,Ta(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Gh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),wd(n,t,i))}}function xd(e){var t=e.alternate;return e===q||t!==null&&t===q}function _d(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function wd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ga(e,n)}}var Is={readContext:qt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},Im={readContext:qt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:ec,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,us(4194308,4,dd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){return us(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Fm.bind(null,q,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:tc,useDebugValue:Na,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=tc(!1),t=e[0];return e=Rm.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=q,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),ht===null)throw Error(C(349));Mn&30||sd(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,ec(ld.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,od.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=ht.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Od(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":Y("cancel",e),Y("close",e),r=i;break;case"iframe":case"object":case"embed":Y("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=J.current,$(J,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return Ua(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Ym(e,t){switch(Ca(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),K(Rt),K(St),Ra(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return za(t),null;case 13:if(K(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return K(J),null;case 4:return ai(),null;case 10:return Ta(t.type._context),null;case 22:case 23:return Ua(),null;case 24:return null;default:return null}}var Br=!1,kt=!1,Km=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var fc=!1;function Qm(e,t){if(Sl=bs,e=Ih(),Sa(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var m=y.memoizedProps,x=y.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?m:ne(t.type,m),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return y=fc,fc=!1,y}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Rd(e){var t=e.alternate;t!==null&&(e.alternate=null,Rd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Lm],delete t[Om])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function hc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var pt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Ad(e,t,n),n=n.sibling}function Ad(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=pt,r=ie;pt=null,Re(e,t,n),pt=i,ie=r,pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):pt.removeChild(n.stateNode));break;case 18:pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(pt,n.stateNode));break;case 4:i=pt,r=ie,pt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),pt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function dc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Km),t.forEach(function(i){var r=i0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Gm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Wa?_n(e,0):Va|=n),At(e,t)}function $d(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function n0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$d(e,n)}function i0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),$d(e,n)}var Ud;Ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,$m(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Qh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Aa(null,t,i,e,r,n);var s=Ia();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Oa(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&ba(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=s0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=ac(null,t,i,e,n);break t;case 11:t=oc(null,t,i,e,n);break t;case 14:t=lc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),ac(e,t,i,r,n);case 3:t:{if(Ed(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Jh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=uc(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=uc(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=nd(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return id(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Pd(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Td(e,t,n);case 4:return Da(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),oc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,$(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),lc(e,t,i,r,n);case 15:return Cd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),td(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Ld(e,t,n);case 22:return Md(e,t,n)}throw Error(C(156,t.tag))};function Yd(e,t){return vh(e,t)}function r0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new r0(e,t,n,i)}function Ka(e){return e=e.prototype,!(!e||!e.isReactComponent)}function s0(e){if(typeof e=="function")return Ka(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ha)return 11;if(e===da)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ka(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case fa:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case eh:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case qf:o=10;break t;case th:o=9;break t;case ha:o=11;break t;case da:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=eh,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function o0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Qa(e,t,n,i,r,s,o,l,a){return e=new o0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oa(s),e}function l0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gd)}catch(e){console.error(e)}}Gd(),Qf.exports=Ut;var h0=Qf.exports,Zd,wc=h0;Zd=wc.createRoot,wc.hydrateRoot;function Ql(e,t){return t-e}const d0=({data:e})=>Q.jsxs("tr",{children:[Q.jsx("td",{children:e.name}),Q.jsx("td",{children:e.method}),Q.jsx("td",{children:e.status}),Q.jsx("td",{children:e.protocol}),Q.jsx("td",{children:Ql(e.startTime,e.endTime)}),Q.jsx("td",{children:e.originatingService}),Q.jsx("td",{children:e.applicationType})]}),p0=({data:e})=>Q.jsxs("table",{children:[Q.jsxs("tr",{children:[Q.jsx("th",{children:"Name"}),Q.jsx("th",{children:"Method"}),Q.jsx("th",{children:"Status"}),Q.jsx("th",{children:"Protocol"}),Q.jsx("th",{children:"Time"}),Q.jsx("th",{children:"Orig. Svc."}),Q.jsx("th",{children:"Application Type"})]}),e.map((t,n)=>Q.jsx(d0,{data:t},n))]});function g0(e){const t=[];return e.map((n,i)=>{const r=[],s=Ql(e[0].startTime,n.startTime),o=Ql(n.endTime,n.startTime),l=s+o;r.push(s,l),t.push(r)}),t}function m0(e){return e.map(n=>n.name)}/*! +`+s.stack}return{value:e,source:t,stack:r,digest:null}}function Ho(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Rl(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Bm=typeof WeakMap=="function"?WeakMap:Map;function kd(e,t,n){n=Ee(-1,n),n.tag=3,n.payload={element:null};var i=t.value;return n.callback=function(){js||(js=!0,$l=i),Rl(e,t)},n}function Sd(e,t,n){n=Ee(-1,n),n.tag=3;var i=e.type.getDerivedStateFromError;if(typeof i=="function"){var r=t.value;n.payload=function(){return i(r)},n.callback=function(){Rl(e,t)}}var s=e.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){Rl(e,t),typeof i!="function"&&(Ze===null?Ze=new Set([this]):Ze.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function nc(e,t,n){var i=e.pingCache;if(i===null){i=e.pingCache=new Bm;var r=new Set;i.set(t,r)}else r=i.get(t),r===void 0&&(r=new Set,i.set(t,r));r.has(n)||(r.add(n),e=t0.bind(null,e,t,n),t.then(e,e))}function ic(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function rc(e,t,n,i,r){return e.mode&1?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Ee(-1,1),t.tag=2,Ge(n,t,1))),n.lanes|=1),e)}var Hm=ze.ReactCurrentOwner,Dt=!1;function Ct(e,t,n,i){t.child=e===null?ed(t,null,n,i):li(t,e.child,n,i)}function sc(e,t,n,i,r){n=n.render;var s=t.ref;return ei(t,r),i=Fa(e,t,n,i,s,r),n=Aa(),e!==null&&!Dt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,De(e,t,r)):(X&&n&&Sa(t),t.flags|=1,Ct(e,t,i,r),t.child)}function oc(e,t,n,i,r){if(e===null){var s=n.type;return typeof s=="function"&&!Ya(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=s,bd(e,t,s,i,r)):(e=ds(n.type,null,i,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(s=e.child,!(e.lanes&r)){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:nr,n(o,i)&&e.ref===t.ref)return De(e,t,r)}return t.flags|=1,e=qe(s,i),e.ref=t.ref,e.return=t,t.child=e}function bd(e,t,n,i,r){if(e!==null){var s=e.memoizedProps;if(nr(s,i)&&e.ref===t.ref)if(Dt=!1,t.pendingProps=i=s,(e.lanes&r)!==0)e.flags&131072&&(Dt=!0);else return t.lanes=e.lanes,De(e,t,r)}return Fl(e,t,n,i,r)}function Cd(e,t,n){var i=t.pendingProps,r=i.children,s=e!==null?e.memoizedState:null;if(i.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},$(Qn,Ht),Ht|=n;else{if(!(n&1073741824))return e=s!==null?s.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,$(Qn,Ht),Ht|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:n,$(Qn,Ht),Ht|=i}else s!==null?(i=s.baseLanes|n,t.memoizedState=null):i=n,$(Qn,Ht),Ht|=i;return Ct(e,t,r,n),t.child}function Md(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Fl(e,t,n,i,r){var s=Ft(n)?bn:St.current;return s=si(t,s),ei(t,r),n=Fa(e,t,n,i,s,r),i=Aa(),e!==null&&!Dt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,De(e,t,r)):(X&&i&&Sa(t),t.flags|=1,Ct(e,t,n,r),t.child)}function lc(e,t,n,i,r){if(Ft(n)){var s=!0;Ts(t)}else s=!1;if(ei(t,r),t.stateNode===null)cs(e,t),qh(t,n,i),zl(t,n,i,r),i=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var a=o.context,u=n.contextType;typeof u=="object"&&u!==null?u=qt(u):(u=Ft(n)?bn:St.current,u=si(t,u));var c=n.getDerivedStateFromProps,f=typeof c=="function"||typeof o.getSnapshotBeforeUpdate=="function";f||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==i||a!==u)&&Ju(t,o,i,u),Ie=!1;var h=t.memoizedState;o.state=h,Rs(t,i,o,r),a=t.memoizedState,l!==i||h!==a||Rt.current||Ie?(typeof c=="function"&&(Dl(t,n,c,i),a=t.memoizedState),(l=Ie||Zu(t,n,l,i,h,a,u))?(f||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=a),o.props=i,o.state=a,o.context=u,i=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),i=!1)}else{o=t.stateNode,Zh(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:ne(t.type,l),o.props=u,f=t.pendingProps,h=o.context,a=n.contextType,typeof a=="object"&&a!==null?a=qt(a):(a=Ft(n)?bn:St.current,a=si(t,a));var d=n.getDerivedStateFromProps;(c=typeof d=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==f||h!==a)&&Ju(t,o,i,a),Ie=!1,h=t.memoizedState,o.state=h,Rs(t,i,o,r);var y=t.memoizedState;l!==f||h!==y||Rt.current||Ie?(typeof d=="function"&&(Dl(t,n,d,i),y=t.memoizedState),(u=Ie||Zu(t,n,u,i,h,y,a)||!1)?(c||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,y,a),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,y,a)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=y),o.props=i,o.state=y,o.context=a,i=u):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),i=!1)}return Al(e,t,n,i,s,r)}function Al(e,t,n,i,r,s){Md(e,t);var o=(t.flags&128)!==0;if(!i&&!o)return r&&Yu(t,n,!1),De(e,t,s);i=t.stateNode,Hm.current=t;var l=o&&typeof n.getDerivedStateFromError!="function"?null:i.render();return t.flags|=1,e!==null&&o?(t.child=li(t,e.child,null,s),t.child=li(t,null,l,s)):Ct(e,t,l,s),t.memoizedState=i.state,r&&Yu(t,n,!0),t.child}function Pd(e){var t=e.stateNode;t.pendingContext?Uu(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Uu(e,t.context,!1),Oa(e,t.containerInfo)}function ac(e,t,n,i,r){return oi(),Ca(r),t.flags|=256,Ct(e,t,n,i),t.child}var Il={dehydrated:null,treeContext:null,retryLane:0};function Nl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ed(e,t,n){var i=t.pendingProps,r=J.current,s=!1,o=(t.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(r&2)!==0),l?(s=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(r|=1),$(J,r&1),e===null)return Ll(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=i.children,e=i.fallback,s?(i=t.mode,s=t.child,o={mode:"hidden",children:o},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=uo(o,i,0,null),e=wn(e,i,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Nl(n),t.memoizedState=Il,e):ja(t,o));if(r=e.memoizedState,r!==null&&(l=r.dehydrated,l!==null))return Vm(e,t,o,i,l,r,n);if(s){s=i.fallback,o=t.mode,r=e.child,l=r.sibling;var a={mode:"hidden",children:i.children};return!(o&1)&&t.child!==r?(i=t.child,i.childLanes=0,i.pendingProps=a,t.deletions=null):(i=qe(r,a),i.subtreeFlags=r.subtreeFlags&14680064),l!==null?s=qe(l,s):(s=wn(s,o,n,null),s.flags|=2),s.return=t,i.return=t,i.sibling=s,t.child=i,i=s,s=t.child,o=e.child.memoizedState,o=o===null?Nl(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=e.childLanes&~n,t.memoizedState=Il,i}return s=e.child,e=s.sibling,i=qe(s,{mode:"visible",children:i.children}),!(t.mode&1)&&(i.lanes=n),i.return=t,i.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=i,t.memoizedState=null,i}function ja(e,t){return t=uo({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function jr(e,t,n,i){return i!==null&&Ca(i),li(t,e.child,null,n),e=ja(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Vm(e,t,n,i,r,s,o){if(n)return t.flags&256?(t.flags&=-257,i=Ho(Error(C(422))),jr(e,t,o,i)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(s=i.fallback,r=t.mode,i=uo({mode:"visible",children:i.children},r,0,null),s=wn(s,r,o,null),s.flags|=2,i.return=t,s.return=t,i.sibling=s,t.child=i,t.mode&1&&li(t,e.child,null,o),t.child.memoizedState=Nl(o),t.memoizedState=Il,s);if(!(t.mode&1))return jr(e,t,o,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var l=i.dgst;return i=l,s=Error(C(419)),i=Ho(s,i,void 0),jr(e,t,o,i)}if(l=(o&e.childLanes)!==0,Dt||l){if(i=ht,i!==null){switch(o&-o){case 4:r=2;break;case 16:r=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:r=32;break;case 536870912:r=268435456;break;default:r=0}r=r&(i.suspendedLanes|o)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,Oe(e,r),le(i,e,r,-1))}return Ua(),i=Ho(Error(C(421))),jr(e,t,o,i)}return r.data==="$?"?(t.flags|=128,t.child=e.child,t=e0.bind(null,e),r._reactRetry=t,null):(e=s.treeContext,Vt=Xe(r.nextSibling),Wt=t,X=!0,re=null,e!==null&&(Qt[Xt++]=Me,Qt[Xt++]=Pe,Qt[Xt++]=Cn,Me=e.id,Pe=e.overflow,Cn=t),t=ja(t,i.children),t.flags|=4096,t)}function uc(e,t,n){e.lanes|=t;var i=e.alternate;i!==null&&(i.lanes|=t),Ol(e.return,t,n)}function Vo(e,t,n,i,r){var s=e.memoizedState;s===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r}:(s.isBackwards=t,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=n,s.tailMode=r)}function Td(e,t,n){var i=t.pendingProps,r=i.revealOrder,s=i.tail;if(Ct(e,t,i.children,n),i=J.current,i&2)i=i&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)t:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&uc(e,n,t);else if(e.tag===19)uc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break t;for(;e.sibling===null;){if(e.return===null||e.return===t)break t;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if($(J,i),!(t.mode&1))t.memoizedState=null;else switch(r){case"forwards":for(n=t.child,r=null;n!==null;)e=n.alternate,e!==null&&Fs(e)===null&&(r=n),n=n.sibling;n=r,n===null?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Vo(t,!1,r,n,s);break;case"backwards":for(n=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&Fs(e)===null){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Vo(t,!0,n,null,s);break;case"together":Vo(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function cs(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function De(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Pn|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(C(153));if(t.child!==null){for(e=t.child,n=qe(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=qe(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Wm(e,t,n){switch(t.tag){case 3:Pd(t),oi();break;case 5:nd(t);break;case 1:Ft(t.type)&&Ts(t);break;case 4:Oa(t,t.stateNode.containerInfo);break;case 10:var i=t.type._context,r=t.memoizedProps.value;$(Ds,i._currentValue),i._currentValue=r;break;case 13:if(i=t.memoizedState,i!==null)return i.dehydrated!==null?($(J,J.current&1),t.flags|=128,null):n&t.child.childLanes?Ed(e,t,n):($(J,J.current&1),e=De(e,t,n),e!==null?e.sibling:null);$(J,J.current&1);break;case 19:if(i=(n&t.childLanes)!==0,e.flags&128){if(i)return Td(e,t,n);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),$(J,J.current),i)break;return null;case 22:case 23:return t.lanes=0,Cd(e,t,n)}return De(e,t,n)}var Ld,jl,Od,Dd;Ld=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};jl=function(){};Od=function(e,t,n,i){var r=e.memoizedProps;if(r!==i){e=t.stateNode,xn(ye.current);var s=null;switch(n){case"input":r=ll(e,r),i=ll(e,i),s=[];break;case"select":r=tt({},r,{value:void 0}),i=tt({},i,{value:void 0}),s=[];break;case"textarea":r=cl(e,r),i=cl(e,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(e.onclick=Ps)}hl(n,i);var o;n=null;for(u in r)if(!i.hasOwnProperty(u)&&r.hasOwnProperty(u)&&r[u]!=null)if(u==="style"){var l=r[u];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Xi.hasOwnProperty(u)?s||(s=[]):(s=s||[]).push(u,null));for(u in i){var a=i[u];if(l=r!=null?r[u]:void 0,i.hasOwnProperty(u)&&a!==l&&(a!=null||l!=null))if(u==="style")if(l){for(o in l)!l.hasOwnProperty(o)||a&&a.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in a)a.hasOwnProperty(o)&&l[o]!==a[o]&&(n||(n={}),n[o]=a[o])}else n||(s||(s=[]),s.push(u,n)),n=a;else u==="dangerouslySetInnerHTML"?(a=a?a.__html:void 0,l=l?l.__html:void 0,a!=null&&l!==a&&(s=s||[]).push(u,a)):u==="children"?typeof a!="string"&&typeof a!="number"||(s=s||[]).push(u,""+a):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Xi.hasOwnProperty(u)?(a!=null&&u==="onScroll"&&Y("scroll",e),s||l===a||(s=[])):(s=s||[]).push(u,a))}n&&(s=s||[]).push("style",n);var u=s;(t.updateQueue=u)&&(t.flags|=4)}};Dd=function(e,t,n,i){n!==i&&(t.flags|=4)};function ki(e,t){if(!X)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:i.sibling=null}}function _t(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,i=0;if(t)for(var r=e.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=i,e.childLanes=n,t}function $m(e,t,n){var i=t.pendingProps;switch(ba(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return _t(t),null;case 1:return Ft(t.type)&&Es(),_t(t),null;case 3:return i=t.stateNode,ai(),K(Rt),K(St),za(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Ir(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,re!==null&&(Kl(re),re=null))),jl(e,t),_t(t),null;case 5:Da(t);var r=xn(lr.current);if(n=t.type,e!==null&&t.stateNode!=null)Od(e,t,n,i,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(t.stateNode===null)throw Error(C(166));return _t(t),null}if(e=xn(ye.current),Ir(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[ge]=t,i[sr]=s,e=(t.mode&1)!==0,n){case"dialog":Y("cancel",i),Y("close",i);break;case"iframe":case"object":case"embed":Y("load",i);break;case"video":case"audio":for(r=0;r<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Ld(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":Y("cancel",e),Y("close",e),r=i;break;case"iframe":case"object":case"embed":Y("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=J.current,$(J,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return $a(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Um(e,t){switch(ba(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),K(Rt),K(St),za(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Da(t),null;case 13:if(K(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return K(J),null;case 4:return ai(),null;case 10:return Ea(t.type._context),null;case 22:case 23:return $a(),null;case 24:return null;default:return null}}var Br=!1,kt=!1,Ym=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var cc=!1;function Km(e,t){if(Sl=bs,e=Ah(),ka(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var m=y.memoizedProps,x=y.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?m:ne(t.type,m),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return y=cc,cc=!1,y}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function zd(e){var t=e.alternate;t!==null&&(e.alternate=null,zd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Tm],delete t[Lm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Rd(e){return e.tag===5||e.tag===3||e.tag===4}function fc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Rd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var dt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Fd(e,t,n),n=n.sibling}function Fd(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=dt,r=ie;dt=null,Re(e,t,n),dt=i,ie=r,dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):dt.removeChild(n.stateNode));break;case 18:dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(dt,n.stateNode));break;case 4:i=dt,r=ie,dt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),dt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function hc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ym),t.forEach(function(i){var r=n0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Xm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Va?_n(e,0):Ha|=n),At(e,t)}function Wd(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function e0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Wd(e,n)}function n0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),Wd(e,n)}var $d;$d=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,Wm(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Kh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Fa(null,t,i,e,r,n);var s=Aa();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,La(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&Sa(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=r0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=lc(null,t,i,e,n);break t;case 11:t=sc(null,t,i,e,n);break t;case 14:t=oc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),lc(e,t,i,r,n);case 3:t:{if(Pd(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Zh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=ac(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=ac(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=ed(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return nd(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Md(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Ed(e,t,n);case 4:return Oa(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),sc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,$(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),oc(e,t,i,r,n);case 15:return bd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),qh(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Td(e,t,n);case 22:return Cd(e,t,n)}throw Error(C(156,t.tag))};function Ud(e,t){return yh(e,t)}function i0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new i0(e,t,n,i)}function Ya(e){return e=e.prototype,!(!e||!e.isReactComponent)}function r0(e){if(typeof e=="function")return Ya(e)?1:0;if(e!=null){if(e=e.$$typeof,e===fa)return 11;if(e===ha)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ya(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case ca:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case th:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Jf:o=10;break t;case qf:o=9;break t;case fa:o=11;break t;case ha:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=th,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function s0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Ka(e,t,n,i,r,s,o,l,a){return e=new s0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},La(s),e}function o0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Xd)}catch(e){console.error(e)}}Xd(),Kf.exports=Ut;var f0=Kf.exports,Gd,_c=f0;Gd=_c.createRoot,_c.hydrateRoot;const h0=({data:e})=>Q.jsxs("tr",{children:[Q.jsx("td",{children:e.name}),Q.jsx("td",{children:e.method}),Q.jsx("td",{children:e.status}),Q.jsx("td",{children:e.protocol}),Q.jsx("td",{children:e.duration}),Q.jsx("td",{children:e.originatingService}),Q.jsx("td",{children:e.applicationType})]}),d0=({data:e})=>Q.jsxs("table",{children:[Q.jsxs("tr",{children:[Q.jsx("th",{children:"Name"}),Q.jsx("th",{children:"Method"}),Q.jsx("th",{children:"Status"}),Q.jsx("th",{children:"Protocol"}),Q.jsx("th",{children:"Time"}),Q.jsx("th",{children:"Orig. Svc."}),Q.jsx("th",{children:"Application Type"})]}),Array.from(e).map(([t,n])=>Q.jsx(h0,{data:n},t))]});function p0(e){const t=[];return e.forEach(n=>{console.log("relative start time",n.relativeStartTime),console.log("relative start time",n.duration);const i=[n.relativeStartTime,n.relativeStartTime+n.duration];t.push(i)}),t}function g0(e){const t=[];return e.forEach(n=>{t.push(n.name)}),t}/*! * @kurkle/color v0.3.2 * https://github.com/kurkle/color#readme * (c) 2023 Jukka Kurkela * Released under the MIT License - */function Sr(e){return e+.5|0}const Ve=(e,t,n)=>Math.max(Math.min(e,n),t);function zi(e){return Ve(Sr(e*2.55),0,255)}function tn(e){return Ve(Sr(e*255),0,255)}function Ce(e){return Ve(Sr(e/2.55)/100,0,1)}function kc(e){return Ve(Sr(e*100),0,100)}const Kt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Xl=[..."0123456789ABCDEF"],y0=e=>Xl[e&15],v0=e=>Xl[(e&240)>>4]+Xl[e&15],Wr=e=>(e&240)>>4===(e&15),x0=e=>Wr(e.r)&&Wr(e.g)&&Wr(e.b)&&Wr(e.a);function _0(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&Kt[e[1]]*17,g:255&Kt[e[2]]*17,b:255&Kt[e[3]]*17,a:t===5?Kt[e[4]]*17:255}:(t===7||t===9)&&(n={r:Kt[e[1]]<<4|Kt[e[2]],g:Kt[e[3]]<<4|Kt[e[4]],b:Kt[e[5]]<<4|Kt[e[6]],a:t===9?Kt[e[7]]<<4|Kt[e[8]]:255})),n}const w0=(e,t)=>e<255?t(e):"";function k0(e){var t=x0(e)?y0:v0;return e?"#"+t(e.r)+t(e.g)+t(e.b)+w0(e.a,t):void 0}const S0=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Jd(e,t,n){const i=t*Math.min(n,1-n),r=(s,o=(s+e/30)%12)=>n-i*Math.max(Math.min(o-3,9-o,1),-1);return[r(0),r(8),r(4)]}function b0(e,t,n){const i=(r,s=(r+e/60)%6)=>n-n*t*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function C0(e,t,n){const i=Jd(e,1,.5);let r;for(t+n>1&&(r=1/(t+n),t*=r,n*=r),r=0;r<3;r++)i[r]*=1-t-n,i[r]+=t;return i}function M0(e,t,n,i,r){return e===r?(t-n)/i+(t.5?c/(2-s-o):c/(s+o),a=M0(n,i,r,c,s),a=a*60+.5),[a|0,u||0,l]}function qa(e,t,n,i){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,i)).map(tn)}function tu(e,t,n){return qa(Jd,e,t,n)}function P0(e,t,n){return qa(C0,e,t,n)}function E0(e,t,n){return qa(b0,e,t,n)}function qd(e){return(e%360+360)%360}function T0(e){const t=S0.exec(e);let n=255,i;if(!t)return;t[5]!==i&&(n=t[6]?zi(+t[5]):tn(+t[5]));const r=qd(+t[2]),s=+t[3]/100,o=+t[4]/100;return t[1]==="hwb"?i=P0(r,s,o):t[1]==="hsv"?i=E0(r,s,o):i=tu(r,s,o),{r:i[0],g:i[1],b:i[2],a:n}}function L0(e,t){var n=Ja(e);n[0]=qd(n[0]+t),n=tu(n),e.r=n[0],e.g=n[1],e.b=n[2]}function O0(e){if(!e)return;const t=Ja(e),n=t[0],i=kc(t[1]),r=kc(t[2]);return e.a<255?`hsla(${n}, ${i}%, ${r}%, ${Ce(e.a)})`:`hsl(${n}, ${i}%, ${r}%)`}const Sc={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},bc={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function D0(){const e={},t=Object.keys(bc),n=Object.keys(Sc);let i,r,s,o,l;for(i=0;i>16&255,s>>8&255,s&255]}return e}let $r;function z0(e){$r||($r=D0(),$r.transparent=[0,0,0,0]);const t=$r[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const R0=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function F0(e){const t=R0.exec(e);let n=255,i,r,s;if(t){if(t[7]!==i){const o=+t[7];n=t[8]?zi(o):Ve(o*255,0,255)}return i=+t[1],r=+t[3],s=+t[5],i=255&(t[2]?zi(i):Ve(i,0,255)),r=255&(t[4]?zi(r):Ve(r,0,255)),s=255&(t[6]?zi(s):Ve(s,0,255)),{r:i,g:r,b:s,a:n}}}function A0(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Ce(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Uo=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,An=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function I0(e,t,n){const i=An(Ce(e.r)),r=An(Ce(e.g)),s=An(Ce(e.b));return{r:tn(Uo(i+n*(An(Ce(t.r))-i))),g:tn(Uo(r+n*(An(Ce(t.g))-r))),b:tn(Uo(s+n*(An(Ce(t.b))-s))),a:e.a+n*(t.a-e.a)}}function Ur(e,t,n){if(e){let i=Ja(e);i[t]=Math.max(0,Math.min(i[t]+i[t]*n,t===0?360:1)),i=tu(i),e.r=i[0],e.g=i[1],e.b=i[2]}}function tp(e,t){return e&&Object.assign(t||{},e)}function Cc(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=tn(e[3]))):(t=tp(e,{r:0,g:0,b:0,a:1}),t.a=tn(t.a)),t}function N0(e){return e.charAt(0)==="r"?F0(e):T0(e)}class hr{constructor(t){if(t instanceof hr)return t;const n=typeof t;let i;n==="object"?i=Cc(t):n==="string"&&(i=_0(t)||z0(t)||N0(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=tp(this._rgb);return t&&(t.a=Ce(t.a)),t}set rgb(t){this._rgb=Cc(t)}rgbString(){return this._valid?A0(this._rgb):void 0}hexString(){return this._valid?k0(this._rgb):void 0}hslString(){return this._valid?O0(this._rgb):void 0}mix(t,n){if(t){const i=this.rgb,r=t.rgb;let s;const o=n===s?.5:n,l=2*o-1,a=i.a-r.a,u=((l*a===-1?l:(l+a)/(1+l*a))+1)/2;s=1-u,i.r=255&u*i.r+s*r.r+.5,i.g=255&u*i.g+s*r.g+.5,i.b=255&u*i.b+s*r.b+.5,i.a=o*i.a+(1-o)*r.a,this.rgb=i}return this}interpolate(t,n){return t&&(this._rgb=I0(this._rgb,t._rgb,n)),this}clone(){return new hr(this.rgb)}alpha(t){return this._rgb.a=tn(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=Sr(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Ur(this._rgb,2,t),this}darken(t){return Ur(this._rgb,2,-t),this}saturate(t){return Ur(this._rgb,1,t),this}desaturate(t){return Ur(this._rgb,1,-t),this}rotate(t){return L0(this._rgb,t),this}}/*! + */function Sr(e){return e+.5|0}const Ve=(e,t,n)=>Math.max(Math.min(e,n),t);function zi(e){return Ve(Sr(e*2.55),0,255)}function tn(e){return Ve(Sr(e*255),0,255)}function Ce(e){return Ve(Sr(e/2.55)/100,0,1)}function wc(e){return Ve(Sr(e*100),0,100)}const Kt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ql=[..."0123456789ABCDEF"],m0=e=>Ql[e&15],y0=e=>Ql[(e&240)>>4]+Ql[e&15],Wr=e=>(e&240)>>4===(e&15),v0=e=>Wr(e.r)&&Wr(e.g)&&Wr(e.b)&&Wr(e.a);function x0(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&Kt[e[1]]*17,g:255&Kt[e[2]]*17,b:255&Kt[e[3]]*17,a:t===5?Kt[e[4]]*17:255}:(t===7||t===9)&&(n={r:Kt[e[1]]<<4|Kt[e[2]],g:Kt[e[3]]<<4|Kt[e[4]],b:Kt[e[5]]<<4|Kt[e[6]],a:t===9?Kt[e[7]]<<4|Kt[e[8]]:255})),n}const _0=(e,t)=>e<255?t(e):"";function w0(e){var t=v0(e)?m0:y0;return e?"#"+t(e.r)+t(e.g)+t(e.b)+_0(e.a,t):void 0}const k0=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Zd(e,t,n){const i=t*Math.min(n,1-n),r=(s,o=(s+e/30)%12)=>n-i*Math.max(Math.min(o-3,9-o,1),-1);return[r(0),r(8),r(4)]}function S0(e,t,n){const i=(r,s=(r+e/60)%6)=>n-n*t*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function b0(e,t,n){const i=Zd(e,1,.5);let r;for(t+n>1&&(r=1/(t+n),t*=r,n*=r),r=0;r<3;r++)i[r]*=1-t-n,i[r]+=t;return i}function C0(e,t,n,i,r){return e===r?(t-n)/i+(t.5?c/(2-s-o):c/(s+o),a=C0(n,i,r,c,s),a=a*60+.5),[a|0,u||0,l]}function Ja(e,t,n,i){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,i)).map(tn)}function qa(e,t,n){return Ja(Zd,e,t,n)}function M0(e,t,n){return Ja(b0,e,t,n)}function P0(e,t,n){return Ja(S0,e,t,n)}function Jd(e){return(e%360+360)%360}function E0(e){const t=k0.exec(e);let n=255,i;if(!t)return;t[5]!==i&&(n=t[6]?zi(+t[5]):tn(+t[5]));const r=Jd(+t[2]),s=+t[3]/100,o=+t[4]/100;return t[1]==="hwb"?i=M0(r,s,o):t[1]==="hsv"?i=P0(r,s,o):i=qa(r,s,o),{r:i[0],g:i[1],b:i[2],a:n}}function T0(e,t){var n=Za(e);n[0]=Jd(n[0]+t),n=qa(n),e.r=n[0],e.g=n[1],e.b=n[2]}function L0(e){if(!e)return;const t=Za(e),n=t[0],i=wc(t[1]),r=wc(t[2]);return e.a<255?`hsla(${n}, ${i}%, ${r}%, ${Ce(e.a)})`:`hsl(${n}, ${i}%, ${r}%)`}const kc={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Sc={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function O0(){const e={},t=Object.keys(Sc),n=Object.keys(kc);let i,r,s,o,l;for(i=0;i>16&255,s>>8&255,s&255]}return e}let $r;function D0(e){$r||($r=O0(),$r.transparent=[0,0,0,0]);const t=$r[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const z0=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function R0(e){const t=z0.exec(e);let n=255,i,r,s;if(t){if(t[7]!==i){const o=+t[7];n=t[8]?zi(o):Ve(o*255,0,255)}return i=+t[1],r=+t[3],s=+t[5],i=255&(t[2]?zi(i):Ve(i,0,255)),r=255&(t[4]?zi(r):Ve(r,0,255)),s=255&(t[6]?zi(s):Ve(s,0,255)),{r:i,g:r,b:s,a:n}}}function F0(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Ce(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Uo=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,An=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function A0(e,t,n){const i=An(Ce(e.r)),r=An(Ce(e.g)),s=An(Ce(e.b));return{r:tn(Uo(i+n*(An(Ce(t.r))-i))),g:tn(Uo(r+n*(An(Ce(t.g))-r))),b:tn(Uo(s+n*(An(Ce(t.b))-s))),a:e.a+n*(t.a-e.a)}}function Ur(e,t,n){if(e){let i=Za(e);i[t]=Math.max(0,Math.min(i[t]+i[t]*n,t===0?360:1)),i=qa(i),e.r=i[0],e.g=i[1],e.b=i[2]}}function qd(e,t){return e&&Object.assign(t||{},e)}function bc(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=tn(e[3]))):(t=qd(e,{r:0,g:0,b:0,a:1}),t.a=tn(t.a)),t}function I0(e){return e.charAt(0)==="r"?R0(e):E0(e)}class hr{constructor(t){if(t instanceof hr)return t;const n=typeof t;let i;n==="object"?i=bc(t):n==="string"&&(i=x0(t)||D0(t)||I0(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qd(this._rgb);return t&&(t.a=Ce(t.a)),t}set rgb(t){this._rgb=bc(t)}rgbString(){return this._valid?F0(this._rgb):void 0}hexString(){return this._valid?w0(this._rgb):void 0}hslString(){return this._valid?L0(this._rgb):void 0}mix(t,n){if(t){const i=this.rgb,r=t.rgb;let s;const o=n===s?.5:n,l=2*o-1,a=i.a-r.a,u=((l*a===-1?l:(l+a)/(1+l*a))+1)/2;s=1-u,i.r=255&u*i.r+s*r.r+.5,i.g=255&u*i.g+s*r.g+.5,i.b=255&u*i.b+s*r.b+.5,i.a=o*i.a+(1-o)*r.a,this.rgb=i}return this}interpolate(t,n){return t&&(this._rgb=A0(this._rgb,t._rgb,n)),this}clone(){return new hr(this.rgb)}alpha(t){return this._rgb.a=tn(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=Sr(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Ur(this._rgb,2,t),this}darken(t){return Ur(this._rgb,2,-t),this}saturate(t){return Ur(this._rgb,1,t),this}desaturate(t){return Ur(this._rgb,1,-t),this}rotate(t){return T0(this._rgb,t),this}}/*! * Chart.js v4.3.0 * https://www.chartjs.org * (c) 2023 Chart.js Contributors * Released under the MIT License - */function _e(){}const j0=(()=>{let e=0;return()=>e++})();function H(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function I(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ht(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ht(e)?e:t}function N(e,t){return typeof e>"u"?t:e}const B0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function W(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function j(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function W0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function $0(e){const t=W0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Mc[t]||(Mc[t]=$0(t)))(e)}function eu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const pr=e=>typeof e<"u",sn=e=>typeof e=="function",Pc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function U0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Us=Number.POSITIVE_INFINITY,Y0=yt/180,zt=yt/2,cn=yt/4,Ec=yt*2/3,We=Math.log10,en=Math.sign;function ps(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ys(e){return!isNaN(parseFloat(e))&&isFinite(e)}function Q0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function np(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function iu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Gl=(e,t,n,i)=>iu(e,n,i?r=>{const s=e[r][t];return se[r][t]iu(e,n,i=>e[i][t]>=n);function ty(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+eu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Oc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(ip.forEach(s=>{delete e[s]}),delete e._chartjs)}function rp(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const sp=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function op(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,sp.call(window,()=>{i=!1,e.apply(t,n)}))}}function ny(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const ru=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,iy=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Yr=e=>e===0||e===1,Dc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),zc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Yr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Yr(e)?e:Dc(e,.075,.3),easeOutElastic:e=>Yr(e)?e:zc(e,.075,.3),easeInOutElastic(e){return Yr(e)?e:e<.5?.5*Dc(e*2,.1125,.45):.5+.5*zc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function lp(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Rc(e){return lp(e)?e:new hr(e)}function Yo(e){return lp(e)?e:new hr(e).saturate(.5).darken(.1).hexString()}const ry=["x","y","borderWidth","radius","tension"],sy=["color","borderColor","backgroundColor"];function oy(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:sy},numbers:{type:"number",properties:ry}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function ly(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fc=new Map;function ay(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Fc.get(n);return i||(i=new Intl.NumberFormat(e,t),Fc.set(n,i)),i}function su(e,t,n){return ay(t,n).format(e)}const ap={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=uy(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),su(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?ap.numeric.call(this,e,t,n):""}};function uy(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var go={formatters:ap};function cy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:go.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Zl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Yo(r.backgroundColor),this.hoverBorderColor=(i,r)=>Yo(r.borderColor),this.hoverColor=(i,r)=>Yo(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Ko(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Ko(Zl,t,n)}override(t,n){return Ko(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return I(a)?Object.assign({},u,a):N(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new fy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[oy,ly,cy]);function hy(e){return!e||H(e.size)||H(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ks(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function dy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,py(e,s),a=0;a+e||0;function cp(e,t){const n={},i=I(t),r=i?Object.keys(t):t,s=I(e)?i?o=>N(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=_y(s(o));return n}function fp(e){return cp(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return cp(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=fp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ct(e,t){e=e||{},t=t||nt.font;let n=N(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=N(e.style,t.style);i&&!(""+i).match(vy)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:N(e.family,t.family),lineHeight:xy(N(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:N(e.weight,t.weight),string:""};return r.string=hy(r),r}function Kr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function au(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=gp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>au([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return dp(l,a,()=>Ty(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return jc(l).includes(a)},ownKeys(l){return jc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:hp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return dp(s,o,()=>Sy(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function hp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const ky=(e,t)=>e?e+eu(t):t,uu=(e,t)=>I(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function dp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function Sy(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=by(t,l,e,n)),G(l)&&l.length&&(l=Cy(t,l,e,o.isIndexable)),uu(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function by(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),uu(e,a)&&(a=cu(r._scopes,r,e,a)),a}function Cy(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(I(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=cu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function pp(e,t,n){return sn(e)?e(t,n):e}const My=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function Py(e,t,n,i,r){for(const s of t){const o=My(n,s);if(o){e.add(o);const l=pp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function cu(e,t,n,i){const r=t._rootScopes,s=pp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Nc(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Nc(l,o,s,a,i),a===null)?!1:au(Array.from(l),[""],r,s,()=>Ey(t,n,i))}function Nc(e,t,n,i,r){for(;n;)n=Py(e,t,n,i,r);return n}function Ey(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&I(n)?n:r||{}}function Ty(e,t,n,i){let r;for(const s of t)if(r=gp(ky(s,e),n),typeof r<"u")return uu(e,r)?cu(n,i,e,r):r}function gp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function jc(e){let t=e._keys;return t||(t=e._keys=Ly(e._scopes)),t}function Ly(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function mp(){return typeof window<"u"&&typeof document<"u"}function fu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Qs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const mo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Oy(e,t){return mo(e).getPropertyValue(t)}const Dy=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Dy[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const zy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function Ry(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(zy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=mo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=Ry(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:y}=t;return s&&(d-=o.width+l.width,y-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/y*n.height/i)}}function Fy(e,t,n){let i,r;if(t===void 0||n===void 0){const s=fu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=mo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Qs(l.maxWidth,s,"clientWidth"),r=Qs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Us,maxHeight:r||Us}}const Qr=e=>Math.round(e*10)/10;function Ay(e,t,n,i){const r=mo(e),s=Sn(r,"margin"),o=Qs(r.maxWidth,e,"clientWidth")||Us,l=Qs(r.maxHeight,e,"clientHeight")||Us,a=Fy(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Qr(Math.min(u,o,a.maxWidth)),c=Qr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Qr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Qr(Math.floor(c*i))),{width:u,height:c}}function Bc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Iy=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Hc(e,t){const n=Oy(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const Ny=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},jy=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?Ny(t,n):jy()}function yp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function vp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! + */function _e(){}const N0=(()=>{let e=0;return()=>e++})();function H(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function I(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ft(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ft(e)?e:t}function N(e,t){return typeof e>"u"?t:e}const j0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function W(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function j(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function V0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function W0(e){const t=V0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Cc[t]||(Cc[t]=W0(t)))(e)}function tu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const pr=e=>typeof e<"u",sn=e=>typeof e=="function",Mc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function $0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Us=Number.POSITIVE_INFINITY,U0=yt/180,zt=yt/2,cn=yt/4,Pc=yt*2/3,We=Math.log10,en=Math.sign;function ps(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ys(e){return!isNaN(parseFloat(e))&&isFinite(e)}function K0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function ep(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function nu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Xl=(e,t,n,i)=>nu(e,n,i?r=>{const s=e[r][t];return se[r][t]nu(e,n,i=>e[i][t]>=n);function q0(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+tu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Lc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(np.forEach(s=>{delete e[s]}),delete e._chartjs)}function ip(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const rp=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function sp(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,rp.call(window,()=>{i=!1,e.apply(t,n)}))}}function ey(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const iu=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,ny=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Yr=e=>e===0||e===1,Oc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),Dc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Yr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Yr(e)?e:Oc(e,.075,.3),easeOutElastic:e=>Yr(e)?e:Dc(e,.075,.3),easeInOutElastic(e){return Yr(e)?e:e<.5?.5*Oc(e*2,.1125,.45):.5+.5*Dc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function op(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function zc(e){return op(e)?e:new hr(e)}function Yo(e){return op(e)?e:new hr(e).saturate(.5).darken(.1).hexString()}const iy=["x","y","borderWidth","radius","tension"],ry=["color","borderColor","backgroundColor"];function sy(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:ry},numbers:{type:"number",properties:iy}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function oy(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Rc=new Map;function ly(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Rc.get(n);return i||(i=new Intl.NumberFormat(e,t),Rc.set(n,i)),i}function ru(e,t,n){return ly(t,n).format(e)}const lp={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=ay(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),ru(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?lp.numeric.call(this,e,t,n):""}};function ay(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var go={formatters:lp};function uy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:go.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Gl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Yo(r.backgroundColor),this.hoverBorderColor=(i,r)=>Yo(r.borderColor),this.hoverColor=(i,r)=>Yo(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Ko(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Ko(Gl,t,n)}override(t,n){return Ko(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return I(a)?Object.assign({},u,a):N(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new cy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[sy,oy,uy]);function fy(e){return!e||H(e.size)||H(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ks(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function hy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,dy(e,s),a=0;a+e||0;function up(e,t){const n={},i=I(t),r=i?Object.keys(t):t,s=I(e)?i?o=>N(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=xy(s(o));return n}function cp(e){return up(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return up(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=cp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ut(e,t){e=e||{},t=t||nt.font;let n=N(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=N(e.style,t.style);i&&!(""+i).match(yy)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:N(e.family,t.family),lineHeight:vy(N(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:N(e.weight,t.weight),string:""};return r.string=fy(r),r}function Kr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function lu(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=pp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>lu([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return hp(l,a,()=>Ey(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return Nc(l).includes(a)},ownKeys(l){return Nc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:fp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return hp(s,o,()=>ky(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function fp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const wy=(e,t)=>e?e+tu(t):t,au=(e,t)=>I(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function hp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function ky(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=Sy(t,l,e,n)),G(l)&&l.length&&(l=by(t,l,e,o.isIndexable)),au(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function Sy(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),au(e,a)&&(a=uu(r._scopes,r,e,a)),a}function by(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(I(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=uu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function dp(e,t,n){return sn(e)?e(t,n):e}const Cy=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function My(e,t,n,i,r){for(const s of t){const o=Cy(n,s);if(o){e.add(o);const l=dp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function uu(e,t,n,i){const r=t._rootScopes,s=dp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Ic(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Ic(l,o,s,a,i),a===null)?!1:lu(Array.from(l),[""],r,s,()=>Py(t,n,i))}function Ic(e,t,n,i,r){for(;n;)n=My(e,t,n,i,r);return n}function Py(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&I(n)?n:r||{}}function Ey(e,t,n,i){let r;for(const s of t)if(r=pp(wy(s,e),n),typeof r<"u")return au(e,r)?uu(n,i,e,r):r}function pp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function Nc(e){let t=e._keys;return t||(t=e._keys=Ty(e._scopes)),t}function Ty(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function gp(){return typeof window<"u"&&typeof document<"u"}function cu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Qs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const mo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Ly(e,t){return mo(e).getPropertyValue(t)}const Oy=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Oy[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Dy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function zy(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(Dy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=mo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=zy(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:y}=t;return s&&(d-=o.width+l.width,y-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/y*n.height/i)}}function Ry(e,t,n){let i,r;if(t===void 0||n===void 0){const s=cu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=mo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Qs(l.maxWidth,s,"clientWidth"),r=Qs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Us,maxHeight:r||Us}}const Qr=e=>Math.round(e*10)/10;function Fy(e,t,n,i){const r=mo(e),s=Sn(r,"margin"),o=Qs(r.maxWidth,e,"clientWidth")||Us,l=Qs(r.maxHeight,e,"clientHeight")||Us,a=Ry(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Qr(Math.min(u,o,a.maxWidth)),c=Qr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Qr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Qr(Math.floor(c*i))),{width:u,height:c}}function jc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Ay=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Bc(e,t){const n=Ly(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const Iy=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},Ny=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?Iy(t,n):Ny()}function mp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function yp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! * Chart.js v4.3.0 * https://www.chartjs.org * (c) 2023 Chart.js Contributors * Released under the MIT License - */class By{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,r){const s=n.listeners[r],o=n.duration;s.forEach(l=>l({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=sp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new By;const Vc="transparent",Hy={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Rc(e||Vc),r=i.valid&&Rc(t||Vc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Vy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||Hy[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!I(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=$y(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Wy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Vy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Wy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Kc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Qy(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Zy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Jy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Qc=(e,t)=>t?e:Object.assign({},e),qy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:_p(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Uc(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,y)=>f==="x"?h:f==="r"?y:d,s=n.xAxisID=N(i.xAxisID,Qo(t,"x")),o=n.yAxisID=N(i.yAxisID,Qo(t,"y")),l=n.rAxisID=N(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Oc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(I(n))this._data=Ky(n);else if(i!==n){if(i){Oc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ey(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=Uc(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Kc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):I(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]m||f=0;--h)if(!y()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),m=u.resolveNamedOptions(h,d,y,f);return m.$shared&&(m.$shared=a,s[o]=Object.freeze(Qc(m,a))),m}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new xp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function ev(e){const t=e.iScale,n=tv(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function wp(e,t,n,i){return G(e)?rv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Xc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function ov(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(H(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var gv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function qc(e,t){return e.filter(n=>kp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function mv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=qc(t,"x"),a=qc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function tf(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function Sp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function _v(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!I(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&Sp(o,s.getPadding());const l=Math.max(0,t.outerWidth-tf(o,e,"left","right")),a=Math.max(0,t.outerHeight-tf(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function wv(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function kv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof m.beforeLayout=="function"&&m.beforeLayout()});const c=a.reduce((m,x)=>x.box.options&&x.box.options.display===!1?m:m+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);Sp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),y=vv(a.concat(u),f);Ri(l.fullSize,d,f,y),Ri(a,d,f,y),Ri(u,d,f,y)&&Ri(a,d,f,y),wv(d),ef(l.leftAndTop,d,f,y),d.x+=d.w,d.y+=d.h,ef(l.rightAndBottom,d,f,y),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},j(l.chartArea,m=>{const x=m.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class bp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class Sv extends bp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",bv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},nf=e=>e===null||e==="";function Cv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",nf(r)){const s=Hc(e,"width");s!==void 0&&(e.width=s)}if(nf(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Hc(e,"height");s!==void 0&&(e.height=s)}return e}const Cp=Iy?{passive:!0}:!1;function Mv(e,t,n){e.addEventListener(t,n,Cp)}function Pv(e,t,n){e.canvas.removeEventListener(t,n,Cp)}function Ev(e,t){const n=bv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Lv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let rf=0;function Mp(){const e=window.devicePixelRatio;e!==rf&&(rf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Ov(e,t){mr.size||window.addEventListener("resize",Mp),mr.set(e,t)}function Dv(e){mr.delete(e),mr.size||window.removeEventListener("resize",Mp)}function zv(e,t,n){const i=e.canvas,r=i&&fu(i);if(!r)return;const s=op((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Ov(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Dv(e)}function Rv(e,t,n){const i=e.canvas,r=op(s=>{e.ctx!==null&&n(Ev(s,e))},e);return Mv(i,t,r),r}class Fv extends bp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Cv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];H(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Tv,detach:Lv,resize:zv}[n]||Rv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Pv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Ay(t,n,i,r)}isAttached(t){const n=fu(t);return!!(n&&n.isConnected)}}function Av(e){return!mp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?Sv:Fv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Iv(e,t){const n=e.options.ticks,i=Nv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?Bv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Hv(t,u,s,o/r),u;const c=jv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,H(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function Bv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,sf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,of=(e,t)=>Math.min(t||e,e);function lf(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function Uv(e,t){j(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){W(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=wy(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-af(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=nu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){W(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){W(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=af(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,y=$e(this.labelRotation),m=Math.cos(y),x=Math.sin(y);if(l){const p=i.mirror?0:x*f.width+m*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:m*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,m)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){W(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return J0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],y=l.setContext(this.getContext()),m=y.display?y.width:0,x=m/2,p=function(it){return fn(i,it,m)};let g,v,_,w,k,S,b,T,E,L,R,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=N(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Jv(e){return"id"in e&&"defaults"in e}class qv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):j(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=eu(t);W(i["before"+r],[],i),n[t](i),W(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function e1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&uf(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function cf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function a1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return cf(e,"x",n[0])||cf(e,"y",n[0])}return{}}function u1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Jl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!I(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=ql(o,l,a1(o,e),nt.scales[l.type]),u=o1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Jl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=s1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Pp(e){const t=e.options||(e.options={});t.plugins=N(t.plugins,{}),t.scales=u1(e,t)}function Ep(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function c1(e){return e=e||{},e.data=Ep(e.data),Pp(e),e}const ff=new Map,Tp=new Set;function Jr(e,t){let n=ff.get(e);return n||(n=t(),ff.set(e,n),Tp.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class f1{constructor(t){this._config=c1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Ep(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Pp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Zl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Tp.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Zl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=hf(this._resolverCache,t,r);let a=o;if(d1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=hf(this._resolverCache,t,i);return I(n)?hi(s,n,void 0,r):s}}function hf(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:au(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const h1=e=>I(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function d1(e,t){const{isScriptable:n,isIndexable:i}=hp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||h1(l))||o&&G(l))return!0}return!1}var p1="4.3.0";const g1=["top","bottom","left","right","chartArea"];function df(e,t){return e==="top"||e==="bottom"||g1.indexOf(e)===-1&&t==="x"}function pf(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function gf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),W(n&&n.onComplete,[e],t)}function m1(e){const t=e.chart,n=t.options.animation;W(n&&n.onProgress,[e],t)}function Lp(e){return mp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},mf=e=>{const t=Lp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function y1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function v1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function x1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),yf()}static unregister(...t){de.remove(...t),yf()}constructor(t,n){const i=this.config=new f1(n),r=Lp(t),s=mf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Av(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=j0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new t1,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ny(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",gf),we.listen(this,"progress",m1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return H(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ac(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),W(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};j(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=ql(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),j(s,o=>{const l=o.options,a=l.id,u=ql(a,l),c=N(l.type,o.dtype);(l.position===void 0||df(l.position,u)!==df(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),j(r,(o,l)=>{o||delete i[l]}),j(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(pf("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){j(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;y1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],j(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=x1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&ou(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&lu(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=gv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};j(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){j(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},j(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=U0(t),u=v1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,W(s.onHover,[t,l,this],this),a&&W(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",p1),z(Fe,"getChart",mf),Fe);function yf(){return j(yo.instances,e=>e._plugins.invalidate())}function Op(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function _1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=fp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function w1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||I(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function k1(e){const t=Op(e),n=t.right-t.left,i=t.bottom-t.top,r=_1(e,n/2,i/2),s=w1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Op(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function S1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function b1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=k1(this),l=S1(o.radius)?gr:b1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const vf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},C1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class xf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=W(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ct(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=vf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((y,m)=>{const x=i+n/2+s.measureText(y.text).width;(m===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(m>0?0:1)]=0,d+=c,h++),a[m]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,y=0,m=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=M1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),y+=h+l,m++,h=d=0),a[p]={left:y,top:d,col:m,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ou(t,this),this._draw(),lu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ct(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:y,boxHeight:m,itemHeight:x}=vf(o,f),p=function(k,S,b){if(isNaN(y)||y<=0||isNaN(m)||m<0)return;r.save();const T=N(b.lineWidth,1);if(r.fillStyle=N(b.fillStyle,l),r.lineCap=N(b.lineCap,"butt"),r.lineDashOffset=N(b.lineDashOffset,0),r.lineJoin=N(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=N(b.strokeStyle,l),r.setLineDash(N(b.lineDash,[])),o.usePointStyle){const E={radius:m*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,y/2),R=S+h;up(r,E,L,R,o.pointStyleWidth&&y)}else{const E=S+Math.max((f-m)/2,0),L=a.leftForLtr(k,y),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(st=>st!==0)?gr(r,{x:L,y:E,w:y,h:m,radius:R}):r.rect(L,E,y,m),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},yp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=y+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,R,k),L=iy(T,L+y+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Dp(k,It)}else d.y+=w}),vp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ct(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const y=this.columnSizes.reduce((m,x)=>Math.max(m,x.height),0);c=u+wt(t.align,this.top,this.bottom-y-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(ru(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ct(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function E1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Dp(t,n)),i}function Dp(e,t){const n=e.text?e.text.length+.5:0;return t*n}function T1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var L1={id:"legend",_element:xf,start(e,t,n){const i=e.legend=new xf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class zp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ct(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ct(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:ru(n.align),textBaseline:"middle",translation:[o,l]})}}function O1(e,t){const n=new zp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var D1={id:"title",_element:zp,start(e,t,n){O1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;tl({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=rp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new jy;const Hc="transparent",By={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=zc(e||Hc),r=i.valid&&zc(t||Hc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Hy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||By[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!I(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=Wy(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Vy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Hy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Vy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Yc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Ky(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Gy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Zy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Kc=(e,t)=>t?e:Object.assign({},e),Jy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:xp(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=$c(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,y)=>f==="x"?h:f==="r"?y:d,s=n.xAxisID=N(i.xAxisID,Qo(t,"x")),o=n.yAxisID=N(i.yAxisID,Qo(t,"y")),l=n.rAxisID=N(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Lc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(I(n))this._data=Yy(n);else if(i!==n){if(i){Lc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ty(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=$c(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Yc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):I(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]m||f=0;--h)if(!y()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),m=u.resolveNamedOptions(h,d,y,f);return m.$shared&&(m.$shared=a,s[o]=Object.freeze(Kc(m,a))),m}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new vp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function tv(e){const t=e.iScale,n=qy(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function _p(e,t,n,i){return G(e)?iv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Qc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function sv(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(H(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var pv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function Jc(e,t){return e.filter(n=>wp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function gv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=Jc(t,"x"),a=Jc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function qc(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function kp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function xv(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!I(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&kp(o,s.getPadding());const l=Math.max(0,t.outerWidth-qc(o,e,"left","right")),a=Math.max(0,t.outerHeight-qc(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function _v(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function wv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof m.beforeLayout=="function"&&m.beforeLayout()});const c=a.reduce((m,x)=>x.box.options&&x.box.options.display===!1?m:m+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);kp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),y=yv(a.concat(u),f);Ri(l.fullSize,d,f,y),Ri(a,d,f,y),Ri(u,d,f,y)&&Ri(a,d,f,y),_v(d),tf(l.leftAndTop,d,f,y),d.x+=d.w,d.y+=d.h,tf(l.rightAndBottom,d,f,y),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},j(l.chartArea,m=>{const x=m.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class Sp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class kv extends Sp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",Sv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ef=e=>e===null||e==="";function bv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",ef(r)){const s=Bc(e,"width");s!==void 0&&(e.width=s)}if(ef(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Bc(e,"height");s!==void 0&&(e.height=s)}return e}const bp=Ay?{passive:!0}:!1;function Cv(e,t,n){e.addEventListener(t,n,bp)}function Mv(e,t,n){e.canvas.removeEventListener(t,n,bp)}function Pv(e,t){const n=Sv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Ev(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let nf=0;function Cp(){const e=window.devicePixelRatio;e!==nf&&(nf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Lv(e,t){mr.size||window.addEventListener("resize",Cp),mr.set(e,t)}function Ov(e){mr.delete(e),mr.size||window.removeEventListener("resize",Cp)}function Dv(e,t,n){const i=e.canvas,r=i&&cu(i);if(!r)return;const s=sp((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Lv(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Ov(e)}function zv(e,t,n){const i=e.canvas,r=sp(s=>{e.ctx!==null&&n(Pv(s,e))},e);return Cv(i,t,r),r}class Rv extends Sp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(bv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];H(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Ev,detach:Tv,resize:Dv}[n]||zv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Mv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Fy(t,n,i,r)}isAttached(t){const n=cu(t);return!!(n&&n.isConnected)}}function Fv(e){return!gp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?kv:Rv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Av(e,t){const n=e.options.ticks,i=Iv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?jv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Bv(t,u,s,o/r),u;const c=Nv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,H(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function jv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,rf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,sf=(e,t)=>Math.min(t||e,e);function of(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function $v(e,t){j(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){W(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_y(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-lf(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=eu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){W(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){W(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=lf(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,y=$e(this.labelRotation),m=Math.cos(y),x=Math.sin(y);if(l){const p=i.mirror?0:x*f.width+m*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:m*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,m)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){W(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Z0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],y=l.setContext(this.getContext()),m=y.display?y.width:0,x=m/2,p=function(it){return fn(i,it,m)};let g,v,_,w,k,S,b,T,E,L,R,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=N(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Zv(e){return"id"in e&&"defaults"in e}class Jv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):j(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=tu(t);W(i["before"+r],[],i),n[t](i),W(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function t1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&af(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function uf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function l1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return uf(e,"x",n[0])||uf(e,"y",n[0])}return{}}function a1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Zl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!I(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=Jl(o,l,l1(o,e),nt.scales[l.type]),u=s1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Zl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=r1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Mp(e){const t=e.options||(e.options={});t.plugins=N(t.plugins,{}),t.scales=a1(e,t)}function Pp(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function u1(e){return e=e||{},e.data=Pp(e.data),Mp(e),e}const cf=new Map,Ep=new Set;function Jr(e,t){let n=cf.get(e);return n||(n=t(),cf.set(e,n),Ep.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class c1{constructor(t){this._config=u1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Pp(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Mp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Gl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Ep.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Gl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=ff(this._resolverCache,t,r);let a=o;if(h1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=ff(this._resolverCache,t,i);return I(n)?hi(s,n,void 0,r):s}}function ff(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:lu(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const f1=e=>I(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function h1(e,t){const{isScriptable:n,isIndexable:i}=fp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||f1(l))||o&&G(l))return!0}return!1}var d1="4.3.0";const p1=["top","bottom","left","right","chartArea"];function hf(e,t){return e==="top"||e==="bottom"||p1.indexOf(e)===-1&&t==="x"}function df(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function pf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),W(n&&n.onComplete,[e],t)}function g1(e){const t=e.chart,n=t.options.animation;W(n&&n.onProgress,[e],t)}function Tp(e){return gp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},gf=e=>{const t=Tp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function m1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function y1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function v1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),mf()}static unregister(...t){de.remove(...t),mf()}constructor(t,n){const i=this.config=new c1(n),r=Tp(t),s=gf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Fv(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=N0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new qv,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ey(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",pf),we.listen(this,"progress",g1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return H(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():jc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Fc(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,jc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),W(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};j(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=Jl(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),j(s,o=>{const l=o.options,a=l.id,u=Jl(a,l),c=N(l.type,o.dtype);(l.position===void 0||hf(l.position,u)!==hf(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),j(r,(o,l)=>{o||delete i[l]}),j(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(df("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){j(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Mc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;m1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],j(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=v1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&su(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&ou(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=pv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};j(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){j(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},j(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=$0(t),u=y1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,W(s.onHover,[t,l,this],this),a&&W(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",d1),z(Fe,"getChart",gf),Fe);function mf(){return j(yo.instances,e=>e._plugins.invalidate())}function Lp(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function x1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=cp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function _1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||I(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function w1(e){const t=Lp(e),n=t.right-t.left,i=t.bottom-t.top,r=x1(e,n/2,i/2),s=_1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Lp(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function k1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function S1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=w1(this),l=k1(o.radius)?gr:S1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const yf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},b1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class vf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=W(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ut(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=yf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((y,m)=>{const x=i+n/2+s.measureText(y.text).width;(m===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(m>0?0:1)]=0,d+=c,h++),a[m]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,y=0,m=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=C1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),y+=h+l,m++,h=d=0),a[p]={left:y,top:d,col:m,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;su(t,this),this._draw(),ou(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ut(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:y,boxHeight:m,itemHeight:x}=yf(o,f),p=function(k,S,b){if(isNaN(y)||y<=0||isNaN(m)||m<0)return;r.save();const T=N(b.lineWidth,1);if(r.fillStyle=N(b.fillStyle,l),r.lineCap=N(b.lineCap,"butt"),r.lineDashOffset=N(b.lineDashOffset,0),r.lineJoin=N(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=N(b.strokeStyle,l),r.setLineDash(N(b.lineDash,[])),o.usePointStyle){const E={radius:m*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,y/2),R=S+h;ap(r,E,L,R,o.pointStyleWidth&&y)}else{const E=S+Math.max((f-m)/2,0),L=a.leftForLtr(k,y),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(st=>st!==0)?gr(r,{x:L,y:E,w:y,h:m,radius:R}):r.rect(L,E,y,m),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},mp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=y+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,R,k),L=ny(T,L+y+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Op(k,It)}else d.y+=w}),yp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ut(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const y=this.columnSizes.reduce((m,x)=>Math.max(m,x.height),0);c=u+wt(t.align,this.top,this.bottom-y-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(iu(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ut(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function P1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Op(t,n)),i}function Op(e,t){const n=e.text?e.text.length+.5:0;return t*n}function E1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var T1={id:"legend",_element:vf,start(e,t,n){const i=e.legend=new vf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class Dp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ut(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ut(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:iu(n.align),textBaseline:"middle",translation:[o,l]})}}function L1(e,t){const n=new Dp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var O1={id:"title",_element:Dp,start(e,t,n){L1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;t-1?e.split(` -`):e}function z1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function _f(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ct(t.bodyFont),u=ct(t.titleFont),c=ct(t.footerFont),f=s.length,h=r.length,d=i.length,y=bt(t.padding);let m=y.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(m+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;m+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(m+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,j(e.title,v),n.font=a.string,j(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,j(i,_=>{j(_.before,v),j(_.lines,v),j(_.after,v)}),g=0,n.font=c.string,j(e.footer,v),n.restore(),x+=y.width,{width:x,height:m}}function R1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function F1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function A1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),F1(u,e,t,n)&&(u="center"),u}function wf(e,t,n){const i=n.yAlign||t.yAlign||R1(e,n);return{xAlign:n.xAlign||t.xAlign||A1(e,t,n,i),yAlign:i}}function I1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function N1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function kf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let y=I1(t,l);const m=N1(t,a,u);return a==="center"?l==="left"?y+=u:l==="right"&&(y-=u):l==="left"?y-=Math.max(c,h)+r:l==="right"&&(y+=Math.max(f,d)+r),{x:se(y,0,i.width-t.width),y:se(m,0,i.height-t.height)}}function qr(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function Sf(e){return fe([],ke(e))}function j1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function bf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Rp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Rp[t].call(n,i):r}class ta extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new xp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=j1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return Sf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return j(t,s=>{const o={before:[],lines:[],after:[]},l=bf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return Sf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),j(l,c=>{const f=bf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=_f(this,i),u=Object.assign({},l,a),c=wf(this.chart,i,u),f=kf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:y,height:m}=n;let x,p,g,v,_,w;return s==="center"?(_=d+m/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+y,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+y-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+m,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ct(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:m,y,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:y+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(m,y,u,a),t.strokeRect(m,y,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,y+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ct(i.bodyFont);let h=f.lineHeight,d=0;const y=ii(i.rtl,this.x,this.width),m=function(b){n.fillText(b,y.x(t.x+d),t.y+h/2),t.y+=h+s},x=y.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,j(this.beforeBody,m),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=_f(this,t),a=Object.assign({},o,this._size),u=wf(n,t,a),c=kf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),yp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),vp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ta,"positioners",Fi);var B1={id:"tooltip",_element:ta,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ta({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Rp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const H1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function V1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return H1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const W1=(e,t)=>e===null?null:se(Math.round(e),0,t);function Cf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ea,"id","category"),z(ea,"defaults",{ticks:{callback:Cf}});function $1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,y=c-1,{min:m,max:x}=t,p=!H(o),g=!H(l),v=!H(u),_=(x-m)/(f+1);let w=Tc((x-m)/y/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:m},{value:x}];T=Math.ceil(x/w)-Math.floor(m/w),T>y&&(w=Tc(T*w/y/d)*d),H(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(m/w)*w,b=Math.ceil(x/w)*w):(S=m,b=x),p&&g&&s&&Q0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Lc(w),Lc(S));k=Math.pow(10,H(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Mf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Mf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return H(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=$1(r,s);return t.bounds==="ticks"&&np(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return su(t,this.chart.options.locale,this.options.ticks.format)}}class na extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?t:0,this.max=ht(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(na,"id","linear"),z(na,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Pf(e){return e/Math.pow(10,yr(e))===1}function Ef(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function U1(e,t){const n=t-e;let i=yr(n);for(;Ef(e,t,i)>10;)i++;for(;Ef(e,t,i)<10;)i--;return Math.min(i,yr(e))}function Y1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=U1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Pf(d),significand:f}),i}class Tf extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ht(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?Math.max(0,t):null,this.max=ht(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ht(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=Y1(n,this);return t.bounds==="ticks"&&np(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":su(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Tf,"id","logarithmic"),z(Tf,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function ia(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return N(t.font&&t.font.size,nt.font.size)+n.height}return 0}function K1(e,t,n){return n=G(n)?n:[n],{w:dy(e,t.string,n),h:n.length*t.lineHeight}}function Lf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function Q1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function G1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(nu(pe(a.angle+zt))),c=ex(a.y,l.h,u),f=q1(u),h=tx(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function Z1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function J1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:ia(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function nx(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!H(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(y=>y!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function ix(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));nx(n,o,s);const l=ct(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Fp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=W(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?Q1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(H(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(H(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),y=s.setContext(h);rx(this,d,a,o,y)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ct(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function ox(e,t){return e-t}function Of(e,t){if(H(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ht(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Df(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function ax(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ux(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function Rf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Df(s.minUnit,n,i,this._getLabelCapacity(n)),l=N(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const y=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hm-x).map(m=>+m)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return W(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Gl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Gl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Ff extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Ap;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function fx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ap;const n={labels:[],datasets:[]};return Ip(n,e.labels),Np(n,e.datasets,t),n}function hx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=lt.useRef(null),y=lt.useRef(),m=()=>{d.current&&(y.current=new yo(d.current,{type:o,data:fx(l,s),options:a&&{...a},plugins:u}),Af(t,y.current))},x=()=>{Af(t,null),y.current&&(y.current.destroy(),y.current=null)};return lt.useEffect(()=>{!r&&y.current&&a&&cx(y.current,a)},[r,a]),lt.useEffect(()=>{!r&&y.current&&Ip(y.current.config.data,l.labels)},[r,l.labels]),lt.useEffect(()=>{!r&&y.current&&l.datasets&&Np(y.current.config.data,l.datasets,s)},[r,l.datasets]),lt.useEffect(()=>{y.current&&(r?(x(),setTimeout(m)):y.current.update(f))},[r,a,l.labels,l.datasets,f]),lt.useEffect(()=>{y.current&&(x(),setTimeout(m))},[o]),lt.useEffect(()=>(m(),()=>x()),[]),Yf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const dx=lt.forwardRef(hx);function px(e,t){return yo.register(t),lt.forwardRef((n,i)=>Yf.createElement(dx,Object.assign({},n,{ref:i,type:e})))}const gx=px("bar",gs);yo.register(ea,na,vs,D1,B1,L1);const mx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},yx=({data:e})=>{const t=m0(e),n=g0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return Q.jsx(gx,{options:mx,data:i})};function vx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r}=t;n.startsWith("/?key=")||e(s=>{const o=[...s],l=`${i}, ${n}, ${r}`;return console.log(l),o.push(t),o})}function xx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r,startTime:s,endTime:o,applicationType:l,originatingService:a,status:u,protocol:c}=t;if(!n.startsWith("/?key=")&&n!=="/"&&!(n.includes("GET")||n.includes("PATCH")||n.includes("PUT")||n.includes("DELETE")||n.includes("POST"))){if(n.startsWith("/_next/static/")){const f=n.lastIndexOf("/");n=n.slice(f+1)}e(f=>{const h=new Map([...f.entries()]),d=`${i}, ${n}, ${r}`;if(h.has(d)){const m=h.get(d);let x=!1;sm.trueEndTime&&(m.trueEndTime=o,x=!0),m.status===void 0&&"status"in t&&(m.status=t.status),m.protocol===void 0&&"protocol"in t&&(m.protocol=t.protocol),x&&(m.duration=m.trueEndTime-m.trueStartTime)}else{const m={traceId:r,applicationType:l,originatingService:a,method:i,status:u,protocol:c,relativeStartTime:0,trueStartTime:s,trueEndTime:o,duration:o-s,name:n};h.set(d,m)}return _x(h)})}}function _x(e){const t=Array.from(e.entries());t.sort((r,s)=>r[1].trueStartTime-s[1].trueStartTime);const n=new Map(t),i=n.entries().next().value;return n.forEach(r=>{r.relativeStartTime=r.trueStartTime-i[1].trueStartTime}),n}function wx(){const[e,t]=lt.useState([]),[n,i]=lt.useState(new Map);return lt.useState(""),lt.useEffect(()=>{chrome.runtime.onMessage.addListener(r=>{console.log(`chromeApiRequestData: ${r.type}, startTime ${r.startTime}`,r)})},[]),lt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",s=>{try{vx(t,JSON.parse(s.data)),xx(i,JSON.parse(s.data))}catch(o){console.log("failed",o)}})},[]),lt.useEffect(()=>{console.log(n)},[n]),Q.jsxs(Q.Fragment,{children:[Q.jsx(yx,{data:e}),Q.jsx(p0,{data:e})]})}const kx=document.getElementById("root"),Sx=Zd(kx);console.log("panel/index.jsx reached");Sx.render(Q.jsx(wx,{})); +`):e}function D1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function xf(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ut(t.bodyFont),u=ut(t.titleFont),c=ut(t.footerFont),f=s.length,h=r.length,d=i.length,y=bt(t.padding);let m=y.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(m+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;m+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(m+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,j(e.title,v),n.font=a.string,j(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,j(i,_=>{j(_.before,v),j(_.lines,v),j(_.after,v)}),g=0,n.font=c.string,j(e.footer,v),n.restore(),x+=y.width,{width:x,height:m}}function z1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function R1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function F1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),R1(u,e,t,n)&&(u="center"),u}function _f(e,t,n){const i=n.yAlign||t.yAlign||z1(e,n);return{xAlign:n.xAlign||t.xAlign||F1(e,t,n,i),yAlign:i}}function A1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function I1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function wf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let y=A1(t,l);const m=I1(t,a,u);return a==="center"?l==="left"?y+=u:l==="right"&&(y-=u):l==="left"?y-=Math.max(c,h)+r:l==="right"&&(y+=Math.max(f,d)+r),{x:se(y,0,i.width-t.width),y:se(m,0,i.height-t.height)}}function qr(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function kf(e){return fe([],ke(e))}function N1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function Sf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const zp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?zp[t].call(n,i):r}class ql extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new vp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=N1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return kf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return j(t,s=>{const o={before:[],lines:[],after:[]},l=Sf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return kf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),j(l,c=>{const f=Sf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=xf(this,i),u=Object.assign({},l,a),c=_f(this.chart,i,u),f=wf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:y,height:m}=n;let x,p,g,v,_,w;return s==="center"?(_=d+m/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+y,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+y-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+m,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ut(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:m,y,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:y+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(m,y,u,a),t.strokeRect(m,y,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,y+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ut(i.bodyFont);let h=f.lineHeight,d=0;const y=ii(i.rtl,this.x,this.width),m=function(b){n.fillText(b,y.x(t.x+d),t.y+h/2),t.y+=h+s},x=y.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,j(this.beforeBody,m),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=xf(this,t),a=Object.assign({},o,this._size),u=_f(n,t,a),c=wf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),mp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),yp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ql,"positioners",Fi);var j1={id:"tooltip",_element:ql,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ql({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:zp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const B1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function H1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return B1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const V1=(e,t)=>e===null?null:se(Math.round(e),0,t);function bf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ta,"id","category"),z(ta,"defaults",{ticks:{callback:bf}});function W1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,y=c-1,{min:m,max:x}=t,p=!H(o),g=!H(l),v=!H(u),_=(x-m)/(f+1);let w=Ec((x-m)/y/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:m},{value:x}];T=Math.ceil(x/w)-Math.floor(m/w),T>y&&(w=Ec(T*w/y/d)*d),H(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(m/w)*w,b=Math.ceil(x/w)*w):(S=m,b=x),p&&g&&s&&K0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Tc(w),Tc(S));k=Math.pow(10,H(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Cf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Cf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return H(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=W1(r,s);return t.bounds==="ticks"&&ep(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return ru(t,this.chart.options.locale,this.options.ticks.format)}}class ea extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?t:0,this.max=ft(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(ea,"id","linear"),z(ea,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Mf(e){return e/Math.pow(10,yr(e))===1}function Pf(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function $1(e,t){const n=t-e;let i=yr(n);for(;Pf(e,t,i)>10;)i++;for(;Pf(e,t,i)<10;)i--;return Math.min(i,yr(e))}function U1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=$1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Mf(d),significand:f}),i}class Ef extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ft(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?Math.max(0,t):null,this.max=ft(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ft(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=U1(n,this);return t.bounds==="ticks"&&ep(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":ru(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Ef,"id","logarithmic"),z(Ef,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function na(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return N(t.font&&t.font.size,nt.font.size)+n.height}return 0}function Y1(e,t,n){return n=G(n)?n:[n],{w:hy(e,t.string,n),h:n.length*t.lineHeight}}function Tf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function K1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function X1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(eu(pe(a.angle+zt))),c=tx(a.y,l.h,u),f=J1(u),h=q1(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function G1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function Z1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:na(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function ex(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!H(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(y=>y!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function nx(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));ex(n,o,s);const l=ut(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Rp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=W(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?K1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(H(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(H(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),y=s.setContext(h);ix(this,d,a,o,y)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ut(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function sx(e,t){return e-t}function Lf(e,t){if(H(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ft(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Of(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function lx(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ax(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function zf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Of(s.minUnit,n,i,this._getLabelCapacity(n)),l=N(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const y=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hm-x).map(m=>+m)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return W(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Xl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Xl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Rf extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Fp;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function cx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Fp;const n={labels:[],datasets:[]};return Ap(n,e.labels),Ip(n,e.datasets,t),n}function fx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=pt.useRef(null),y=pt.useRef(),m=()=>{d.current&&(y.current=new yo(d.current,{type:o,data:cx(l,s),options:a&&{...a},plugins:u}),Ff(t,y.current))},x=()=>{Ff(t,null),y.current&&(y.current.destroy(),y.current=null)};return pt.useEffect(()=>{!r&&y.current&&a&&ux(y.current,a)},[r,a]),pt.useEffect(()=>{!r&&y.current&&Ap(y.current.config.data,l.labels)},[r,l.labels]),pt.useEffect(()=>{!r&&y.current&&l.datasets&&Ip(y.current.config.data,l.datasets,s)},[r,l.datasets]),pt.useEffect(()=>{y.current&&(r?(x(),setTimeout(m)):y.current.update(f))},[r,a,l.labels,l.datasets,f]),pt.useEffect(()=>{y.current&&(x(),setTimeout(m))},[o]),pt.useEffect(()=>(m(),()=>x()),[]),Uf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const hx=pt.forwardRef(fx);function dx(e,t){return yo.register(t),pt.forwardRef((n,i)=>Uf.createElement(hx,Object.assign({},n,{ref:i,type:e})))}const px=dx("bar",gs);yo.register(ta,ea,vs,O1,j1,T1);const gx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},mx=({data:e})=>{const t=g0(e),n=p0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return Q.jsx(px,{options:gx,data:i})};function yx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r,startTime:s,endTime:o,applicationType:l,originatingService:a,status:u,protocol:c}=t;if(!n.startsWith("/?key=")&&n!=="/"&&!(n.includes("GET")||n.includes("PATCH")||n.includes("PUT")||n.includes("DELETE")||n.includes("POST"))){if(n.startsWith("/_next/static/")){const f=n.lastIndexOf("/");n=n.slice(f+1)}e(f=>{const h=new Map([...f.entries()]),d=`${i}, ${n}, ${r}`;if(h.has(d)){const m=h.get(d);let x=!1;sm.trueEndTime&&(m.trueEndTime=o,x=!0),m.status===void 0&&"status"in t&&(m.status=t.status),m.protocol===void 0&&"protocol"in t&&(m.protocol=t.protocol),x&&(m.duration=m.trueEndTime-m.trueStartTime)}else{const m={traceId:r,applicationType:l,originatingService:a,method:i,status:u,protocol:c,relativeStartTime:0,trueStartTime:s,trueEndTime:o,duration:o-s,name:n};h.set(d,m)}return vx(h)})}}function vx(e){const t=Array.from(e.entries());t.sort((r,s)=>r[1].trueStartTime-s[1].trueStartTime);const n=new Map(t),i=n.entries().next().value;return n.forEach(r=>{r.relativeStartTime=r.trueStartTime-i[1].trueStartTime}),n}function xx(){const[e,t]=pt.useState(new Map);return pt.useEffect(()=>{chrome.runtime.onMessage.addListener(n=>{})},[]),pt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",i=>{try{yx(t,JSON.parse(i.data))}catch(r){console.log("failed",r)}})},[]),pt.useEffect(()=>{console.log(e)},[e]),Q.jsxs(Q.Fragment,{children:[Q.jsx(mx,{data:e}),Q.jsx(d0,{data:e})]})}const _x=document.getElementById("root"),wx=Gd(_x);console.log("panel/index.jsx reached");wx.render(Q.jsx(xx,{})); diff --git a/chrome-extension/dist/src/pages/panel/index.html b/chrome-extension/dist/src/pages/panel/index.html index a190314..deb6695 100644 --- a/chrome-extension/dist/src/pages/panel/index.html +++ b/chrome-extension/dist/src/pages/panel/index.html @@ -2,9 +2,9 @@ - + - +
diff --git a/chrome-extension/src/pages/app/app.tsx b/chrome-extension/src/pages/app/app.tsx index a7216e5..8ad6aa4 100644 --- a/chrome-extension/src/pages/app/app.tsx +++ b/chrome-extension/src/pages/app/app.tsx @@ -2,27 +2,17 @@ import { useEffect, useState } from 'react'; import './App.css' import NetworkTable from './components/NetworkTable.tsx' import WaterfallChart from './components/WaterfallGraph.tsx'; -import checkTraceId from './functions/checkTraceId.ts' -import { OtelData, IAggregatedData, IRelevantData, IRelevant, ISortedData} from '../../types/types.ts'; -import {isRelevantData, isRelevant} from './functions/isRelevantData.ts'; -import sortData from './functions/sortData.ts'; +import {IRelevant} from '../../types/types.ts'; +import {isRelevant} from './functions/isRelevant.ts'; function App() { - // const [traceIdData, setTraceIdData] = useState(new Map()); - // const [aggregatedData, setAggregatedData] = useState(new Map()); - // const [relevantData, setRelevantData] = useState(new Map()); - const [relevantData, setRelevantData] = useState([]); // renders but not the refactored logic + const [relevant, setRelevant] = useState(new Map()); - const [relevant, setRelevant] = useState(new Map()); // doesn't render but is the refactored logic - - const [mostRecentEntry, setMostRecentEntry] = useState(""); // mainly just to figure out what name === / belongs to - - // const [sortedData, setSortedData] = useState([]); + // testing uses only: to cross-reference incoming client data with otel data useEffect(() => { chrome.runtime.onMessage.addListener((message) => { - // setAggregatedData(prevAggregatedData => prevAggregatedData.set(`chromeApiRequestData: ${message.type}, startTime ${message.startTime}`, message)) - console.log(`chromeApiRequestData: ${message.type}, startTime ${message.startTime}`, message); + // console.log(`chromeApiRequestData: ${message.type}, startTime ${message.startTime}`, message); }) }, []); @@ -31,12 +21,7 @@ function App() { const sseStream = new EventSource('http://localhost:3002/stream/sse'); sseStream.addEventListener('message', (e) => { try { - // console.log(e.data); - // setNetworkRequests(prevNetworkRequests => [...prevNetworkRequests, JSON.parse(e.data)]); - // setAggregatedData(prevAggregatedData => checkTraceId(prevAggregatedData, JSON.parse(e.data))) - isRelevantData(setRelevantData, JSON.parse(e.data), ) isRelevant(setRelevant, JSON.parse(e.data)); - // setRelevantData(prevRelevantData => isRelevantData(prevRelevantData, JSON.parse(e.data))); } catch (err) { console.log('failed', err); } @@ -44,28 +29,15 @@ function App() { }, []); - // useEffect(() => { - // console.log(aggregatedData); - // }, [aggregatedData]); - - // useEffect(() => { - // console.log(relevantData); - // }, [relevantData]); - useEffect(() => { console.log(relevant); - // setSortedData(sortData(relevant)); - }, [relevant]); - // useEffect(() => { - // console.log(sortedData); - // }, [sortedData]); return ( <> - - + + ) } diff --git a/chrome-extension/src/pages/app/components/NetworkTable.tsx b/chrome-extension/src/pages/app/components/NetworkTable.tsx index a26df45..4f43c94 100644 --- a/chrome-extension/src/pages/app/components/NetworkTable.tsx +++ b/chrome-extension/src/pages/app/components/NetworkTable.tsx @@ -1,27 +1,20 @@ -// import { useState } from 'react' + import TableRow from './TableRow'; -// import { IMockData } from '../mockData'; -import { IRelevantData } from '../../../types/types'; +import { IRelevant } from '../../../types/types'; -// interface NetworkTableProps { -// data: IRelevantData; -// } interface NetworkTableProps { - data: IRelevantData; + data: IRelevant; } const NetworkTable = ({data} : NetworkTableProps) => { - // console.log(`networkTableData: ${data}`); - return ( - {/* */} @@ -29,26 +22,12 @@ const NetworkTable = ({data} : NetworkTableProps) => { - {/* */} - - - - - - - {/* - - */} + - {data.map((val, index) => { - return( - - ) - })} - {/* {Object.entries(data).map(([key, val], index) => { - // console.log(`object.entries.map: ${key}, ${val}`) - return() - })}; */} + + {Array.from(data).map(([key, request]) => ( + + ))}
Trace IDName Method StatusTime Orig. Svc. Application TypeSpan IDSizeTypeEndpoint
) } diff --git a/chrome-extension/src/pages/app/components/TableRow.tsx b/chrome-extension/src/pages/app/components/TableRow.tsx index 212817d..244d8e0 100644 --- a/chrome-extension/src/pages/app/components/TableRow.tsx +++ b/chrome-extension/src/pages/app/components/TableRow.tsx @@ -1,83 +1,11 @@ -import { useState } from 'react' // import { IMockData } from '../mockData'; -import { calcTotalTime } from '../functions/calcTotalTime'; -import { ITotalTimes, getTraceTimeInfo } from '../functions/getTraceInfo'; -import { IRelevantData, OtelData } from '../../../types/types'; +import { IUpdatedData } from '../../../types/types'; interface TableRowProps { - data: OtelData; + data: IUpdatedData; } - -// const TableRow = ({data} : TableRowProps) => { - -// // const [rowClick, setRowClick] = useState(false); -// // const multipleSpans = data.length > 1; - -// // const traceTimeInfo: ITotalTimes[] = getTraceTimeInfo(data) -// //console.log({data}); -// return ( -// // <> -// /* setRowClick(!rowClick)}> -// -// {multipleSpans ?
: null} -// {data[0].traceId} - -// -// {data[0].name} -// {data[0].spanId} -// {data[0].applicationType} -// {data[0].originatingService} -// {data[0].method} -// {data[0].status} -// {data[0].protocol} -// {!rowClick? -// traceTimeInfo[0].duration: -// calcTotalTime(data[0].startTime, data[0].endTime) -// } ms -// -// {/* commented out data types for now for better UI during presentation */} -// {/* {data[0].size ? data[0].size : 0} -// {data[0].type} -// {data[0].urlEndpoint} */} -// // -// // {multipleSpans && rowClick? ( -// // data.slice(1).map((val, key) => { -// // return ( -// // -// // -// // {val.name} -// // {val.spanId} -// // {val.applicationType} -// // {val.originatingService} -// // {val.method} -// // {val.status} -// // {val.protocol} -// // {calcTotalTime(val.startTime, val.endTime)} ms -// // {/* {val.size ? val.size : 0} -// // {val.type} -// // {val.urlEndpoint} */} -// // -// // ) -// // }) -// // ): null -// // } */} - -// -// {data[0].name} -// {data[0].method} -// {data[0].status} -// {data[0].protocol} -// {calcTotalTime(data[0].startTime, data[0].endTime)} -// {data[0].originatingService} -// {data[0].applicationType} -// - - -// ) -// } - const TableRow = ({data} : TableRowProps) => { return ( @@ -85,7 +13,7 @@ const TableRow = ({data} : TableRowProps) => { {data.method} {data.status} {data.protocol} - {calcTotalTime(data.startTime, data.endTime)} + {data.duration} {data.originatingService} {data.applicationType} diff --git a/chrome-extension/src/pages/app/components/WaterfallGraph.tsx b/chrome-extension/src/pages/app/components/WaterfallGraph.tsx index e50a6f3..df31246 100644 --- a/chrome-extension/src/pages/app/components/WaterfallGraph.tsx +++ b/chrome-extension/src/pages/app/components/WaterfallGraph.tsx @@ -13,13 +13,13 @@ import { Legend, } from 'chart.js'; import { Bar } from 'react-chartjs-2'; -import { IRelevantData, ILengthsOfChartBars } from "../../../types/types"; +import { ILengthsOfChartBars, IRelevant } from "../../../types/types"; interface WaterfallChartProps { // data: IMockData[][]; - data: IRelevantData; + data: IRelevant; } diff --git a/chrome-extension/src/pages/app/functions/chartJSData.ts b/chrome-extension/src/pages/app/functions/chartJSData.ts index ad02cfb..cdcf711 100644 --- a/chrome-extension/src/pages/app/functions/chartJSData.ts +++ b/chrome-extension/src/pages/app/functions/chartJSData.ts @@ -1,57 +1,23 @@ -import { IAllTracesTimeInfo, ITotalTimes } from "./getTraceInfo"; -import { calcTotalTime } from "./calcTotalTime"; -import { ILengthsOfChartBars, IRelevantData, OtelData } from "../../../types/types"; +import { ILengthsOfChartBars, IRelevant } from "../../../types/types"; -// export function getChartJSTraceData(allTracesTimeInfo: ITotalTimes[][], earliestTime: number): number[][]{ -// const output: number[][] = []; -// // let earliestTime: number; -// allTracesTimeInfo.map((singleTraceData, index) => { -// const singleChartJSData: number[] = []; - -// // const firstVal: number = calcTotalTime(earliestTime, singleTraceData[0].start) -// // if(index === 0){ -// // earliestTime = singleTraceData[0].start -// // } -// const firstVal = calcTotalTime(earliestTime, singleTraceData[0].start); - -// const secondVal: number = firstVal + singleTraceData[0].duration; -// singleChartJSData.push(firstVal, secondVal); -// output.push(singleChartJSData); -// // console.log('singleChartJSData', singleChartJSData); -// }) - -// return output; -// } - -export function getChartJSTraceData(allRequestData: IRelevantData): ILengthsOfChartBars{ +export function getChartJSTraceData(allRequestData: IRelevant): ILengthsOfChartBars{ const output: ILengthsOfChartBars= []; - // let earliestTime: number; - allRequestData.map((singleRequestData, index) => { - const singleChartJSData: number[] = []; - const firstVal = calcTotalTime(allRequestData[0].startTime, singleRequestData.startTime); + allRequestData.forEach((request) => { + console.log('relative start time',request.relativeStartTime); + console.log('relative start time',request.duration); - const duration = calcTotalTime(singleRequestData.endTime, singleRequestData.startTime); - - const secondVal: number = firstVal + duration; - singleChartJSData.push(firstVal, secondVal); - output.push(singleChartJSData); + const singleChartJSData: number[] = [request.relativeStartTime, request.relativeStartTime + request.duration]; + output.push(singleChartJSData) }) return output; } -// export function getChartJSLabels(allTracesTimeInfo: ITotalTimes[][]):string[]{ -// const labelsArr:string[] = allTracesTimeInfo.map((traceTimeInfo: ITotalTimes[]) => { -// return (traceTimeInfo[0].id) -// }) - -// return labelsArr; -// } - -export function getChartJSLabels(allRequestData: IRelevantData):string[]{ - const labelsArr:string[] = allRequestData.map((singleRequestData: OtelData) => { - return (singleRequestData.name); +export function getChartJSLabels(allRequestData: IRelevant):string[]{ + const labelsArr:string[] = []; + allRequestData.forEach((request) => { + labelsArr.push(request.name); }) return labelsArr; diff --git a/chrome-extension/src/pages/app/functions/isRelevantData.ts b/chrome-extension/src/pages/app/functions/isRelevant.ts similarity index 67% rename from chrome-extension/src/pages/app/functions/isRelevantData.ts rename to chrome-extension/src/pages/app/functions/isRelevant.ts index 0000b19..3595ffa 100644 --- a/chrome-extension/src/pages/app/functions/isRelevantData.ts +++ b/chrome-extension/src/pages/app/functions/isRelevant.ts @@ -1,49 +1,6 @@ -import { setFlagsFromString } from 'v8'; -import { IRelevantData, OtelData, ISetRelevantDataState, IRelevant, ISetRelevantState, ISetMostRecentEntryState, IUpdatedData } from '../../../types/types'; +import { OtelData, IRelevant, ISetRelevantState } from '../../../types/types'; -export function isRelevantData(setRelevantData:ISetRelevantDataState, incomingSpanData: OtelData): void { - // if there is no method attached, return - if(!('method' in incomingSpanData) || incomingSpanData.method === ""){ - return; - } - - - // destructure name - let {name, method, traceId} = incomingSpanData; - // check if name starts with "/?key=" , return - if (name.startsWith("/?key=")) { - return; - } - - setRelevantData(prevRelevantData => { - // const newRelevantData: IRelevantData = new Map([...prevRelevantData.entries()]); - const newRelevantData: IRelevantData = [...prevRelevantData]; - - - const newKeyName: string = `${method}, ${name}, ${traceId}`; - - // if(newRelevantData.has(newKeyName)){ - // const existingData = newRelevantData.get(incomingSpanData.traceId); - // existingData?.push(incomingSpanData); - // }else{ - // newRelevantData.set(newKeyName,[incomingSpanData]); - // } - console.log(newKeyName); - newRelevantData.push(incomingSpanData); - return newRelevantData; - - }) - // otherwise setRelevantData, - // create new state and spread out prevRelevant Data - // add as key, the method, the route, and the traceId: and as a value the incoming span - - - - - -} - export function isRelevant(setRelevant:ISetRelevantState, incomingSpanData: OtelData): void { // if there is no method attached, return if(!('method' in incomingSpanData) || incomingSpanData.method === ""){ diff --git a/chrome-extension/src/pages/app/functions/sortData.ts b/chrome-extension/src/pages/app/functions/sortData.ts deleted file mode 100644 index 45ab28a..0000000 --- a/chrome-extension/src/pages/app/functions/sortData.ts +++ /dev/null @@ -1,148 +0,0 @@ -// sort by startTimes - -import { IRelevant, ISetSortedData, ISortedData, ITotalDuration, IUpdatedData, OtelData } from "../../../types/types"; - -// export default function sortData(prevSortedData: ISortedData, data: IRelevant): ISortedData { -// const newSortedData = [...prevSortedData]; - -// data.forEach((value: OtelData[]) => { -// // find total duration -// // then sort return array by using Math.min on first element, push to the start if it is smaller -// let startTime: number = 0; -// let duration: number = 0; - -// if(value.length > 1){ -// const totalDuration = calcTotalDuration(value); -// startTime = totalDuration.startTime; -// length = totalDuration.duration; -// }else{ -// startTime = value[0].startTime -// duration = value[0].endTime - startTime; -// } - -// const {applicationType, originatingService, method, status, protocol, name} = value[0]; -// // first go through the sortedData to see if this element starts earlier and if so insert it right there using splice -// const newUpdatedData: IUpdatedData = { -// applicationType, -// originatingService, -// method, -// status, -// protocol, -// name, -// startTime, -// relativeStartTime: 0, -// duration -// } -// if(newSortedData.length === 0){ -// newSortedData.unshift(newUpdatedData); -// }else{ -// for(let i = newSortedData.length - 1; i >= 0; i--){ -// if(newUpdatedData.startTime >= newSortedData[i].startTime){ -// newSortedData.splice(i + 1, 0, newUpdatedData); -// newUpdatedData.relativeStartTime = newUpdatedData.startTime - newSortedData[0].startTime; -// break; -// } -// } -// } - - -// }) - -// return newSortedData; - - -// }; - -export default function sortData(data: IRelevant): ISortedData { - const newSortedData:ISortedData = []; - - data.forEach((unaggregatedData: OtelData[]) => { - // create singular object with correct times - const newUpdatedData: IUpdatedData = createUpdatedData(unaggregatedData); - - if(newSortedData.length === 0){ - newSortedData.unshift(newUpdatedData); - }else{ - for(let i = 0; i < newSortedData.length; i++){ - if(newUpdatedData.startTime <= newSortedData[i].startTime){ - newSortedData.splice(i, 0, newUpdatedData); - break; - } - } - } - }) - updateRelativeStartTimes(newSortedData); - return newSortedData; - - -}; - -function updateRelativeStartTimes(newSortedData: ISortedData):void{ - newSortedData.forEach((updatedData) => { - updatedData.relativeStartTime = updatedData.startTime - newSortedData[0].startTime; - }); -} - -function createUpdatedData(arrData: OtelData[]): IUpdatedData { - let trueStartTime: number = Infinity; - let trueEndTime: number = -Infinity; - let status: number | undefined; - let protocol: string | undefined; - - - - arrData.forEach((singleData) => { - if(singleData.startTime < trueStartTime) trueStartTime = singleData.startTime; - - if(singleData.endTime > trueEndTime) trueEndTime = singleData.endTime; - - if(status === undefined && 'status' in singleData) status = singleData.status; - - if(protocol === undefined && 'protocol' in singleData) protocol = singleData.protocol; - }) - - const {applicationType, originatingService, method, name} = arrData[0]; - - - const newUpdatedData: IUpdatedData = { - applicationType, - originatingService, - method, - status, - protocol, - relativeStartTime: 0, - startTime: trueStartTime, - duration: trueEndTime - trueStartTime, - name - } - - - return newUpdatedData; -} - - - -// function calcTotalDuration(value: OtelData[]): ITotalDuration{ - - -// let trueStartTime: number; -// let trueEndTime: number; -// const startTimes: number[] = []; -// const endTimes: number[] = []; - -// value.forEach((data: OtelData) => { -// startTimes.push(data.startTime); -// endTimes.push(data.endTime); -// }); - -// trueStartTime = Math.min(...startTimes); -// trueEndTime = Math.max(...endTimes); - -// const duration = trueEndTime - trueStartTime; - -// const totalDuration = { -// startTime: trueStartTime, -// duration -// } -// return totalDuration; -// } \ No newline at end of file diff --git a/chrome-extension/src/types/types.ts b/chrome-extension/src/types/types.ts index d5ba542..f055aeb 100644 --- a/chrome-extension/src/types/types.ts +++ b/chrome-extension/src/types/types.ts @@ -28,20 +28,12 @@ export type IChromeApiNetworkObject = { initiator?: string | null, } -export type IAggregatedData = Map; - export type IRelevant = Map; // key includes method, name, and traceId as a string -export type IRelevantData = IUpdatedData[]; - -export type ITraceIdData = Map; - -export type ISetRelevantDataState= Dispatch>; export type ISetRelevantState= Dispatch>; -export type ISetMostRecentEntryState= Dispatch>; export type ILengthsOfChartBars = number[][]; @@ -59,15 +51,6 @@ export interface IUpdatedData { name: string } -export type ISortedData = IUpdatedData[]; - -export type ISetSortedData = Dispatch>; - - -export interface ITotalDuration { - startTime: number, - duration: number -} From b7b15ef0e5bee0d718b35f88b6c015a42bae848f Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Thu, 6 Jul 2023 15:55:05 -0400 Subject: [PATCH 13/18] added ms to table --- chrome-extension/src/pages/app/components/TableRow.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome-extension/src/pages/app/components/TableRow.tsx b/chrome-extension/src/pages/app/components/TableRow.tsx index 244d8e0..3a92ace 100644 --- a/chrome-extension/src/pages/app/components/TableRow.tsx +++ b/chrome-extension/src/pages/app/components/TableRow.tsx @@ -13,7 +13,7 @@ const TableRow = ({data} : TableRowProps) => { {data.method} {data.status} {data.protocol} - {data.duration} + {data.duration}ms {data.originatingService} {data.applicationType} From 0208e2a8f09936dbe5c2d4e50b11180a254ab2ac Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Fri, 7 Jul 2023 18:22:00 -0400 Subject: [PATCH 14/18] created clearState button; resized components; conditionally render Reload component --- chrome-extension/dist.zip | Bin 0 -> 108833 bytes ...{index-962b3a7d.css => index-f2bb8e94.css} | 2 +- .../{panel-d246fb81.js => panel-f8e9e358.js} | 16 +++++++------- .../dist/src/pages/panel/index.html | 4 ++-- chrome-extension/src/pages/app/app.tsx | 20 ++++++++++++++---- .../src/pages/app/components/ClearState.tsx | 18 ++++++++++++++++ .../src/pages/app/components/Reload.tsx | 10 +++++++++ .../src/pages/app/components/TableRow.tsx | 2 +- .../pages/app/components/WaterfallGraph.tsx | 1 + 9 files changed, 57 insertions(+), 16 deletions(-) create mode 100644 chrome-extension/dist.zip rename chrome-extension/dist/assets/{index-962b3a7d.css => index-f2bb8e94.css} (72%) rename chrome-extension/dist/assets/{panel-d246fb81.js => panel-f8e9e358.js} (94%) create mode 100644 chrome-extension/src/pages/app/components/ClearState.tsx create mode 100644 chrome-extension/src/pages/app/components/Reload.tsx diff --git a/chrome-extension/dist.zip b/chrome-extension/dist.zip new file mode 100644 index 0000000000000000000000000000000000000000..546fe186b5fba858f202797c655218bf1995c272 GIT binary patch literal 108833 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 literal 0 HcmV?d00001 diff --git a/chrome-extension/dist/assets/index-962b3a7d.css b/chrome-extension/dist/assets/index-f2bb8e94.css similarity index 72% rename from chrome-extension/dist/assets/index-962b3a7d.css rename to chrome-extension/dist/assets/index-f2bb8e94.css index 022e9c3..c1ff487 100644 --- a/chrome-extension/dist/assets/index-962b3a7d.css +++ b/chrome-extension/dist/assets/index-f2bb8e94.css @@ -1 +1 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.fixed{position:fixed}.relative{position:relative}.m-3{margin:.75rem}.table{display:table}.grid{display:grid}.h-5{height:1.25rem}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity))}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}body{background-color:#292a2d;color:#fff}tr:nth-child(even){background-color:#202124}table{border:1.5px solid blue;width:100%;text-align:left;border-collapse:collapse}th{border:1px solid rgb(74,76,80)}th,td{font-weight:400;border-right:1px solid rgb(144,143,143);padding:15px;font-size:small;max-width:10px;max-height:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr:hover:not(:first-child){background-color:#24245d}th:hover{background-color:#162266}.arrow{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 0%,50% 50%,0% 100%);clip-path:polygon(0% 0%,50% 50%,0% 100%);background-color:#f0f8ff;margin-right:5px}.arrowDown{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 50%,100% 50%,50% 100%);clip-path:polygon(0% 50%,100% 50%,50% 100%);background-color:#f0f8ff;margin-right:5px}.noPadding{padding:15px 15px 15px 0} +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.fixed{position:fixed}.relative{position:relative}.m-3{margin:.75rem}.mb-5{margin-bottom:1.25rem}.ml-auto{margin-left:auto}.flex{display:flex}.table{display:table}.grid{display:grid}.h-5{height:1.25rem}.h-\[33vh\]{height:33vh}.h-\[67vh\]{height:67vh}.flex-col{flex-direction:column}.justify-center{justify-content:center}.gap-5{gap:1.25rem}.border-\[1px\]{border-width:1px}.border-b-\[1px\]{border-bottom-width:1px}.border-slate-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity))}.bg-violet-800{--tw-bg-opacity: 1;background-color:rgb(91 33 182 / var(--tw-bg-opacity))}.p-2{padding:.5rem}.p-56{padding:14rem}.text-center{text-align:center}.text-lg{font-size:1.125rem;line-height:1.75rem}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}body{background-color:#292a2d;color:#fff}tr:nth-child(even){background-color:#202124}table{border:1.5px solid blue;width:100%;text-align:left;border-collapse:collapse}th{border:1px solid rgb(74,76,80)}th,td{font-weight:400;border-right:1px solid rgb(144,143,143);padding:15px;font-size:small;max-width:10px;max-height:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr:hover:not(:first-child){background-color:#24245d}th:hover{background-color:#162266}.arrow{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 0%,50% 50%,0% 100%);clip-path:polygon(0% 0%,50% 50%,0% 100%);background-color:#f0f8ff;margin-right:5px}.arrowDown{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 50%,100% 50%,50% 100%);clip-path:polygon(0% 50%,100% 50%,50% 100%);background-color:#f0f8ff;margin-right:5px}.noPadding{padding:15px 15px 15px 0} diff --git a/chrome-extension/dist/assets/panel-d246fb81.js b/chrome-extension/dist/assets/panel-f8e9e358.js similarity index 94% rename from chrome-extension/dist/assets/panel-d246fb81.js rename to chrome-extension/dist/assets/panel-f8e9e358.js index 6114992..e85db43 100644 --- a/chrome-extension/dist/assets/panel-d246fb81.js +++ b/chrome-extension/dist/assets/panel-f8e9e358.js @@ -14,7 +14,7 @@ var Np=Object.defineProperty;var jp=(e,t,n)=>t in e?Np(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ng=pt,ig=Symbol.for("react.element"),rg=Symbol.for("react.fragment"),sg=Object.prototype.hasOwnProperty,og=ng.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,lg={key:!0,ref:!0,__self:!0,__source:!0};function Yf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)sg.call(t,i)&&!lg.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:ig,type:e,key:s,ref:o,props:r,_owner:og.current}}Js.Fragment=rg;Js.jsx=Yf;Js.jsxs=Yf;Af.exports=Js;var Q=Af.exports,Kf={exports:{}},Ut={},Qf={exports:{}},Xf={};/** + */var ng=pt,ig=Symbol.for("react.element"),rg=Symbol.for("react.fragment"),sg=Object.prototype.hasOwnProperty,og=ng.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,lg={key:!0,ref:!0,__self:!0,__source:!0};function Yf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)sg.call(t,i)&&!lg.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:ig,type:e,key:s,ref:o,props:r,_owner:og.current}}Js.Fragment=rg;Js.jsx=Yf;Js.jsxs=Yf;Af.exports=Js;var I=Af.exports,Kf={exports:{}},Ut={},Qf={exports:{}},Xf={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var Np=Object.defineProperty;var jp=(e,t,n)=>t in e?Np(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(e){function t(M,O){var D=M.length;M.push(O);t:for(;0>>1,U=M[V];if(0>>1;Vr(xe,D))jtr(Cr,xe)?(M[V]=Cr,M[jt]=D,V=jt):(M[V]=xe,M[Nt]=D,V=Nt);else if(jtr(Cr,D))M[V]=Cr,M[jt]=D,V=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,y=!1,m=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(m=!1,v(M),!y)if(n(a)!==null)y=!0,it(w);else{var O=n(u);O!==null&&vt(_,O.startTime-M)}}function w(M,O){y=!1,m&&(m=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var V=f.callback;if(typeof V=="function"){f.callback=null,h=f.priorityLevel;var U=V(f.expirationTime<=O);O=e.unstable_now(),typeof U=="function"?f.callback=U:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&vt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125V?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(m?(p(b),b=-1):m=!0,vt(_,D-V))):(M.sortIndex=U,t(a,M),y||d||(y=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Xf);Qf.exports=Xf;var ag=Qf.exports;/** + */(function(e){function t(M,O){var D=M.length;M.push(O);t:for(;0>>1,Y=M[W];if(0>>1;Wr(xe,D))jtr(Cr,xe)?(M[W]=Cr,M[jt]=D,W=jt):(M[W]=xe,M[Nt]=D,W=Nt);else if(jtr(Cr,D))M[W]=Cr,M[jt]=D,W=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,y=!1,m=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(m=!1,v(M),!y)if(n(a)!==null)y=!0,it(w);else{var O=n(u);O!==null&&vt(_,O.startTime-M)}}function w(M,O){y=!1,m&&(m=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var W=f.callback;if(typeof W=="function"){f.callback=null,h=f.priorityLevel;var Y=W(f.expirationTime<=O);O=e.unstable_now(),typeof Y=="function"?f.callback=Y:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&vt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125W?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(m?(p(b),b=-1):m=!0,vt(_,D-W))):(M.sortIndex=Y,t(a,M),y||d||(y=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Xf);Qf.exports=Xf;var ag=Qf.exports;/** * @license React * react-dom.production.min.js * @@ -34,10 +34,10 @@ var Np=Object.defineProperty;var jp=(e,t,n)=>t in e?Np(e,t,{enumerable:!0,config `+_o+e}var wo=!1;function ko(e,t){if(!e||wo)return"";wo=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var i=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){i=u}e.call(t.prototype)}else{try{throw Error()}catch(u){i=u}e()}}catch(u){if(u&&i&&typeof u.stack=="string"){for(var r=u.stack.split(` `),s=i.stack.split(` `),o=r.length-1,l=s.length-1;1<=o&&0<=l&&r[o]!==s[l];)l--;for(;1<=o&&0<=l;o--,l--)if(r[o]!==s[l]){if(o!==1||l!==1)do if(o--,l--,0>l||r[o]!==s[l]){var a=` -`+r[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{wo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function dg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case In:return"Portal";case il:return"Profiler";case ca:return"StrictMode";case rl:return"Suspense";case sl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case qf:return(e.displayName||"Context")+".Consumer";case Jf:return(e._context.displayName||"Context")+".Provider";case fa:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ha:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case Ae:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function pg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===ca?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function eh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function gg(e){var t=eh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=gg(e))}function nh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=eh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ll(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function vu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ih(e,t){t=t.checked,t!=null&&ua(e,"checked",t,!1)}function al(e,t){ih(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ul(e,t.type,n):t.hasOwnProperty("defaultValue")&&ul(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function xu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ul(e,t,n){(t!=="number"||xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Tr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={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},mg=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){mg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function lh(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function ah(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=lh(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var yg=tt({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 hl(e,t){if(t){if(yg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function dl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pl=null;function da(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gl=null,Jn=null,qn=null;function ku(e){if(e=wr(e)){if(typeof gl!="function")throw Error(C(280));var t=e.stateNode;t&&(t=io(t),gl(e.stateNode,e.type,t))}}function uh(e){Jn?qn?qn.push(e):qn=[e]:Jn=e}function ch(){if(Jn){var e=Jn,t=qn;if(qn=Jn=null,ku(e),t)for(e=0;e>>=0,e===0?32:31-(Eg(e)/Tg|0)|0}var Lr=64,Or=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ss(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function xr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function zg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Ou=String.fromCharCode(32),Du=!1;function Lh(e,t){switch(e){case"keyup":return lm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Oh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function um(e,t){switch(e){case"compositionend":return Oh(t);case"keypress":return t.which!==32?null:(Du=!0,Ou);case"textInput":return e=t.data,e===Ou&&Du?null:e;default:return null}}function cm(e,t){if(jn)return e==="compositionend"||!wa&&Lh(e,t)?(e=Eh(),ss=va=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Au(n)}}function Fh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Fh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ah(){for(var e=window,t=xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xs(e.document)}return t}function ka(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function xm(e){var t=Ah(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Fh(n.ownerDocument.documentElement,n)){if(i!==null&&ka(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Iu(n,s);var o=Iu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,wl=null,Bi=null,kl=!1;function Nu(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kl||Bn==null||Bn!==xs(i)||(i=Bn,"selectionStart"in i&&ka(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ms(wl,"onSelect"),0Wn||(e.current=El[Wn],El[Wn]=null,Wn--)}function $(e,t){Wn++,El[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Es(){K(Rt),K(St)}function Uu(e,t,n){if(St.current!==rn)throw Error(C(168));$(St,t),$(Rt,n)}function Uh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,pg(e)||"Unknown",r));return tt({},n,i)}function Ts(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,$(St,e),$(Rt,Rt.current),!0}function Yu(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Uh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,K(Rt),K(St),$(St,e)):K(Rt),$(Rt,n)}var be=null,ro=!1,Ao=!1;function Yh(e){be===null?be=[e]:be.push(e)}function Om(e){ro=!0,Yh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=B;try{var n=be;for(B=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(R){return t(p,R)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Pr:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ae&&qu(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ds(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case In:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=$o(v,p.mode,_),g.return=p,p=g}return o(p);case Ae:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return y(p,g,v,_);if(mi(v))return m(p,g,v,_);Nr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=Wo(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=td(!0),ed=td(!1),kr={},ye=an(kr),or=an(kr),lr=an(kr);function xn(e){if(e===kr)throw Error(C(174));return e}function Oa(e,t){switch($(lr,t),$(or,e),$(ye,kr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fl(t,e)}K(ye),$(ye,t)}function ai(){K(ye),K(or),K(lr)}function nd(e){xn(lr.current);var t=xn(ye.current),n=fl(t,e.type);t!==n&&($(or,e),$(ye,n))}function Da(e){or.current===e&&(K(ye),K(or))}var J=an(0);function Fs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Io=[];function za(){for(var e=0;en?n:4,e(!0);var i=No.transition;No.transition={};try{e(!1),t()}finally{B=n,No.transition=i}}function vd(){return te().memoizedState}function Fm(e,t,n){var i=Je(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},xd(e))_d(t,n);else if(n=Gh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),wd(n,t,i)}}function Am(e,t,n){var i=Je(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(xd(e))_d(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,Ta(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Gh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),wd(n,t,i))}}function xd(e){var t=e.alternate;return e===q||t!==null&&t===q}function _d(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function wd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ga(e,n)}}var Is={readContext:qt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},Im={readContext:qt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:ec,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,us(4194308,4,dd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){return us(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Fm.bind(null,q,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:tc,useDebugValue:Na,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=tc(!1),t=e[0];return e=Rm.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=q,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),ht===null)throw Error(C(349));Mn&30||sd(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,ec(ld.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,od.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=ht.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{wo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function dg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case In:return"Portal";case il:return"Profiler";case ca:return"StrictMode";case rl:return"Suspense";case sl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case qf:return(e.displayName||"Context")+".Consumer";case Jf:return(e._context.displayName||"Context")+".Provider";case fa:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ha:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case Ae:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function pg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===ca?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function eh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function gg(e){var t=eh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=gg(e))}function nh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=eh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ll(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function vu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ih(e,t){t=t.checked,t!=null&&ua(e,"checked",t,!1)}function al(e,t){ih(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ul(e,t.type,n):t.hasOwnProperty("defaultValue")&&ul(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function xu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ul(e,t,n){(t!=="number"||xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Tr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={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},mg=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){mg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function lh(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function ah(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=lh(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var yg=tt({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 hl(e,t){if(t){if(yg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function dl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pl=null;function da(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gl=null,Jn=null,qn=null;function ku(e){if(e=wr(e)){if(typeof gl!="function")throw Error(C(280));var t=e.stateNode;t&&(t=io(t),gl(e.stateNode,e.type,t))}}function uh(e){Jn?qn?qn.push(e):qn=[e]:Jn=e}function ch(){if(Jn){var e=Jn,t=qn;if(qn=Jn=null,ku(e),t)for(e=0;e>>=0,e===0?32:31-(Eg(e)/Tg|0)|0}var Lr=64,Or=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ss(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function xr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function zg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Ou=String.fromCharCode(32),Du=!1;function Lh(e,t){switch(e){case"keyup":return lm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Oh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function um(e,t){switch(e){case"compositionend":return Oh(t);case"keypress":return t.which!==32?null:(Du=!0,Ou);case"textInput":return e=t.data,e===Ou&&Du?null:e;default:return null}}function cm(e,t){if(jn)return e==="compositionend"||!wa&&Lh(e,t)?(e=Eh(),ss=va=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Au(n)}}function Fh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Fh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ah(){for(var e=window,t=xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xs(e.document)}return t}function ka(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function xm(e){var t=Ah(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Fh(n.ownerDocument.documentElement,n)){if(i!==null&&ka(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Iu(n,s);var o=Iu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,wl=null,Bi=null,kl=!1;function Nu(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kl||Bn==null||Bn!==xs(i)||(i=Bn,"selectionStart"in i&&ka(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ms(wl,"onSelect"),0Wn||(e.current=El[Wn],El[Wn]=null,Wn--)}function U(e,t){Wn++,El[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Es(){Q(Rt),Q(St)}function Uu(e,t,n){if(St.current!==rn)throw Error(C(168));U(St,t),U(Rt,n)}function Uh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,pg(e)||"Unknown",r));return tt({},n,i)}function Ts(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,U(St,e),U(Rt,Rt.current),!0}function Yu(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Uh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,Q(Rt),Q(St),U(St,e)):Q(Rt),U(Rt,n)}var be=null,ro=!1,Ao=!1;function Yh(e){be===null?be=[e]:be.push(e)}function Om(e){ro=!0,Yh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=H;try{var n=be;for(H=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(R){return t(p,R)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Pr:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ae&&qu(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ds(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case In:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=$o(v,p.mode,_),g.return=p,p=g}return o(p);case Ae:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return y(p,g,v,_);if(mi(v))return m(p,g,v,_);Nr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=Wo(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=td(!0),ed=td(!1),kr={},ye=an(kr),or=an(kr),lr=an(kr);function xn(e){if(e===kr)throw Error(C(174));return e}function Oa(e,t){switch(U(lr,t),U(or,e),U(ye,kr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fl(t,e)}Q(ye),U(ye,t)}function ai(){Q(ye),Q(or),Q(lr)}function nd(e){xn(lr.current);var t=xn(ye.current),n=fl(t,e.type);t!==n&&(U(or,e),U(ye,n))}function Da(e){or.current===e&&(Q(ye),Q(or))}var J=an(0);function Fs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Io=[];function za(){for(var e=0;en?n:4,e(!0);var i=No.transition;No.transition={};try{e(!1),t()}finally{H=n,No.transition=i}}function vd(){return te().memoizedState}function Fm(e,t,n){var i=Je(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},xd(e))_d(t,n);else if(n=Gh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),wd(n,t,i)}}function Am(e,t,n){var i=Je(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(xd(e))_d(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,Ta(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Gh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),wd(n,t,i))}}function xd(e){var t=e.alternate;return e===q||t!==null&&t===q}function _d(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function wd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ga(e,n)}}var Is={readContext:qt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},Im={readContext:qt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:ec,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,us(4194308,4,dd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){return us(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Fm.bind(null,q,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:tc,useDebugValue:Na,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=tc(!1),t=e[0];return e=Rm.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=q,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),ht===null)throw Error(C(349));Mn&30||sd(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,ec(ld.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,od.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=ht.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Ld(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":Y("cancel",e),Y("close",e),r=i;break;case"iframe":case"object":case"embed":Y("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=J.current,$(J,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return $a(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Um(e,t){switch(ba(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),K(Rt),K(St),za(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Da(t),null;case 13:if(K(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return K(J),null;case 4:return ai(),null;case 10:return Ea(t.type._context),null;case 22:case 23:return $a(),null;case 24:return null;default:return null}}var Br=!1,kt=!1,Ym=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var cc=!1;function Km(e,t){if(Sl=bs,e=Ah(),ka(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var m=y.memoizedProps,x=y.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?m:ne(t.type,m),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return y=cc,cc=!1,y}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function zd(e){var t=e.alternate;t!==null&&(e.alternate=null,zd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Tm],delete t[Lm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Rd(e){return e.tag===5||e.tag===3||e.tag===4}function fc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Rd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var dt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Fd(e,t,n),n=n.sibling}function Fd(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=dt,r=ie;dt=null,Re(e,t,n),dt=i,ie=r,dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):dt.removeChild(n.stateNode));break;case 18:dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(dt,n.stateNode));break;case 4:i=dt,r=ie,dt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),dt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function hc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ym),t.forEach(function(i){var r=n0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Xm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Va?_n(e,0):Ha|=n),At(e,t)}function Wd(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function e0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Wd(e,n)}function n0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),Wd(e,n)}var $d;$d=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,Wm(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Kh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Fa(null,t,i,e,r,n);var s=Aa();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,La(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&Sa(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=r0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=lc(null,t,i,e,n);break t;case 11:t=sc(null,t,i,e,n);break t;case 14:t=oc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),lc(e,t,i,r,n);case 3:t:{if(Pd(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Zh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=ac(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=ac(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=ed(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return nd(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Md(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Ed(e,t,n);case 4:return Oa(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),sc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,$(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),oc(e,t,i,r,n);case 15:return bd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),qh(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Td(e,t,n);case 22:return Cd(e,t,n)}throw Error(C(156,t.tag))};function Ud(e,t){return yh(e,t)}function i0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new i0(e,t,n,i)}function Ya(e){return e=e.prototype,!(!e||!e.isReactComponent)}function r0(e){if(typeof e=="function")return Ya(e)?1:0;if(e!=null){if(e=e.$$typeof,e===fa)return 11;if(e===ha)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ya(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case ca:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case th:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Jf:o=10;break t;case qf:o=9;break t;case fa:o=11;break t;case ha:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=th,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function s0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Ka(e,t,n,i,r,s,o,l,a){return e=new s0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},La(s),e}function o0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Xd)}catch(e){console.error(e)}}Xd(),Kf.exports=Ut;var f0=Kf.exports,Gd,_c=f0;Gd=_c.createRoot,_c.hydrateRoot;const h0=({data:e})=>Q.jsxs("tr",{children:[Q.jsx("td",{children:e.name}),Q.jsx("td",{children:e.method}),Q.jsx("td",{children:e.status}),Q.jsx("td",{children:e.protocol}),Q.jsx("td",{children:e.duration}),Q.jsx("td",{children:e.originatingService}),Q.jsx("td",{children:e.applicationType})]}),d0=({data:e})=>Q.jsxs("table",{children:[Q.jsxs("tr",{children:[Q.jsx("th",{children:"Name"}),Q.jsx("th",{children:"Method"}),Q.jsx("th",{children:"Status"}),Q.jsx("th",{children:"Protocol"}),Q.jsx("th",{children:"Time"}),Q.jsx("th",{children:"Orig. Svc."}),Q.jsx("th",{children:"Application Type"})]}),Array.from(e).map(([t,n])=>Q.jsx(h0,{data:n},t))]});function p0(e){const t=[];return e.forEach(n=>{console.log("relative start time",n.relativeStartTime),console.log("relative start time",n.duration);const i=[n.relativeStartTime,n.relativeStartTime+n.duration];t.push(i)}),t}function g0(e){const t=[];return e.forEach(n=>{t.push(n.name)}),t}/*! +`+s.stack}return{value:e,source:t,stack:r,digest:null}}function Ho(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Rl(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Bm=typeof WeakMap=="function"?WeakMap:Map;function kd(e,t,n){n=Ee(-1,n),n.tag=3,n.payload={element:null};var i=t.value;return n.callback=function(){js||(js=!0,$l=i),Rl(e,t)},n}function Sd(e,t,n){n=Ee(-1,n),n.tag=3;var i=e.type.getDerivedStateFromError;if(typeof i=="function"){var r=t.value;n.payload=function(){return i(r)},n.callback=function(){Rl(e,t)}}var s=e.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){Rl(e,t),typeof i!="function"&&(Ze===null?Ze=new Set([this]):Ze.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function nc(e,t,n){var i=e.pingCache;if(i===null){i=e.pingCache=new Bm;var r=new Set;i.set(t,r)}else r=i.get(t),r===void 0&&(r=new Set,i.set(t,r));r.has(n)||(r.add(n),e=t0.bind(null,e,t,n),t.then(e,e))}function ic(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function rc(e,t,n,i,r){return e.mode&1?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Ee(-1,1),t.tag=2,Ge(n,t,1))),n.lanes|=1),e)}var Hm=ze.ReactCurrentOwner,Dt=!1;function Ct(e,t,n,i){t.child=e===null?ed(t,null,n,i):li(t,e.child,n,i)}function sc(e,t,n,i,r){n=n.render;var s=t.ref;return ei(t,r),i=Fa(e,t,n,i,s,r),n=Aa(),e!==null&&!Dt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,De(e,t,r)):(X&&n&&Sa(t),t.flags|=1,Ct(e,t,i,r),t.child)}function oc(e,t,n,i,r){if(e===null){var s=n.type;return typeof s=="function"&&!Ya(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=s,bd(e,t,s,i,r)):(e=ds(n.type,null,i,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(s=e.child,!(e.lanes&r)){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:nr,n(o,i)&&e.ref===t.ref)return De(e,t,r)}return t.flags|=1,e=qe(s,i),e.ref=t.ref,e.return=t,t.child=e}function bd(e,t,n,i,r){if(e!==null){var s=e.memoizedProps;if(nr(s,i)&&e.ref===t.ref)if(Dt=!1,t.pendingProps=i=s,(e.lanes&r)!==0)e.flags&131072&&(Dt=!0);else return t.lanes=e.lanes,De(e,t,r)}return Fl(e,t,n,i,r)}function Cd(e,t,n){var i=t.pendingProps,r=i.children,s=e!==null?e.memoizedState:null;if(i.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},U(Qn,Ht),Ht|=n;else{if(!(n&1073741824))return e=s!==null?s.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,U(Qn,Ht),Ht|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:n,U(Qn,Ht),Ht|=i}else s!==null?(i=s.baseLanes|n,t.memoizedState=null):i=n,U(Qn,Ht),Ht|=i;return Ct(e,t,r,n),t.child}function Md(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Fl(e,t,n,i,r){var s=Ft(n)?bn:St.current;return s=si(t,s),ei(t,r),n=Fa(e,t,n,i,s,r),i=Aa(),e!==null&&!Dt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,De(e,t,r)):(X&&i&&Sa(t),t.flags|=1,Ct(e,t,n,r),t.child)}function lc(e,t,n,i,r){if(Ft(n)){var s=!0;Ts(t)}else s=!1;if(ei(t,r),t.stateNode===null)cs(e,t),qh(t,n,i),zl(t,n,i,r),i=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var a=o.context,u=n.contextType;typeof u=="object"&&u!==null?u=qt(u):(u=Ft(n)?bn:St.current,u=si(t,u));var c=n.getDerivedStateFromProps,f=typeof c=="function"||typeof o.getSnapshotBeforeUpdate=="function";f||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==i||a!==u)&&Ju(t,o,i,u),Ie=!1;var h=t.memoizedState;o.state=h,Rs(t,i,o,r),a=t.memoizedState,l!==i||h!==a||Rt.current||Ie?(typeof c=="function"&&(Dl(t,n,c,i),a=t.memoizedState),(l=Ie||Zu(t,n,l,i,h,a,u))?(f||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=a),o.props=i,o.state=a,o.context=u,i=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),i=!1)}else{o=t.stateNode,Zh(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:ne(t.type,l),o.props=u,f=t.pendingProps,h=o.context,a=n.contextType,typeof a=="object"&&a!==null?a=qt(a):(a=Ft(n)?bn:St.current,a=si(t,a));var d=n.getDerivedStateFromProps;(c=typeof d=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==f||h!==a)&&Ju(t,o,i,a),Ie=!1,h=t.memoizedState,o.state=h,Rs(t,i,o,r);var y=t.memoizedState;l!==f||h!==y||Rt.current||Ie?(typeof d=="function"&&(Dl(t,n,d,i),y=t.memoizedState),(u=Ie||Zu(t,n,u,i,h,y,a)||!1)?(c||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,y,a),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,y,a)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=y),o.props=i,o.state=y,o.context=a,i=u):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),i=!1)}return Al(e,t,n,i,s,r)}function Al(e,t,n,i,r,s){Md(e,t);var o=(t.flags&128)!==0;if(!i&&!o)return r&&Yu(t,n,!1),De(e,t,s);i=t.stateNode,Hm.current=t;var l=o&&typeof n.getDerivedStateFromError!="function"?null:i.render();return t.flags|=1,e!==null&&o?(t.child=li(t,e.child,null,s),t.child=li(t,null,l,s)):Ct(e,t,l,s),t.memoizedState=i.state,r&&Yu(t,n,!0),t.child}function Pd(e){var t=e.stateNode;t.pendingContext?Uu(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Uu(e,t.context,!1),Oa(e,t.containerInfo)}function ac(e,t,n,i,r){return oi(),Ca(r),t.flags|=256,Ct(e,t,n,i),t.child}var Il={dehydrated:null,treeContext:null,retryLane:0};function Nl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ed(e,t,n){var i=t.pendingProps,r=J.current,s=!1,o=(t.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(r&2)!==0),l?(s=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(r|=1),U(J,r&1),e===null)return Ll(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=i.children,e=i.fallback,s?(i=t.mode,s=t.child,o={mode:"hidden",children:o},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=uo(o,i,0,null),e=wn(e,i,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Nl(n),t.memoizedState=Il,e):ja(t,o));if(r=e.memoizedState,r!==null&&(l=r.dehydrated,l!==null))return Vm(e,t,o,i,l,r,n);if(s){s=i.fallback,o=t.mode,r=e.child,l=r.sibling;var a={mode:"hidden",children:i.children};return!(o&1)&&t.child!==r?(i=t.child,i.childLanes=0,i.pendingProps=a,t.deletions=null):(i=qe(r,a),i.subtreeFlags=r.subtreeFlags&14680064),l!==null?s=qe(l,s):(s=wn(s,o,n,null),s.flags|=2),s.return=t,i.return=t,i.sibling=s,t.child=i,i=s,s=t.child,o=e.child.memoizedState,o=o===null?Nl(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=e.childLanes&~n,t.memoizedState=Il,i}return s=e.child,e=s.sibling,i=qe(s,{mode:"visible",children:i.children}),!(t.mode&1)&&(i.lanes=n),i.return=t,i.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=i,t.memoizedState=null,i}function ja(e,t){return t=uo({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function jr(e,t,n,i){return i!==null&&Ca(i),li(t,e.child,null,n),e=ja(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Vm(e,t,n,i,r,s,o){if(n)return t.flags&256?(t.flags&=-257,i=Ho(Error(C(422))),jr(e,t,o,i)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(s=i.fallback,r=t.mode,i=uo({mode:"visible",children:i.children},r,0,null),s=wn(s,r,o,null),s.flags|=2,i.return=t,s.return=t,i.sibling=s,t.child=i,t.mode&1&&li(t,e.child,null,o),t.child.memoizedState=Nl(o),t.memoizedState=Il,s);if(!(t.mode&1))return jr(e,t,o,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var l=i.dgst;return i=l,s=Error(C(419)),i=Ho(s,i,void 0),jr(e,t,o,i)}if(l=(o&e.childLanes)!==0,Dt||l){if(i=ht,i!==null){switch(o&-o){case 4:r=2;break;case 16:r=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:r=32;break;case 536870912:r=268435456;break;default:r=0}r=r&(i.suspendedLanes|o)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,Oe(e,r),le(i,e,r,-1))}return Ua(),i=Ho(Error(C(421))),jr(e,t,o,i)}return r.data==="$?"?(t.flags|=128,t.child=e.child,t=e0.bind(null,e),r._reactRetry=t,null):(e=s.treeContext,Vt=Xe(r.nextSibling),Wt=t,X=!0,re=null,e!==null&&(Qt[Xt++]=Me,Qt[Xt++]=Pe,Qt[Xt++]=Cn,Me=e.id,Pe=e.overflow,Cn=t),t=ja(t,i.children),t.flags|=4096,t)}function uc(e,t,n){e.lanes|=t;var i=e.alternate;i!==null&&(i.lanes|=t),Ol(e.return,t,n)}function Vo(e,t,n,i,r){var s=e.memoizedState;s===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r}:(s.isBackwards=t,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=n,s.tailMode=r)}function Td(e,t,n){var i=t.pendingProps,r=i.revealOrder,s=i.tail;if(Ct(e,t,i.children,n),i=J.current,i&2)i=i&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)t:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&uc(e,n,t);else if(e.tag===19)uc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break t;for(;e.sibling===null;){if(e.return===null||e.return===t)break t;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if(U(J,i),!(t.mode&1))t.memoizedState=null;else switch(r){case"forwards":for(n=t.child,r=null;n!==null;)e=n.alternate,e!==null&&Fs(e)===null&&(r=n),n=n.sibling;n=r,n===null?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Vo(t,!1,r,n,s);break;case"backwards":for(n=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&Fs(e)===null){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Vo(t,!0,n,null,s);break;case"together":Vo(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function cs(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function De(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Pn|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(C(153));if(t.child!==null){for(e=t.child,n=qe(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=qe(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Wm(e,t,n){switch(t.tag){case 3:Pd(t),oi();break;case 5:nd(t);break;case 1:Ft(t.type)&&Ts(t);break;case 4:Oa(t,t.stateNode.containerInfo);break;case 10:var i=t.type._context,r=t.memoizedProps.value;U(Ds,i._currentValue),i._currentValue=r;break;case 13:if(i=t.memoizedState,i!==null)return i.dehydrated!==null?(U(J,J.current&1),t.flags|=128,null):n&t.child.childLanes?Ed(e,t,n):(U(J,J.current&1),e=De(e,t,n),e!==null?e.sibling:null);U(J,J.current&1);break;case 19:if(i=(n&t.childLanes)!==0,e.flags&128){if(i)return Td(e,t,n);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),U(J,J.current),i)break;return null;case 22:case 23:return t.lanes=0,Cd(e,t,n)}return De(e,t,n)}var Ld,jl,Od,Dd;Ld=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};jl=function(){};Od=function(e,t,n,i){var r=e.memoizedProps;if(r!==i){e=t.stateNode,xn(ye.current);var s=null;switch(n){case"input":r=ll(e,r),i=ll(e,i),s=[];break;case"select":r=tt({},r,{value:void 0}),i=tt({},i,{value:void 0}),s=[];break;case"textarea":r=cl(e,r),i=cl(e,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(e.onclick=Ps)}hl(n,i);var o;n=null;for(u in r)if(!i.hasOwnProperty(u)&&r.hasOwnProperty(u)&&r[u]!=null)if(u==="style"){var l=r[u];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Xi.hasOwnProperty(u)?s||(s=[]):(s=s||[]).push(u,null));for(u in i){var a=i[u];if(l=r!=null?r[u]:void 0,i.hasOwnProperty(u)&&a!==l&&(a!=null||l!=null))if(u==="style")if(l){for(o in l)!l.hasOwnProperty(o)||a&&a.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in a)a.hasOwnProperty(o)&&l[o]!==a[o]&&(n||(n={}),n[o]=a[o])}else n||(s||(s=[]),s.push(u,n)),n=a;else u==="dangerouslySetInnerHTML"?(a=a?a.__html:void 0,l=l?l.__html:void 0,a!=null&&l!==a&&(s=s||[]).push(u,a)):u==="children"?typeof a!="string"&&typeof a!="number"||(s=s||[]).push(u,""+a):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Xi.hasOwnProperty(u)?(a!=null&&u==="onScroll"&&K("scroll",e),s||l===a||(s=[])):(s=s||[]).push(u,a))}n&&(s=s||[]).push("style",n);var u=s;(t.updateQueue=u)&&(t.flags|=4)}};Dd=function(e,t,n,i){n!==i&&(t.flags|=4)};function ki(e,t){if(!X)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:i.sibling=null}}function _t(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,i=0;if(t)for(var r=e.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=i,e.childLanes=n,t}function $m(e,t,n){var i=t.pendingProps;switch(ba(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return _t(t),null;case 1:return Ft(t.type)&&Es(),_t(t),null;case 3:return i=t.stateNode,ai(),Q(Rt),Q(St),za(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Ir(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,re!==null&&(Kl(re),re=null))),jl(e,t),_t(t),null;case 5:Da(t);var r=xn(lr.current);if(n=t.type,e!==null&&t.stateNode!=null)Od(e,t,n,i,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(t.stateNode===null)throw Error(C(166));return _t(t),null}if(e=xn(ye.current),Ir(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[ge]=t,i[sr]=s,e=(t.mode&1)!==0,n){case"dialog":K("cancel",i),K("close",i);break;case"iframe":case"object":case"embed":K("load",i);break;case"video":case"audio":for(r=0;r<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Ld(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":K("cancel",e),K("close",e),r=i;break;case"iframe":case"object":case"embed":K("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=J.current,U(J,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return $a(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Um(e,t){switch(ba(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),Q(Rt),Q(St),za(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Da(t),null;case 13:if(Q(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Q(J),null;case 4:return ai(),null;case 10:return Ea(t.type._context),null;case 22:case 23:return $a(),null;case 24:return null;default:return null}}var Br=!1,kt=!1,Ym=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var cc=!1;function Km(e,t){if(Sl=bs,e=Ah(),ka(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var m=y.memoizedProps,x=y.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?m:ne(t.type,m),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return y=cc,cc=!1,y}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function zd(e){var t=e.alternate;t!==null&&(e.alternate=null,zd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Tm],delete t[Lm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Rd(e){return e.tag===5||e.tag===3||e.tag===4}function fc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Rd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var dt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Fd(e,t,n),n=n.sibling}function Fd(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=dt,r=ie;dt=null,Re(e,t,n),dt=i,ie=r,dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):dt.removeChild(n.stateNode));break;case 18:dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(dt,n.stateNode));break;case 4:i=dt,r=ie,dt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),dt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function hc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ym),t.forEach(function(i){var r=n0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Xm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Va?_n(e,0):Ha|=n),At(e,t)}function Wd(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function e0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Wd(e,n)}function n0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),Wd(e,n)}var $d;$d=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,Wm(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Kh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Fa(null,t,i,e,r,n);var s=Aa();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,La(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&Sa(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=r0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=lc(null,t,i,e,n);break t;case 11:t=sc(null,t,i,e,n);break t;case 14:t=oc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),lc(e,t,i,r,n);case 3:t:{if(Pd(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Zh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=ac(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=ac(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=ed(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return nd(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Md(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Ed(e,t,n);case 4:return Oa(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),sc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,U(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),oc(e,t,i,r,n);case 15:return bd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),qh(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Td(e,t,n);case 22:return Cd(e,t,n)}throw Error(C(156,t.tag))};function Ud(e,t){return yh(e,t)}function i0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new i0(e,t,n,i)}function Ya(e){return e=e.prototype,!(!e||!e.isReactComponent)}function r0(e){if(typeof e=="function")return Ya(e)?1:0;if(e!=null){if(e=e.$$typeof,e===fa)return 11;if(e===ha)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ya(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case ca:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case th:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Jf:o=10;break t;case qf:o=9;break t;case fa:o=11;break t;case ha:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=th,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function s0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Ka(e,t,n,i,r,s,o,l,a){return e=new s0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},La(s),e}function o0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Xd)}catch(e){console.error(e)}}Xd(),Kf.exports=Ut;var f0=Kf.exports,Gd,_c=f0;Gd=_c.createRoot,_c.hydrateRoot;const h0=({data:e})=>I.jsxs("tr",{children:[I.jsx("td",{children:e.name}),I.jsx("td",{children:e.method}),I.jsx("td",{children:e.status}),I.jsx("td",{children:e.protocol}),I.jsxs("td",{children:[e.duration," ms"]}),I.jsx("td",{children:e.originatingService}),I.jsx("td",{children:e.applicationType})]}),d0=({data:e})=>I.jsxs("table",{children:[I.jsxs("tr",{children:[I.jsx("th",{children:"Name"}),I.jsx("th",{children:"Method"}),I.jsx("th",{children:"Status"}),I.jsx("th",{children:"Protocol"}),I.jsx("th",{children:"Time"}),I.jsx("th",{children:"Orig. Svc."}),I.jsx("th",{children:"Application Type"})]}),Array.from(e).map(([t,n])=>I.jsx(h0,{data:n},t))]});function p0(e){const t=[];return e.forEach(n=>{console.log("relative start time",n.relativeStartTime),console.log("relative start time",n.duration);const i=[n.relativeStartTime,n.relativeStartTime+n.duration];t.push(i)}),t}function g0(e){const t=[];return e.forEach(n=>{t.push(n.name)}),t}/*! * @kurkle/color v0.3.2 * https://github.com/kurkle/color#readme * (c) 2023 Jukka Kurkela @@ -47,11 +47,11 @@ Error generating stack: `+s.message+` * https://www.chartjs.org * (c) 2023 Chart.js Contributors * Released under the MIT License - */function _e(){}const N0=(()=>{let e=0;return()=>e++})();function H(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function I(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ft(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ft(e)?e:t}function N(e,t){return typeof e>"u"?t:e}const j0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function W(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function j(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function V0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function W0(e){const t=V0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Cc[t]||(Cc[t]=W0(t)))(e)}function tu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const pr=e=>typeof e<"u",sn=e=>typeof e=="function",Mc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function $0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Us=Number.POSITIVE_INFINITY,U0=yt/180,zt=yt/2,cn=yt/4,Pc=yt*2/3,We=Math.log10,en=Math.sign;function ps(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ys(e){return!isNaN(parseFloat(e))&&isFinite(e)}function K0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function ep(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function nu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Xl=(e,t,n,i)=>nu(e,n,i?r=>{const s=e[r][t];return se[r][t]nu(e,n,i=>e[i][t]>=n);function q0(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+tu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Lc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(np.forEach(s=>{delete e[s]}),delete e._chartjs)}function ip(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const rp=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function sp(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,rp.call(window,()=>{i=!1,e.apply(t,n)}))}}function ey(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const iu=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,ny=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Yr=e=>e===0||e===1,Oc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),Dc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Yr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Yr(e)?e:Oc(e,.075,.3),easeOutElastic:e=>Yr(e)?e:Dc(e,.075,.3),easeInOutElastic(e){return Yr(e)?e:e<.5?.5*Oc(e*2,.1125,.45):.5+.5*Dc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function op(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function zc(e){return op(e)?e:new hr(e)}function Yo(e){return op(e)?e:new hr(e).saturate(.5).darken(.1).hexString()}const iy=["x","y","borderWidth","radius","tension"],ry=["color","borderColor","backgroundColor"];function sy(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:ry},numbers:{type:"number",properties:iy}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function oy(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Rc=new Map;function ly(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Rc.get(n);return i||(i=new Intl.NumberFormat(e,t),Rc.set(n,i)),i}function ru(e,t,n){return ly(t,n).format(e)}const lp={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=ay(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),ru(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?lp.numeric.call(this,e,t,n):""}};function ay(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var go={formatters:lp};function uy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:go.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Gl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Yo(r.backgroundColor),this.hoverBorderColor=(i,r)=>Yo(r.borderColor),this.hoverColor=(i,r)=>Yo(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Ko(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Ko(Gl,t,n)}override(t,n){return Ko(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return I(a)?Object.assign({},u,a):N(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new cy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[sy,oy,uy]);function fy(e){return!e||H(e.size)||H(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ks(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function hy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,dy(e,s),a=0;a+e||0;function up(e,t){const n={},i=I(t),r=i?Object.keys(t):t,s=I(e)?i?o=>N(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=xy(s(o));return n}function cp(e){return up(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return up(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=cp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ut(e,t){e=e||{},t=t||nt.font;let n=N(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=N(e.style,t.style);i&&!(""+i).match(yy)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:N(e.family,t.family),lineHeight:vy(N(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:N(e.weight,t.weight),string:""};return r.string=fy(r),r}function Kr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function lu(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=pp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>lu([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return hp(l,a,()=>Ey(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return Nc(l).includes(a)},ownKeys(l){return Nc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:fp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return hp(s,o,()=>ky(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function fp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const wy=(e,t)=>e?e+tu(t):t,au=(e,t)=>I(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function hp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function ky(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=Sy(t,l,e,n)),G(l)&&l.length&&(l=by(t,l,e,o.isIndexable)),au(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function Sy(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),au(e,a)&&(a=uu(r._scopes,r,e,a)),a}function by(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(I(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=uu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function dp(e,t,n){return sn(e)?e(t,n):e}const Cy=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function My(e,t,n,i,r){for(const s of t){const o=Cy(n,s);if(o){e.add(o);const l=dp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function uu(e,t,n,i){const r=t._rootScopes,s=dp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Ic(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Ic(l,o,s,a,i),a===null)?!1:lu(Array.from(l),[""],r,s,()=>Py(t,n,i))}function Ic(e,t,n,i,r){for(;n;)n=My(e,t,n,i,r);return n}function Py(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&I(n)?n:r||{}}function Ey(e,t,n,i){let r;for(const s of t)if(r=pp(wy(s,e),n),typeof r<"u")return au(e,r)?uu(n,i,e,r):r}function pp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function Nc(e){let t=e._keys;return t||(t=e._keys=Ty(e._scopes)),t}function Ty(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function gp(){return typeof window<"u"&&typeof document<"u"}function cu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Qs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const mo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Ly(e,t){return mo(e).getPropertyValue(t)}const Oy=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Oy[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Dy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function zy(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(Dy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=mo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=zy(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:y}=t;return s&&(d-=o.width+l.width,y-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/y*n.height/i)}}function Ry(e,t,n){let i,r;if(t===void 0||n===void 0){const s=cu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=mo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Qs(l.maxWidth,s,"clientWidth"),r=Qs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Us,maxHeight:r||Us}}const Qr=e=>Math.round(e*10)/10;function Fy(e,t,n,i){const r=mo(e),s=Sn(r,"margin"),o=Qs(r.maxWidth,e,"clientWidth")||Us,l=Qs(r.maxHeight,e,"clientHeight")||Us,a=Ry(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Qr(Math.min(u,o,a.maxWidth)),c=Qr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Qr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Qr(Math.floor(c*i))),{width:u,height:c}}function jc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Ay=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Bc(e,t){const n=Ly(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const Iy=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},Ny=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?Iy(t,n):Ny()}function mp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function yp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! + */function _e(){}const N0=(()=>{let e=0;return()=>e++})();function V(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function N(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ft(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ft(e)?e:t}function j(e,t){return typeof e>"u"?t:e}const j0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function $(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function B(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function V0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function W0(e){const t=V0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Cc[t]||(Cc[t]=W0(t)))(e)}function tu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const pr=e=>typeof e<"u",sn=e=>typeof e=="function",Mc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function $0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Us=Number.POSITIVE_INFINITY,U0=yt/180,zt=yt/2,cn=yt/4,Pc=yt*2/3,We=Math.log10,en=Math.sign;function ps(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ys(e){return!isNaN(parseFloat(e))&&isFinite(e)}function K0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function ep(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function nu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Xl=(e,t,n,i)=>nu(e,n,i?r=>{const s=e[r][t];return se[r][t]nu(e,n,i=>e[i][t]>=n);function q0(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+tu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Lc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(np.forEach(s=>{delete e[s]}),delete e._chartjs)}function ip(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const rp=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function sp(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,rp.call(window,()=>{i=!1,e.apply(t,n)}))}}function ey(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const iu=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,ny=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Yr=e=>e===0||e===1,Oc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),Dc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Yr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Yr(e)?e:Oc(e,.075,.3),easeOutElastic:e=>Yr(e)?e:Dc(e,.075,.3),easeInOutElastic(e){return Yr(e)?e:e<.5?.5*Oc(e*2,.1125,.45):.5+.5*Dc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function op(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function zc(e){return op(e)?e:new hr(e)}function Yo(e){return op(e)?e:new hr(e).saturate(.5).darken(.1).hexString()}const iy=["x","y","borderWidth","radius","tension"],ry=["color","borderColor","backgroundColor"];function sy(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:ry},numbers:{type:"number",properties:iy}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function oy(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Rc=new Map;function ly(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Rc.get(n);return i||(i=new Intl.NumberFormat(e,t),Rc.set(n,i)),i}function ru(e,t,n){return ly(t,n).format(e)}const lp={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=ay(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),ru(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?lp.numeric.call(this,e,t,n):""}};function ay(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var go={formatters:lp};function uy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:go.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Gl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Yo(r.backgroundColor),this.hoverBorderColor=(i,r)=>Yo(r.borderColor),this.hoverColor=(i,r)=>Yo(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Ko(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Ko(Gl,t,n)}override(t,n){return Ko(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return N(a)?Object.assign({},u,a):j(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new cy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[sy,oy,uy]);function fy(e){return!e||V(e.size)||V(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ks(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function hy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,dy(e,s),a=0;a+e||0;function up(e,t){const n={},i=N(t),r=i?Object.keys(t):t,s=N(e)?i?o=>j(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=xy(s(o));return n}function cp(e){return up(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return up(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=cp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ut(e,t){e=e||{},t=t||nt.font;let n=j(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=j(e.style,t.style);i&&!(""+i).match(yy)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:j(e.family,t.family),lineHeight:vy(j(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:j(e.weight,t.weight),string:""};return r.string=fy(r),r}function Kr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function lu(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=pp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>lu([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return hp(l,a,()=>Ey(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return Nc(l).includes(a)},ownKeys(l){return Nc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:fp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return hp(s,o,()=>ky(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function fp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const wy=(e,t)=>e?e+tu(t):t,au=(e,t)=>N(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function hp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function ky(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=Sy(t,l,e,n)),G(l)&&l.length&&(l=by(t,l,e,o.isIndexable)),au(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function Sy(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),au(e,a)&&(a=uu(r._scopes,r,e,a)),a}function by(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(N(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=uu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function dp(e,t,n){return sn(e)?e(t,n):e}const Cy=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function My(e,t,n,i,r){for(const s of t){const o=Cy(n,s);if(o){e.add(o);const l=dp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function uu(e,t,n,i){const r=t._rootScopes,s=dp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Ic(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Ic(l,o,s,a,i),a===null)?!1:lu(Array.from(l),[""],r,s,()=>Py(t,n,i))}function Ic(e,t,n,i,r){for(;n;)n=My(e,t,n,i,r);return n}function Py(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&N(n)?n:r||{}}function Ey(e,t,n,i){let r;for(const s of t)if(r=pp(wy(s,e),n),typeof r<"u")return au(e,r)?uu(n,i,e,r):r}function pp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function Nc(e){let t=e._keys;return t||(t=e._keys=Ty(e._scopes)),t}function Ty(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function gp(){return typeof window<"u"&&typeof document<"u"}function cu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Qs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const mo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Ly(e,t){return mo(e).getPropertyValue(t)}const Oy=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Oy[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Dy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function zy(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(Dy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=mo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=zy(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:y}=t;return s&&(d-=o.width+l.width,y-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/y*n.height/i)}}function Ry(e,t,n){let i,r;if(t===void 0||n===void 0){const s=cu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=mo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Qs(l.maxWidth,s,"clientWidth"),r=Qs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Us,maxHeight:r||Us}}const Qr=e=>Math.round(e*10)/10;function Fy(e,t,n,i){const r=mo(e),s=Sn(r,"margin"),o=Qs(r.maxWidth,e,"clientWidth")||Us,l=Qs(r.maxHeight,e,"clientHeight")||Us,a=Ry(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Qr(Math.min(u,o,a.maxWidth)),c=Qr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Qr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Qr(Math.floor(c*i))),{width:u,height:c}}function jc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Ay=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Bc(e,t){const n=Ly(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const Iy=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},Ny=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?Iy(t,n):Ny()}function mp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function yp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! * Chart.js v4.3.0 * https://www.chartjs.org * (c) 2023 Chart.js Contributors * Released under the MIT License - */class jy{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,r){const s=n.listeners[r],o=n.duration;s.forEach(l=>l({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=rp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new jy;const Hc="transparent",By={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=zc(e||Hc),r=i.valid&&zc(t||Hc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Hy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||By[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!I(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=Wy(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Vy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Hy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Vy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Yc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Ky(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Gy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Zy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Kc=(e,t)=>t?e:Object.assign({},e),Jy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:xp(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=$c(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,y)=>f==="x"?h:f==="r"?y:d,s=n.xAxisID=N(i.xAxisID,Qo(t,"x")),o=n.yAxisID=N(i.yAxisID,Qo(t,"y")),l=n.rAxisID=N(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Lc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(I(n))this._data=Yy(n);else if(i!==n){if(i){Lc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ty(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=$c(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Yc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):I(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]m||f=0;--h)if(!y()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),m=u.resolveNamedOptions(h,d,y,f);return m.$shared&&(m.$shared=a,s[o]=Object.freeze(Kc(m,a))),m}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new vp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function tv(e){const t=e.iScale,n=qy(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function _p(e,t,n,i){return G(e)?iv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Qc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function sv(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(H(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var pv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function Jc(e,t){return e.filter(n=>wp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function gv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=Jc(t,"x"),a=Jc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function qc(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function kp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function xv(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!I(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&kp(o,s.getPadding());const l=Math.max(0,t.outerWidth-qc(o,e,"left","right")),a=Math.max(0,t.outerHeight-qc(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function _v(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function wv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof m.beforeLayout=="function"&&m.beforeLayout()});const c=a.reduce((m,x)=>x.box.options&&x.box.options.display===!1?m:m+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);kp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),y=yv(a.concat(u),f);Ri(l.fullSize,d,f,y),Ri(a,d,f,y),Ri(u,d,f,y)&&Ri(a,d,f,y),_v(d),tf(l.leftAndTop,d,f,y),d.x+=d.w,d.y+=d.h,tf(l.rightAndBottom,d,f,y),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},j(l.chartArea,m=>{const x=m.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class Sp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class kv extends Sp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",Sv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ef=e=>e===null||e==="";function bv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",ef(r)){const s=Bc(e,"width");s!==void 0&&(e.width=s)}if(ef(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Bc(e,"height");s!==void 0&&(e.height=s)}return e}const bp=Ay?{passive:!0}:!1;function Cv(e,t,n){e.addEventListener(t,n,bp)}function Mv(e,t,n){e.canvas.removeEventListener(t,n,bp)}function Pv(e,t){const n=Sv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Ev(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let nf=0;function Cp(){const e=window.devicePixelRatio;e!==nf&&(nf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Lv(e,t){mr.size||window.addEventListener("resize",Cp),mr.set(e,t)}function Ov(e){mr.delete(e),mr.size||window.removeEventListener("resize",Cp)}function Dv(e,t,n){const i=e.canvas,r=i&&cu(i);if(!r)return;const s=sp((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Lv(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Ov(e)}function zv(e,t,n){const i=e.canvas,r=sp(s=>{e.ctx!==null&&n(Pv(s,e))},e);return Cv(i,t,r),r}class Rv extends Sp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(bv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];H(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Ev,detach:Tv,resize:Dv}[n]||zv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Mv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Fy(t,n,i,r)}isAttached(t){const n=cu(t);return!!(n&&n.isConnected)}}function Fv(e){return!gp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?kv:Rv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Av(e,t){const n=e.options.ticks,i=Iv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?jv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Bv(t,u,s,o/r),u;const c=Nv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,H(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function jv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,rf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,sf=(e,t)=>Math.min(t||e,e);function of(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function $v(e,t){j(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){W(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_y(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-lf(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=eu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){W(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){W(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=lf(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,y=$e(this.labelRotation),m=Math.cos(y),x=Math.sin(y);if(l){const p=i.mirror?0:x*f.width+m*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:m*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,m)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){W(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Z0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],y=l.setContext(this.getContext()),m=y.display?y.width:0,x=m/2,p=function(it){return fn(i,it,m)};let g,v,_,w,k,S,b,T,E,L,R,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(I(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=N(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Zv(e){return"id"in e&&"defaults"in e}class Jv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):j(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=tu(t);W(i["before"+r],[],i),n[t](i),W(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function t1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&af(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function uf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function l1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return uf(e,"x",n[0])||uf(e,"y",n[0])}return{}}function a1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Zl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!I(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=Jl(o,l,l1(o,e),nt.scales[l.type]),u=s1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Zl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=r1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Mp(e){const t=e.options||(e.options={});t.plugins=N(t.plugins,{}),t.scales=a1(e,t)}function Pp(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function u1(e){return e=e||{},e.data=Pp(e.data),Mp(e),e}const cf=new Map,Ep=new Set;function Jr(e,t){let n=cf.get(e);return n||(n=t(),cf.set(e,n),Ep.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class c1{constructor(t){this._config=u1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Pp(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Mp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Gl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Ep.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Gl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=ff(this._resolverCache,t,r);let a=o;if(h1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=ff(this._resolverCache,t,i);return I(n)?hi(s,n,void 0,r):s}}function ff(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:lu(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const f1=e=>I(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function h1(e,t){const{isScriptable:n,isIndexable:i}=fp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||f1(l))||o&&G(l))return!0}return!1}var d1="4.3.0";const p1=["top","bottom","left","right","chartArea"];function hf(e,t){return e==="top"||e==="bottom"||p1.indexOf(e)===-1&&t==="x"}function df(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function pf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),W(n&&n.onComplete,[e],t)}function g1(e){const t=e.chart,n=t.options.animation;W(n&&n.onProgress,[e],t)}function Tp(e){return gp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},gf=e=>{const t=Tp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function m1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function y1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function v1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),mf()}static unregister(...t){de.remove(...t),mf()}constructor(t,n){const i=this.config=new c1(n),r=Tp(t),s=gf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Fv(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=N0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new qv,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ey(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",pf),we.listen(this,"progress",g1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return H(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():jc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Fc(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,jc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),W(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};j(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=Jl(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),j(s,o=>{const l=o.options,a=l.id,u=Jl(a,l),c=N(l.type,o.dtype);(l.position===void 0||hf(l.position,u)!==hf(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),j(r,(o,l)=>{o||delete i[l]}),j(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(df("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){j(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Mc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;m1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],j(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=v1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&su(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&ou(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=pv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};j(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){j(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},j(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=$0(t),u=y1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,W(s.onHover,[t,l,this],this),a&&W(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",d1),z(Fe,"getChart",gf),Fe);function mf(){return j(yo.instances,e=>e._plugins.invalidate())}function Lp(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function x1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=cp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function _1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||I(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function w1(e){const t=Lp(e),n=t.right-t.left,i=t.bottom-t.top,r=x1(e,n/2,i/2),s=_1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Lp(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function k1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function S1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=w1(this),l=k1(o.radius)?gr:S1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const yf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},b1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class vf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=W(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ut(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=yf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((y,m)=>{const x=i+n/2+s.measureText(y.text).width;(m===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(m>0?0:1)]=0,d+=c,h++),a[m]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,y=0,m=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=C1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),y+=h+l,m++,h=d=0),a[p]={left:y,top:d,col:m,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;su(t,this),this._draw(),ou(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ut(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:y,boxHeight:m,itemHeight:x}=yf(o,f),p=function(k,S,b){if(isNaN(y)||y<=0||isNaN(m)||m<0)return;r.save();const T=N(b.lineWidth,1);if(r.fillStyle=N(b.fillStyle,l),r.lineCap=N(b.lineCap,"butt"),r.lineDashOffset=N(b.lineDashOffset,0),r.lineJoin=N(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=N(b.strokeStyle,l),r.setLineDash(N(b.lineDash,[])),o.usePointStyle){const E={radius:m*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,y/2),R=S+h;ap(r,E,L,R,o.pointStyleWidth&&y)}else{const E=S+Math.max((f-m)/2,0),L=a.leftForLtr(k,y),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(st=>st!==0)?gr(r,{x:L,y:E,w:y,h:m,radius:R}):r.rect(L,E,y,m),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},mp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=y+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,R,k),L=ny(T,L+y+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Op(k,It)}else d.y+=w}),yp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ut(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const y=this.columnSizes.reduce((m,x)=>Math.max(m,x.height),0);c=u+wt(t.align,this.top,this.bottom-y-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(iu(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ut(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function P1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Op(t,n)),i}function Op(e,t){const n=e.text?e.text.length+.5:0;return t*n}function E1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var T1={id:"legend",_element:vf,start(e,t,n){const i=e.legend=new vf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class Dp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ut(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ut(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:iu(n.align),textBaseline:"middle",translation:[o,l]})}}function L1(e,t){const n=new Dp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var O1={id:"title",_element:Dp,start(e,t,n){L1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;tl({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=rp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new jy;const Hc="transparent",By={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=zc(e||Hc),r=i.valid&&zc(t||Hc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Hy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||By[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!N(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=Wy(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Vy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Hy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Vy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Yc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Ky(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Gy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Zy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Kc=(e,t)=>t?e:Object.assign({},e),Jy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:xp(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=$c(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,y)=>f==="x"?h:f==="r"?y:d,s=n.xAxisID=j(i.xAxisID,Qo(t,"x")),o=n.yAxisID=j(i.yAxisID,Qo(t,"y")),l=n.rAxisID=j(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Lc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(N(n))this._data=Yy(n);else if(i!==n){if(i){Lc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ty(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=$c(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Yc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):N(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]m||f=0;--h)if(!y()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),m=u.resolveNamedOptions(h,d,y,f);return m.$shared&&(m.$shared=a,s[o]=Object.freeze(Kc(m,a))),m}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new vp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function tv(e){const t=e.iScale,n=qy(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function _p(e,t,n,i){return G(e)?iv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Qc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function sv(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(V(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var pv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function Jc(e,t){return e.filter(n=>wp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function gv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=Jc(t,"x"),a=Jc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function qc(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function kp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function xv(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!N(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&kp(o,s.getPadding());const l=Math.max(0,t.outerWidth-qc(o,e,"left","right")),a=Math.max(0,t.outerHeight-qc(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function _v(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function wv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof m.beforeLayout=="function"&&m.beforeLayout()});const c=a.reduce((m,x)=>x.box.options&&x.box.options.display===!1?m:m+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);kp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),y=yv(a.concat(u),f);Ri(l.fullSize,d,f,y),Ri(a,d,f,y),Ri(u,d,f,y)&&Ri(a,d,f,y),_v(d),tf(l.leftAndTop,d,f,y),d.x+=d.w,d.y+=d.h,tf(l.rightAndBottom,d,f,y),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},B(l.chartArea,m=>{const x=m.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class Sp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class kv extends Sp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",Sv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ef=e=>e===null||e==="";function bv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",ef(r)){const s=Bc(e,"width");s!==void 0&&(e.width=s)}if(ef(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Bc(e,"height");s!==void 0&&(e.height=s)}return e}const bp=Ay?{passive:!0}:!1;function Cv(e,t,n){e.addEventListener(t,n,bp)}function Mv(e,t,n){e.canvas.removeEventListener(t,n,bp)}function Pv(e,t){const n=Sv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Ev(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let nf=0;function Cp(){const e=window.devicePixelRatio;e!==nf&&(nf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Lv(e,t){mr.size||window.addEventListener("resize",Cp),mr.set(e,t)}function Ov(e){mr.delete(e),mr.size||window.removeEventListener("resize",Cp)}function Dv(e,t,n){const i=e.canvas,r=i&&cu(i);if(!r)return;const s=sp((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Lv(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Ov(e)}function zv(e,t,n){const i=e.canvas,r=sp(s=>{e.ctx!==null&&n(Pv(s,e))},e);return Cv(i,t,r),r}class Rv extends Sp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(bv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];V(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Ev,detach:Tv,resize:Dv}[n]||zv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Mv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Fy(t,n,i,r)}isAttached(t){const n=cu(t);return!!(n&&n.isConnected)}}function Fv(e){return!gp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?kv:Rv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Av(e,t){const n=e.options.ticks,i=Iv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?jv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Bv(t,u,s,o/r),u;const c=Nv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,V(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function jv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,rf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,sf=(e,t)=>Math.min(t||e,e);function of(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function $v(e,t){B(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){$(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_y(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-lf(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=eu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){$(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){$(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=lf(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,y=$e(this.labelRotation),m=Math.cos(y),x=Math.sin(y);if(l){const p=i.mirror?0:x*f.width+m*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:m*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,m)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){$(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Z0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],y=l.setContext(this.getContext()),m=y.display?y.width:0,x=m/2,p=function(it){return fn(i,it,m)};let g,v,_,w,k,S,b,T,E,L,R,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=j(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Zv(e){return"id"in e&&"defaults"in e}class Jv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):B(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=tu(t);$(i["before"+r],[],i),n[t](i),$(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function t1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&af(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function uf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function l1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return uf(e,"x",n[0])||uf(e,"y",n[0])}return{}}function a1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Zl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!N(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=Jl(o,l,l1(o,e),nt.scales[l.type]),u=s1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Zl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=r1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Mp(e){const t=e.options||(e.options={});t.plugins=j(t.plugins,{}),t.scales=a1(e,t)}function Pp(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function u1(e){return e=e||{},e.data=Pp(e.data),Mp(e),e}const cf=new Map,Ep=new Set;function Jr(e,t){let n=cf.get(e);return n||(n=t(),cf.set(e,n),Ep.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class c1{constructor(t){this._config=u1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Pp(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Mp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Gl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Ep.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Gl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=ff(this._resolverCache,t,r);let a=o;if(h1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=ff(this._resolverCache,t,i);return N(n)?hi(s,n,void 0,r):s}}function ff(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:lu(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const f1=e=>N(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function h1(e,t){const{isScriptable:n,isIndexable:i}=fp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||f1(l))||o&&G(l))return!0}return!1}var d1="4.3.0";const p1=["top","bottom","left","right","chartArea"];function hf(e,t){return e==="top"||e==="bottom"||p1.indexOf(e)===-1&&t==="x"}function df(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function pf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),$(n&&n.onComplete,[e],t)}function g1(e){const t=e.chart,n=t.options.animation;$(n&&n.onProgress,[e],t)}function Tp(e){return gp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},gf=e=>{const t=Tp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function m1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function y1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function v1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),mf()}static unregister(...t){de.remove(...t),mf()}constructor(t,n){const i=this.config=new c1(n),r=Tp(t),s=gf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Fv(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=N0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new qv,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ey(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",pf),we.listen(this,"progress",g1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return V(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():jc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Fc(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,jc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),$(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};B(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=Jl(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),B(s,o=>{const l=o.options,a=l.id,u=Jl(a,l),c=j(l.type,o.dtype);(l.position===void 0||hf(l.position,u)!==hf(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),B(r,(o,l)=>{o||delete i[l]}),B(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(df("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){B(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Mc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;m1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],B(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=v1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&su(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&ou(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=pv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};B(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){B(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},B(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=$0(t),u=y1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,$(s.onHover,[t,l,this],this),a&&$(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",d1),z(Fe,"getChart",gf),Fe);function mf(){return B(yo.instances,e=>e._plugins.invalidate())}function Lp(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function x1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=cp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function _1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||N(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function w1(e){const t=Lp(e),n=t.right-t.left,i=t.bottom-t.top,r=x1(e,n/2,i/2),s=_1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Lp(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function k1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function S1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=w1(this),l=k1(o.radius)?gr:S1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const yf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},b1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class vf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=$(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ut(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=yf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((y,m)=>{const x=i+n/2+s.measureText(y.text).width;(m===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(m>0?0:1)]=0,d+=c,h++),a[m]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,y=0,m=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=C1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),y+=h+l,m++,h=d=0),a[p]={left:y,top:d,col:m,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;su(t,this),this._draw(),ou(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ut(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:y,boxHeight:m,itemHeight:x}=yf(o,f),p=function(k,S,b){if(isNaN(y)||y<=0||isNaN(m)||m<0)return;r.save();const T=j(b.lineWidth,1);if(r.fillStyle=j(b.fillStyle,l),r.lineCap=j(b.lineCap,"butt"),r.lineDashOffset=j(b.lineDashOffset,0),r.lineJoin=j(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=j(b.strokeStyle,l),r.setLineDash(j(b.lineDash,[])),o.usePointStyle){const E={radius:m*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,y/2),R=S+h;ap(r,E,L,R,o.pointStyleWidth&&y)}else{const E=S+Math.max((f-m)/2,0),L=a.leftForLtr(k,y),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(st=>st!==0)?gr(r,{x:L,y:E,w:y,h:m,radius:R}):r.rect(L,E,y,m),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},mp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=y+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,R,k),L=ny(T,L+y+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Op(k,It)}else d.y+=w}),yp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ut(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const y=this.columnSizes.reduce((m,x)=>Math.max(m,x.height),0);c=u+wt(t.align,this.top,this.bottom-y-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(iu(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ut(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function P1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Op(t,n)),i}function Op(e,t){const n=e.text?e.text.length+.5:0;return t*n}function E1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var T1={id:"legend",_element:vf,start(e,t,n){const i=e.legend=new vf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class Dp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ut(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ut(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:iu(n.align),textBaseline:"middle",translation:[o,l]})}}function L1(e,t){const n=new Dp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var O1={id:"title",_element:Dp,start(e,t,n){L1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;t-1?e.split(` -`):e}function D1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function xf(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ut(t.bodyFont),u=ut(t.titleFont),c=ut(t.footerFont),f=s.length,h=r.length,d=i.length,y=bt(t.padding);let m=y.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(m+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;m+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(m+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,j(e.title,v),n.font=a.string,j(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,j(i,_=>{j(_.before,v),j(_.lines,v),j(_.after,v)}),g=0,n.font=c.string,j(e.footer,v),n.restore(),x+=y.width,{width:x,height:m}}function z1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function R1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function F1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),R1(u,e,t,n)&&(u="center"),u}function _f(e,t,n){const i=n.yAlign||t.yAlign||z1(e,n);return{xAlign:n.xAlign||t.xAlign||F1(e,t,n,i),yAlign:i}}function A1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function I1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function wf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let y=A1(t,l);const m=I1(t,a,u);return a==="center"?l==="left"?y+=u:l==="right"&&(y-=u):l==="left"?y-=Math.max(c,h)+r:l==="right"&&(y+=Math.max(f,d)+r),{x:se(y,0,i.width-t.width),y:se(m,0,i.height-t.height)}}function qr(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function kf(e){return fe([],ke(e))}function N1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function Sf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const zp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?zp[t].call(n,i):r}class ql extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new vp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=N1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return kf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return j(t,s=>{const o={before:[],lines:[],after:[]},l=Sf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return kf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),j(l,c=>{const f=Sf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=xf(this,i),u=Object.assign({},l,a),c=_f(this.chart,i,u),f=wf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:y,height:m}=n;let x,p,g,v,_,w;return s==="center"?(_=d+m/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+y,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+y-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+m,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ut(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:m,y,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:y+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(m,y,u,a),t.strokeRect(m,y,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,y+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ut(i.bodyFont);let h=f.lineHeight,d=0;const y=ii(i.rtl,this.x,this.width),m=function(b){n.fillText(b,y.x(t.x+d),t.y+h/2),t.y+=h+s},x=y.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,j(this.beforeBody,m),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=xf(this,t),a=Object.assign({},o,this._size),u=_f(n,t,a),c=wf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),mp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),yp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ql,"positioners",Fi);var j1={id:"tooltip",_element:ql,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ql({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:zp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const B1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function H1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return B1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const V1=(e,t)=>e===null?null:se(Math.round(e),0,t);function bf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ta,"id","category"),z(ta,"defaults",{ticks:{callback:bf}});function W1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,y=c-1,{min:m,max:x}=t,p=!H(o),g=!H(l),v=!H(u),_=(x-m)/(f+1);let w=Ec((x-m)/y/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:m},{value:x}];T=Math.ceil(x/w)-Math.floor(m/w),T>y&&(w=Ec(T*w/y/d)*d),H(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(m/w)*w,b=Math.ceil(x/w)*w):(S=m,b=x),p&&g&&s&&K0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Tc(w),Tc(S));k=Math.pow(10,H(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Cf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Cf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return H(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=W1(r,s);return t.bounds==="ticks"&&ep(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return ru(t,this.chart.options.locale,this.options.ticks.format)}}class ea extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?t:0,this.max=ft(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(ea,"id","linear"),z(ea,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Mf(e){return e/Math.pow(10,yr(e))===1}function Pf(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function $1(e,t){const n=t-e;let i=yr(n);for(;Pf(e,t,i)>10;)i++;for(;Pf(e,t,i)<10;)i--;return Math.min(i,yr(e))}function U1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=$1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Mf(d),significand:f}),i}class Ef extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ft(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?Math.max(0,t):null,this.max=ft(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ft(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=U1(n,this);return t.bounds==="ticks"&&ep(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":ru(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Ef,"id","logarithmic"),z(Ef,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function na(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return N(t.font&&t.font.size,nt.font.size)+n.height}return 0}function Y1(e,t,n){return n=G(n)?n:[n],{w:hy(e,t.string,n),h:n.length*t.lineHeight}}function Tf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function K1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function X1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(eu(pe(a.angle+zt))),c=tx(a.y,l.h,u),f=J1(u),h=q1(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function G1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function Z1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:na(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function ex(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!H(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(y=>y!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function nx(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));ex(n,o,s);const l=ut(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Rp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=W(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?K1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(H(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(H(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),y=s.setContext(h);ix(this,d,a,o,y)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ut(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function sx(e,t){return e-t}function Lf(e,t){if(H(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ft(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Of(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function lx(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ax(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function zf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Of(s.minUnit,n,i,this._getLabelCapacity(n)),l=N(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const y=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hm-x).map(m=>+m)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return W(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Xl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Xl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Rf extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Fp;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function cx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Fp;const n={labels:[],datasets:[]};return Ap(n,e.labels),Ip(n,e.datasets,t),n}function fx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=pt.useRef(null),y=pt.useRef(),m=()=>{d.current&&(y.current=new yo(d.current,{type:o,data:cx(l,s),options:a&&{...a},plugins:u}),Ff(t,y.current))},x=()=>{Ff(t,null),y.current&&(y.current.destroy(),y.current=null)};return pt.useEffect(()=>{!r&&y.current&&a&&ux(y.current,a)},[r,a]),pt.useEffect(()=>{!r&&y.current&&Ap(y.current.config.data,l.labels)},[r,l.labels]),pt.useEffect(()=>{!r&&y.current&&l.datasets&&Ip(y.current.config.data,l.datasets,s)},[r,l.datasets]),pt.useEffect(()=>{y.current&&(r?(x(),setTimeout(m)):y.current.update(f))},[r,a,l.labels,l.datasets,f]),pt.useEffect(()=>{y.current&&(x(),setTimeout(m))},[o]),pt.useEffect(()=>(m(),()=>x()),[]),Uf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const hx=pt.forwardRef(fx);function dx(e,t){return yo.register(t),pt.forwardRef((n,i)=>Uf.createElement(hx,Object.assign({},n,{ref:i,type:e})))}const px=dx("bar",gs);yo.register(ta,ea,vs,O1,j1,T1);const gx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},mx=({data:e})=>{const t=g0(e),n=p0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return Q.jsx(px,{options:gx,data:i})};function yx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r,startTime:s,endTime:o,applicationType:l,originatingService:a,status:u,protocol:c}=t;if(!n.startsWith("/?key=")&&n!=="/"&&!(n.includes("GET")||n.includes("PATCH")||n.includes("PUT")||n.includes("DELETE")||n.includes("POST"))){if(n.startsWith("/_next/static/")){const f=n.lastIndexOf("/");n=n.slice(f+1)}e(f=>{const h=new Map([...f.entries()]),d=`${i}, ${n}, ${r}`;if(h.has(d)){const m=h.get(d);let x=!1;sm.trueEndTime&&(m.trueEndTime=o,x=!0),m.status===void 0&&"status"in t&&(m.status=t.status),m.protocol===void 0&&"protocol"in t&&(m.protocol=t.protocol),x&&(m.duration=m.trueEndTime-m.trueStartTime)}else{const m={traceId:r,applicationType:l,originatingService:a,method:i,status:u,protocol:c,relativeStartTime:0,trueStartTime:s,trueEndTime:o,duration:o-s,name:n};h.set(d,m)}return vx(h)})}}function vx(e){const t=Array.from(e.entries());t.sort((r,s)=>r[1].trueStartTime-s[1].trueStartTime);const n=new Map(t),i=n.entries().next().value;return n.forEach(r=>{r.relativeStartTime=r.trueStartTime-i[1].trueStartTime}),n}function xx(){const[e,t]=pt.useState(new Map);return pt.useEffect(()=>{chrome.runtime.onMessage.addListener(n=>{})},[]),pt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",i=>{try{yx(t,JSON.parse(i.data))}catch(r){console.log("failed",r)}})},[]),pt.useEffect(()=>{console.log(e)},[e]),Q.jsxs(Q.Fragment,{children:[Q.jsx(mx,{data:e}),Q.jsx(d0,{data:e})]})}const _x=document.getElementById("root"),wx=Gd(_x);console.log("panel/index.jsx reached");wx.render(Q.jsx(xx,{})); +`):e}function D1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function xf(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ut(t.bodyFont),u=ut(t.titleFont),c=ut(t.footerFont),f=s.length,h=r.length,d=i.length,y=bt(t.padding);let m=y.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(m+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;m+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(m+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,B(e.title,v),n.font=a.string,B(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,B(i,_=>{B(_.before,v),B(_.lines,v),B(_.after,v)}),g=0,n.font=c.string,B(e.footer,v),n.restore(),x+=y.width,{width:x,height:m}}function z1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function R1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function F1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),R1(u,e,t,n)&&(u="center"),u}function _f(e,t,n){const i=n.yAlign||t.yAlign||z1(e,n);return{xAlign:n.xAlign||t.xAlign||F1(e,t,n,i),yAlign:i}}function A1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function I1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function wf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let y=A1(t,l);const m=I1(t,a,u);return a==="center"?l==="left"?y+=u:l==="right"&&(y-=u):l==="left"?y-=Math.max(c,h)+r:l==="right"&&(y+=Math.max(f,d)+r),{x:se(y,0,i.width-t.width),y:se(m,0,i.height-t.height)}}function qr(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function kf(e){return fe([],ke(e))}function N1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function Sf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const zp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?zp[t].call(n,i):r}class ql extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new vp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=N1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return kf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return B(t,s=>{const o={before:[],lines:[],after:[]},l=Sf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return kf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),B(l,c=>{const f=Sf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=xf(this,i),u=Object.assign({},l,a),c=_f(this.chart,i,u),f=wf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:y,height:m}=n;let x,p,g,v,_,w;return s==="center"?(_=d+m/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+y,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+y-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+m,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ut(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:m,y,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:y+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(m,y,u,a),t.strokeRect(m,y,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,y+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ut(i.bodyFont);let h=f.lineHeight,d=0;const y=ii(i.rtl,this.x,this.width),m=function(b){n.fillText(b,y.x(t.x+d),t.y+h/2),t.y+=h+s},x=y.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,B(this.beforeBody,m),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=xf(this,t),a=Object.assign({},o,this._size),u=_f(n,t,a),c=wf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),mp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),yp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ql,"positioners",Fi);var j1={id:"tooltip",_element:ql,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ql({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:zp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const B1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function H1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return B1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const V1=(e,t)=>e===null?null:se(Math.round(e),0,t);function bf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ta,"id","category"),z(ta,"defaults",{ticks:{callback:bf}});function W1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,y=c-1,{min:m,max:x}=t,p=!V(o),g=!V(l),v=!V(u),_=(x-m)/(f+1);let w=Ec((x-m)/y/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:m},{value:x}];T=Math.ceil(x/w)-Math.floor(m/w),T>y&&(w=Ec(T*w/y/d)*d),V(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(m/w)*w,b=Math.ceil(x/w)*w):(S=m,b=x),p&&g&&s&&K0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Tc(w),Tc(S));k=Math.pow(10,V(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Cf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Cf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return V(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=W1(r,s);return t.bounds==="ticks"&&ep(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return ru(t,this.chart.options.locale,this.options.ticks.format)}}class ea extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?t:0,this.max=ft(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(ea,"id","linear"),z(ea,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Mf(e){return e/Math.pow(10,yr(e))===1}function Pf(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function $1(e,t){const n=t-e;let i=yr(n);for(;Pf(e,t,i)>10;)i++;for(;Pf(e,t,i)<10;)i--;return Math.min(i,yr(e))}function U1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=$1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Mf(d),significand:f}),i}class Ef extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ft(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?Math.max(0,t):null,this.max=ft(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ft(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=U1(n,this);return t.bounds==="ticks"&&ep(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":ru(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Ef,"id","logarithmic"),z(Ef,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function na(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return j(t.font&&t.font.size,nt.font.size)+n.height}return 0}function Y1(e,t,n){return n=G(n)?n:[n],{w:hy(e,t.string,n),h:n.length*t.lineHeight}}function Tf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function K1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function X1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(eu(pe(a.angle+zt))),c=tx(a.y,l.h,u),f=J1(u),h=q1(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function G1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function Z1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:na(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function ex(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!V(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(y=>y!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function nx(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));ex(n,o,s);const l=ut(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Rp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=$(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?K1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(V(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(V(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),y=s.setContext(h);ix(this,d,a,o,y)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ut(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function sx(e,t){return e-t}function Lf(e,t){if(V(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ft(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Of(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function lx(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ax(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function zf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Of(s.minUnit,n,i,this._getLabelCapacity(n)),l=j(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const y=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hm-x).map(m=>+m)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return $(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Xl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Xl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Rf extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Fp;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function cx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Fp;const n={labels:[],datasets:[]};return Ap(n,e.labels),Ip(n,e.datasets,t),n}function fx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=pt.useRef(null),y=pt.useRef(),m=()=>{d.current&&(y.current=new yo(d.current,{type:o,data:cx(l,s),options:a&&{...a},plugins:u}),Ff(t,y.current))},x=()=>{Ff(t,null),y.current&&(y.current.destroy(),y.current=null)};return pt.useEffect(()=>{!r&&y.current&&a&&ux(y.current,a)},[r,a]),pt.useEffect(()=>{!r&&y.current&&Ap(y.current.config.data,l.labels)},[r,l.labels]),pt.useEffect(()=>{!r&&y.current&&l.datasets&&Ip(y.current.config.data,l.datasets,s)},[r,l.datasets]),pt.useEffect(()=>{y.current&&(r?(x(),setTimeout(m)):y.current.update(f))},[r,a,l.labels,l.datasets,f]),pt.useEffect(()=>{y.current&&(x(),setTimeout(m))},[o]),pt.useEffect(()=>(m(),()=>x()),[]),Uf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const hx=pt.forwardRef(fx);function dx(e,t){return yo.register(t),pt.forwardRef((n,i)=>Uf.createElement(hx,Object.assign({},n,{ref:i,type:e})))}const px=dx("bar",gs);yo.register(ta,ea,vs,O1,j1,T1);const gx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}},maintainAspectRatio:!1},mx=({data:e})=>{const t=g0(e),n=p0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return I.jsx(px,{options:gx,data:i})};function yx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r,startTime:s,endTime:o,applicationType:l,originatingService:a,status:u,protocol:c}=t;if(!n.startsWith("/?key=")&&n!=="/"&&!(n.includes("GET")||n.includes("PATCH")||n.includes("PUT")||n.includes("DELETE")||n.includes("POST"))){if(n.startsWith("/_next/static/")){const f=n.lastIndexOf("/");n=n.slice(f+1)}e(f=>{const h=new Map([...f.entries()]),d=`${i}, ${n}, ${r}`;if(h.has(d)){const m=h.get(d);let x=!1;sm.trueEndTime&&(m.trueEndTime=o,x=!0),m.status===void 0&&"status"in t&&(m.status=t.status),m.protocol===void 0&&"protocol"in t&&(m.protocol=t.protocol),x&&(m.duration=m.trueEndTime-m.trueStartTime)}else{const m={traceId:r,applicationType:l,originatingService:a,method:i,status:u,protocol:c,relativeStartTime:0,trueStartTime:s,trueEndTime:o,duration:o-s,name:n};h.set(d,m)}return vx(h)})}}function vx(e){const t=Array.from(e.entries());t.sort((r,s)=>r[1].trueStartTime-s[1].trueStartTime);const n=new Map(t),i=n.entries().next().value;return n.forEach(r=>{r.relativeStartTime=r.trueStartTime-i[1].trueStartTime}),n}const xx=({setRelevant:e})=>{const t=()=>{e(new Map)};return I.jsx("button",{className:"bg-violet-800 border-[1px] border-slate-400 mb-5 p-2 ml-auto",onClick:t,children:"Clear History"})},_x=()=>I.jsxs("div",{className:"h-[67vh] p-56 flex flex-col justify-center text-center text-lg gap-5",children:[I.jsx("p",{children:" Recording network activity ... "}),I.jsxs("p",{children:[" Perform a request or hit",I.jsx("strong",{children:" ⌘ R "}),"to record the reload"]})]});function wx(){const[e,t]=pt.useState(new Map);return pt.useEffect(()=>{chrome.runtime.onMessage.addListener(n=>{})},[]),pt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",i=>{try{yx(t,JSON.parse(i.data))}catch(r){console.log("failed",r)}})},[]),pt.useEffect(()=>{console.log(e)},[e]),I.jsxs("div",{className:"flex flex-col",children:[I.jsx("div",{className:e.size>0?"h-[33vh]":"h-[33vh] border-b-[1px] border-slate-400",children:I.jsx(mx,{data:e})}),e.size>0?I.jsxs("div",{children:[I.jsx(xx,{setRelevant:t}),I.jsx(d0,{data:e})]}):I.jsx(_x,{})]})}const kx=document.getElementById("root"),Sx=Gd(kx);console.log("panel/index.jsx reached");Sx.render(I.jsx(wx,{})); diff --git a/chrome-extension/dist/src/pages/panel/index.html b/chrome-extension/dist/src/pages/panel/index.html index deb6695..7c5cd2c 100644 --- a/chrome-extension/dist/src/pages/panel/index.html +++ b/chrome-extension/dist/src/pages/panel/index.html @@ -2,9 +2,9 @@ - + - +

diff --git a/chrome-extension/src/pages/app/app.tsx b/chrome-extension/src/pages/app/app.tsx index 8ad6aa4..9db9e7d 100644 --- a/chrome-extension/src/pages/app/app.tsx +++ b/chrome-extension/src/pages/app/app.tsx @@ -4,6 +4,8 @@ import NetworkTable from './components/NetworkTable.tsx' import WaterfallChart from './components/WaterfallGraph.tsx'; import {IRelevant} from '../../types/types.ts'; import {isRelevant} from './functions/isRelevant.ts'; +import ClearState from './components/ClearState.tsx'; +import Reload from './components/Reload.tsx'; function App() { const [relevant, setRelevant] = useState(new Map()); @@ -35,10 +37,20 @@ function App() { return ( - <> - - - +
+
0 ? 'h-[33vh]' : 'h-[33vh] border-b-[1px] border-slate-400'}> + +
+ + {relevant.size > 0 ? +
+ + +
+ : + + } +
) } diff --git a/chrome-extension/src/pages/app/components/ClearState.tsx b/chrome-extension/src/pages/app/components/ClearState.tsx new file mode 100644 index 0000000..beb75ae --- /dev/null +++ b/chrome-extension/src/pages/app/components/ClearState.tsx @@ -0,0 +1,18 @@ +import { ISetRelevantState } from "../../../types/types"; + +interface ClearStateProps { + setRelevant: ISetRelevantState; +} + +const ClearState = ({setRelevant} : ClearStateProps) => { + const clearState = () => { + setRelevant(new Map()); + } + return ( + + ) +} + +export default ClearState \ No newline at end of file diff --git a/chrome-extension/src/pages/app/components/Reload.tsx b/chrome-extension/src/pages/app/components/Reload.tsx new file mode 100644 index 0000000..ff650df --- /dev/null +++ b/chrome-extension/src/pages/app/components/Reload.tsx @@ -0,0 +1,10 @@ +const Reload = () => { + return ( +
+

Recording network activity ...

+

Perform a request or hit ⌘ R to record the reload

+
+ ) +} + +export default Reload \ No newline at end of file diff --git a/chrome-extension/src/pages/app/components/TableRow.tsx b/chrome-extension/src/pages/app/components/TableRow.tsx index 3a92ace..177963c 100644 --- a/chrome-extension/src/pages/app/components/TableRow.tsx +++ b/chrome-extension/src/pages/app/components/TableRow.tsx @@ -13,7 +13,7 @@ const TableRow = ({data} : TableRowProps) => { {data.method} {data.status} {data.protocol} - {data.duration}ms + {data.duration} ms {data.originatingService} {data.applicationType} diff --git a/chrome-extension/src/pages/app/components/WaterfallGraph.tsx b/chrome-extension/src/pages/app/components/WaterfallGraph.tsx index df31246..fa7a253 100644 --- a/chrome-extension/src/pages/app/components/WaterfallGraph.tsx +++ b/chrome-extension/src/pages/app/components/WaterfallGraph.tsx @@ -63,6 +63,7 @@ const options = { display: false, }, }, + maintainAspectRatio: false, }; From 812ef99a2d01e3322f23778f0f4d2b863a8916e8 Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Mon, 10 Jul 2023 09:51:02 -0400 Subject: [PATCH 15/18] updated manifest file version --- chrome-extension/dist.zip | Bin 108833 -> 109351 bytes chrome-extension/dist/manifest.json | 2 +- chrome-extension/manifest.json | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/chrome-extension/dist.zip b/chrome-extension/dist.zip index 546fe186b5fba858f202797c655218bf1995c272..67add9ac087efafb5bc96484a53b63c7d7ed0a80 100644 GIT binary patch delta 103072 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

1ZH^4@YG9aOmJ0e>?033G>SUc4jCY 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 `i?I7;N)EIGb=%U&*tOij0BYhShLR zkHc~{nuiN|14a*E2zT1T$&gZeVBW;yovM()0`EVx!23pnd*BYgAP}oW0>zLyG@rfu zr3>IcSeX5vHX%S=E&s2!>f3*wsw;o`I{K9j7dSEaNMComR(lGl|8Hr~1?!~?7(YZk zKz-rBMeDQV*QjkK&0)^#sJ!^~a{3|Khl#)TfJA~V!^Q4%>)H#?Tf_bs?L+g?e?IJw zzkk^7p!+w#F8)r9o2}6-!x2XpM>UKcMk5l9@6M@t4tnukhV@WbxVC?Koa?h|qRZF* z_BP5c)|W)f-^!hu>giXXLde$C>AQYLHDN^RdMfb#=F=RDH874hE(_vW^evJ4vnykp zGc`}sGs5=hE&5fxDnF>R`?@ZR4~e`MFIs8hDguzQP2 ze_wYf5IV4FjlyAHu5F{!K~LKcH68Y3VSEAnmApEN!1lP2pneCxj;mGikq_IGc>ZBg z7Hd4PL-coKXtEpM_d|~!TEbwwlhHH(=xbn6*p;6FjeA4cz=YT z;07ox;gyvL8_S>@)!Z#ywVS&W{-C~oR+x+dO@z(hH+UMjsK9pWGR~_^n!BLq_A<~T z3xD3(*a>&L2jR7U_2DdNMXk_^E;F7^$OG@b@d#ipSNpb3#X4E(qFVJ0`~^uu=`TSEvVixv|@ z*v-MbCCm_GvJz4(OEnIG>uH!l@JX#j>cR`JF~5WPFpBAa0*6Rb!5ff-OYSy1$~w)e zm3+9}k!@ETAYR!OK?M~o-VqIJvP(QR8TYI;f0MSO; zXgNpmVFad6g25-H?J&vJ=?^+W7k%)i8aLv3D4CYR7qwv_tEXFI38p)>!Gi`xj%K%z zqo(0~S()2^u*Q)Cr4#QOQYi9VHLYFf!8RCA!nK&myP}xdjgG5J2pG$E(nA`EajTL> zYpAM>0H(PJ!{S?3pGNS3>@}SBK=YQr;PuH)v~TZ zbLleAmTA6__@PyFt~CBQVu|r&c24hn{wbV|a9c}%n}-u#Tkr=zIc&ootnUI7kJ@D_ z8sm_*WkO3d*X2U`CXTc=MzUd|4(8hNIQ`;Bin-Nlmr^@}NEHm=mkZa*HU;H661p$xFgxxNrDFdQ*7u7=F?>x(!NcD5a4U84DM8j*CQ| z)f;VpeX?tJ=++;*R1wH1UQcK9xGZDNNr<8U#x@!nY|7mt{5gFC7S*6*o*FGrrvR0L=bFIE6WX zW5e!vj1wKbRV_A_<0Y~XFOgfl&xND5RfwO6hJJ`xeNMkD&OChv24NFS*i8`v5*!{D za8CmSYbDjrKq= zw;l+V)&s$67yYRCurWte$I1e*qIp{02|cX}@}%l0_BP{CBLBGcGVu@BqDV9q*QQJ8 zVqWfK*Q~_ad4IK5RTs|)OsaYzZGr||HbtEWn_w=2zfCq5(|J#8|ZfPKaoHfGhSH z{i%l^tlFAU6C}w6lI&o<`82&2%bfqOw>MpG+sqb4|DUIjcv1>rf)uF?-5WH-vJ*RT zw=-

) } diff --git a/chrome-extension/src/pages/app/functions/chartJSData.ts b/chrome-extension/src/pages/app/functions/chartJSData.ts index cdcf711..4327ac9 100644 --- a/chrome-extension/src/pages/app/functions/chartJSData.ts +++ b/chrome-extension/src/pages/app/functions/chartJSData.ts @@ -4,8 +4,8 @@ export function getChartJSTraceData(allRequestData: IRelevant): ILengthsOfChartB const output: ILengthsOfChartBars= []; allRequestData.forEach((request) => { - console.log('relative start time',request.relativeStartTime); - console.log('relative start time',request.duration); + // console.log('relative start time',request.relativeStartTime); + // console.log('relative start time',request.duration); const singleChartJSData: number[] = [request.relativeStartTime, request.relativeStartTime + request.duration]; output.push(singleChartJSData) diff --git a/chrome-extension/src/pages/devtools/index.ts b/chrome-extension/src/pages/devtools/index.ts index 791b646..4bb6b75 100644 --- a/chrome-extension/src/pages/devtools/index.ts +++ b/chrome-extension/src/pages/devtools/index.ts @@ -20,7 +20,7 @@ try { function(request) { const networkObject: IChromeApiNetworkObject = {}; if (request.request.httpVersion === 'chrome-extension') return; - console.log(request); + // console.log(request); networkObject.method = request.request.method; networkObject.protocol = request.request.httpVersion; networkObject.size = request.response.bodySize; diff --git a/chrome-extension/src/pages/panel/index.tsx b/chrome-extension/src/pages/panel/index.tsx index c5c804c..c519bfe 100644 --- a/chrome-extension/src/pages/panel/index.tsx +++ b/chrome-extension/src/pages/panel/index.tsx @@ -6,6 +6,6 @@ import App from '../app/app.tsx' const domNode: HTMLElement = document.getElementById('root')! const root = createRoot(domNode) -console.log('panel/index.jsx reached') +// console.log('panel/index.jsx reached') root.render() From 800170167106b4e1325aa9c074bc6211daa4ac7e Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Tue, 11 Jul 2023 21:53:55 -0400 Subject: [PATCH 17/18] cleaned up development console logs and files not contributing to production --- .../dist/assets/devtools-1aa0f94a.js | 1 + .../dist/assets/devtools-6e5143ad.js | 1 - .../dist/assets/devtools-dfdef4d7.js | 1 - ...{index-2b3c72e0.css => index-8ab484eb.css} | 2 +- .../dist/assets/index-f2bb8e94.css | 1 - .../dist/assets/panel-5c8ccea2.js | 57 + .../dist/assets/panel-a9d3a4ab.js | 86 - .../dist/assets/panel-f8e9e358.js | 86 - .../dist/src/pages/devtools/index.html | 2 +- .../dist/src/pages/panel/index.html | 4 +- chrome-extension/src/pages/app/app.tsx | 34 +- .../src/pages/app/components/NetworkTable.tsx | 4 - .../src/pages/app/components/TableRow.tsx | 1 - .../pages/app/components/WaterfallGraph.tsx | 8 +- .../{isRelevant.ts => aggregateAndSort.ts} | 19 +- .../src/pages/app/functions/calcTotalTime.ts | 3 - .../src/pages/app/functions/chartJSData.ts | 5 +- .../src/pages/app/functions/checkTraceId.ts | 47 - .../pages/app/functions/createBarClassName.ts | 20 - .../src/pages/app/functions/getTraceInfo.ts | 152 -- chrome-extension/src/pages/app/mockData.tsx | 2107 ----------------- chrome-extension/src/types/types.ts | 22 +- 22 files changed, 86 insertions(+), 2577 deletions(-) create mode 100644 chrome-extension/dist/assets/devtools-1aa0f94a.js delete mode 100644 chrome-extension/dist/assets/devtools-6e5143ad.js delete mode 100644 chrome-extension/dist/assets/devtools-dfdef4d7.js rename chrome-extension/dist/assets/{index-2b3c72e0.css => index-8ab484eb.css} (72%) delete mode 100644 chrome-extension/dist/assets/index-f2bb8e94.css create mode 100644 chrome-extension/dist/assets/panel-5c8ccea2.js delete mode 100644 chrome-extension/dist/assets/panel-a9d3a4ab.js delete mode 100644 chrome-extension/dist/assets/panel-f8e9e358.js rename chrome-extension/src/pages/app/functions/{isRelevant.ts => aggregateAndSort.ts} (74%) delete mode 100644 chrome-extension/src/pages/app/functions/calcTotalTime.ts delete mode 100644 chrome-extension/src/pages/app/functions/checkTraceId.ts delete mode 100644 chrome-extension/src/pages/app/functions/createBarClassName.ts delete mode 100644 chrome-extension/src/pages/app/functions/getTraceInfo.ts delete mode 100644 chrome-extension/src/pages/app/mockData.tsx diff --git a/chrome-extension/dist/assets/devtools-1aa0f94a.js b/chrome-extension/dist/assets/devtools-1aa0f94a.js new file mode 100644 index 0000000..e837666 --- /dev/null +++ b/chrome-extension/dist/assets/devtools-1aa0f94a.js @@ -0,0 +1 @@ +import"./modulepreload-polyfill-3cfb730f.js";function o(e){return new Date(e).getTime()}try{chrome.devtools.panels.create("NextInspect","icon.png","src/pages/panel/index.html"),chrome.devtools.network.onRequestFinished.addListener(function(e){const t={};e.request.httpVersion!=="chrome-extension"&&(t.method=e.request.method,t.protocol=e.request.httpVersion,t.size=e.response.bodySize,t.status=e.response.status,t.startTime=o(e.startedDateTime),t.time=e.time,t.urlEndpoint=e.request.url,t.type=e._resourceType,t.initiator=e._initiator,chrome.runtime.sendMessage(t))})}catch(e){console.log(e)} diff --git a/chrome-extension/dist/assets/devtools-6e5143ad.js b/chrome-extension/dist/assets/devtools-6e5143ad.js deleted file mode 100644 index 971b46f..0000000 --- a/chrome-extension/dist/assets/devtools-6e5143ad.js +++ /dev/null @@ -1 +0,0 @@ -import"./modulepreload-polyfill-3cfb730f.js";try{chrome.devtools.panels.create("NextInspect","icon.png","src/pages/panel/index.html"),chrome.devtools.network.onRequestFinished.addListener(function(e){const t={};e.request.httpVersion!=="chrome-extension"&&(t.method=e.request.method,t.protocol=e.request.httpVersion,t.size=e.response.bodySize,t.status=e.response.status,t.startTime=e.startedDateTime,t.time=e.time,t.urlEndpoint=e.request.url,t.type=e.response.content.mimeType,t.initiator=e._initiator,chrome.runtime.sendMessage(t))})}catch(e){console.log(e)} diff --git a/chrome-extension/dist/assets/devtools-dfdef4d7.js b/chrome-extension/dist/assets/devtools-dfdef4d7.js deleted file mode 100644 index 1b312f4..0000000 --- a/chrome-extension/dist/assets/devtools-dfdef4d7.js +++ /dev/null @@ -1 +0,0 @@ -import"./modulepreload-polyfill-3cfb730f.js";function o(e){return new Date(e).getTime()}try{chrome.devtools.panels.create("NextInspect","icon.png","src/pages/panel/index.html"),chrome.devtools.network.onRequestFinished.addListener(function(e){const t={};e.request.httpVersion!=="chrome-extension"&&(console.log(e),t.method=e.request.method,t.protocol=e.request.httpVersion,t.size=e.response.bodySize,t.status=e.response.status,t.startTime=o(e.startedDateTime),t.time=e.time,t.urlEndpoint=e.request.url,t.type=e._resourceType,t.initiator=e._initiator,chrome.runtime.sendMessage(t))})}catch(e){console.log(e)} diff --git a/chrome-extension/dist/assets/index-2b3c72e0.css b/chrome-extension/dist/assets/index-8ab484eb.css similarity index 72% rename from chrome-extension/dist/assets/index-2b3c72e0.css rename to chrome-extension/dist/assets/index-8ab484eb.css index 803a09f..0fd4b66 100644 --- a/chrome-extension/dist/assets/index-2b3c72e0.css +++ b/chrome-extension/dist/assets/index-8ab484eb.css @@ -1 +1 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.fixed{position:fixed}.m-3{margin:.75rem}.table{display:table}.grid{display:grid}.h-5{height:1.25rem}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity))}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}body{background-color:#292a2d;color:#fff}tr:nth-child(even){background-color:#202124}table{border:1.5px solid blue;width:100%;text-align:left;border-collapse:collapse}th{border:1px solid rgb(74,76,80)}th,td{font-weight:400;border-right:1px solid rgb(144,143,143);padding:15px;font-size:small;max-width:10px;max-height:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr:hover:not(:first-child){background-color:#24245d}th:hover{background-color:#162266}.arrow{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 0%,50% 50%,0% 100%);clip-path:polygon(0% 0%,50% 50%,0% 100%);background-color:#f0f8ff;margin-right:5px}.arrowDown{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 50%,100% 50%,50% 100%);clip-path:polygon(0% 50%,100% 50%,50% 100%);background-color:#f0f8ff;margin-right:5px}.noPadding{padding:15px 15px 15px 0} +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mb-5{margin-bottom:1.25rem}.ml-auto{margin-left:auto}.flex{display:flex}.table{display:table}.grid{display:grid}.h-\[33vh\]{height:33vh}.h-\[67vh\]{height:67vh}.flex-col{flex-direction:column}.justify-center{justify-content:center}.gap-5{gap:1.25rem}.border-\[1px\]{border-width:1px}.border-b-\[1px\]{border-bottom-width:1px}.border-slate-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-violet-800{--tw-bg-opacity: 1;background-color:rgb(91 33 182 / var(--tw-bg-opacity))}.p-2{padding:.5rem}.p-56{padding:14rem}.text-center{text-align:center}.text-lg{font-size:1.125rem;line-height:1.75rem}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}body{background-color:#292a2d;color:#fff}tr:nth-child(even){background-color:#202124}table{border:1.5px solid blue;width:100%;text-align:left;border-collapse:collapse}th{border:1px solid rgb(74,76,80)}th,td{font-weight:400;border-right:1px solid rgb(144,143,143);padding:15px;font-size:small;max-width:10px;max-height:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr:hover:not(:first-child){background-color:#24245d}th:hover{background-color:#162266}.arrow{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 0%,50% 50%,0% 100%);clip-path:polygon(0% 0%,50% 50%,0% 100%);background-color:#f0f8ff;margin-right:5px}.arrowDown{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 50%,100% 50%,50% 100%);clip-path:polygon(0% 50%,100% 50%,50% 100%);background-color:#f0f8ff;margin-right:5px}.noPadding{padding:15px 15px 15px 0} diff --git a/chrome-extension/dist/assets/index-f2bb8e94.css b/chrome-extension/dist/assets/index-f2bb8e94.css deleted file mode 100644 index c1ff487..0000000 --- a/chrome-extension/dist/assets/index-f2bb8e94.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.fixed{position:fixed}.relative{position:relative}.m-3{margin:.75rem}.mb-5{margin-bottom:1.25rem}.ml-auto{margin-left:auto}.flex{display:flex}.table{display:table}.grid{display:grid}.h-5{height:1.25rem}.h-\[33vh\]{height:33vh}.h-\[67vh\]{height:67vh}.flex-col{flex-direction:column}.justify-center{justify-content:center}.gap-5{gap:1.25rem}.border-\[1px\]{border-width:1px}.border-b-\[1px\]{border-bottom-width:1px}.border-slate-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity))}.bg-violet-800{--tw-bg-opacity: 1;background-color:rgb(91 33 182 / var(--tw-bg-opacity))}.p-2{padding:.5rem}.p-56{padding:14rem}.text-center{text-align:center}.text-lg{font-size:1.125rem;line-height:1.75rem}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}body{background-color:#292a2d;color:#fff}tr:nth-child(even){background-color:#202124}table{border:1.5px solid blue;width:100%;text-align:left;border-collapse:collapse}th{border:1px solid rgb(74,76,80)}th,td{font-weight:400;border-right:1px solid rgb(144,143,143);padding:15px;font-size:small;max-width:10px;max-height:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr:hover:not(:first-child){background-color:#24245d}th:hover{background-color:#162266}.arrow{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 0%,50% 50%,0% 100%);clip-path:polygon(0% 0%,50% 50%,0% 100%);background-color:#f0f8ff;margin-right:5px}.arrowDown{height:10px;width:10px;display:inline-block;-webkit-clip-path:polygon(0% 50%,100% 50%,50% 100%);clip-path:polygon(0% 50%,100% 50%,50% 100%);background-color:#f0f8ff;margin-right:5px}.noPadding{padding:15px 15px 15px 0} diff --git a/chrome-extension/dist/assets/panel-5c8ccea2.js b/chrome-extension/dist/assets/panel-5c8ccea2.js new file mode 100644 index 0000000..4d80d66 --- /dev/null +++ b/chrome-extension/dist/assets/panel-5c8ccea2.js @@ -0,0 +1,57 @@ +var Np=Object.defineProperty;var jp=(e,t,n)=>t in e?Np(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var z=(e,t,n)=>(jp(e,typeof t!="symbol"?t+"":t,n),n);import"./modulepreload-polyfill-3cfb730f.js";function Bp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Af={exports:{}},Js={},If={exports:{}},F={};/** + * @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 vr=Symbol.for("react.element"),Hp=Symbol.for("react.portal"),Vp=Symbol.for("react.fragment"),Wp=Symbol.for("react.strict_mode"),$p=Symbol.for("react.profiler"),Up=Symbol.for("react.provider"),Yp=Symbol.for("react.context"),Kp=Symbol.for("react.forward_ref"),Qp=Symbol.for("react.suspense"),Xp=Symbol.for("react.memo"),Gp=Symbol.for("react.lazy"),hu=Symbol.iterator;function Zp(e){return e===null||typeof e!="object"?null:(e=hu&&e[hu]||e["@@iterator"],typeof e=="function"?e:null)}var Nf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},jf=Object.assign,Bf={};function di(e,t,n){this.props=e,this.context=t,this.refs=Bf,this.updater=n||Nf}di.prototype.isReactComponent={};di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Hf(){}Hf.prototype=di.prototype;function ia(e,t,n){this.props=e,this.context=t,this.refs=Bf,this.updater=n||Nf}var ra=ia.prototype=new Hf;ra.constructor=ia;jf(ra,di.prototype);ra.isPureReactComponent=!0;var du=Array.isArray,Vf=Object.prototype.hasOwnProperty,sa={current:null},Wf={key:!0,ref:!0,__self:!0,__source:!0};function $f(e,t,n){var i,r={},s=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(s=""+t.key),t)Vf.call(t,i)&&!Wf.hasOwnProperty(i)&&(r[i]=t[i]);var l=arguments.length-2;if(l===1)r.children=n;else if(1>>1,Y=M[W];if(0>>1;Wr(xe,D))jtr(Cr,xe)?(M[W]=Cr,M[jt]=D,W=jt):(M[W]=xe,M[Nt]=D,W=Nt);else if(jtr(Cr,D))M[W]=Cr,M[jt]=D,W=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,y=!1,m=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(m=!1,v(M),!y)if(n(a)!==null)y=!0,it(w);else{var O=n(u);O!==null&&yt(_,O.startTime-M)}}function w(M,O){y=!1,m&&(m=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var W=f.callback;if(typeof W=="function"){f.callback=null,h=f.priorityLevel;var Y=W(f.expirationTime<=O);O=e.unstable_now(),typeof Y=="function"?f.callback=Y:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&yt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125W?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(m?(p(b),b=-1):m=!0,yt(_,D-W))):(M.sortIndex=Y,t(a,M),y||d||(y=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Xf);Qf.exports=Xf;var ag=Qf.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 Gf=Ct,$t=ag;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nl=Object.prototype.hasOwnProperty,ug=/^[: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]*$/,gu={},mu={};function cg(e){return nl.call(mu,e)?!0:nl.call(gu,e)?!1:ug.test(e)?mu[e]=!0:(gu[e]=!0,!1)}function fg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function hg(e,t,n,i){if(t===null||typeof t>"u"||fg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var gt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){gt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];gt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){gt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){gt[e]=new Et(e,2,!1,e,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(e){gt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){gt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){gt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){gt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){gt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var la=/[\-:]([a-z])/g;function aa(e){return e[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(e){var t=e.replace(la,aa);gt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(la,aa);gt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(la,aa);gt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){gt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});gt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){gt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ua(e,t,n,i){var r=gt.hasOwnProperty(t)?gt[t]:null;(r!==null?r.type!==0:i||!(2l||r[o]!==s[l]){var a=` +`+r[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{wo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function dg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case In:return"Portal";case il:return"Profiler";case ca:return"StrictMode";case rl:return"Suspense";case sl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case qf:return(e.displayName||"Context")+".Consumer";case Jf:return(e._context.displayName||"Context")+".Provider";case fa:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ha:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case Ae:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function pg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===ca?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function eh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function gg(e){var t=eh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=gg(e))}function nh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=eh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ll(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function vu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ih(e,t){t=t.checked,t!=null&&ua(e,"checked",t,!1)}function al(e,t){ih(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ul(e,t.type,n):t.hasOwnProperty("defaultValue")&&ul(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function xu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ul(e,t,n){(t!=="number"||xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Tr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={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},mg=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){mg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function lh(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function ah(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=lh(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var yg=tt({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 hl(e,t){if(t){if(yg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function dl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pl=null;function da(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gl=null,Jn=null,qn=null;function ku(e){if(e=wr(e)){if(typeof gl!="function")throw Error(C(280));var t=e.stateNode;t&&(t=io(t),gl(e.stateNode,e.type,t))}}function uh(e){Jn?qn?qn.push(e):qn=[e]:Jn=e}function ch(){if(Jn){var e=Jn,t=qn;if(qn=Jn=null,ku(e),t)for(e=0;e>>=0,e===0?32:31-(Eg(e)/Tg|0)|0}var Lr=64,Or=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ss(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function xr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function zg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Ou=String.fromCharCode(32),Du=!1;function Lh(e,t){switch(e){case"keyup":return lm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Oh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function um(e,t){switch(e){case"compositionend":return Oh(t);case"keypress":return t.which!==32?null:(Du=!0,Ou);case"textInput":return e=t.data,e===Ou&&Du?null:e;default:return null}}function cm(e,t){if(jn)return e==="compositionend"||!wa&&Lh(e,t)?(e=Eh(),ss=va=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Au(n)}}function Fh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Fh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ah(){for(var e=window,t=xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xs(e.document)}return t}function ka(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function xm(e){var t=Ah(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Fh(n.ownerDocument.documentElement,n)){if(i!==null&&ka(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Iu(n,s);var o=Iu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,wl=null,Bi=null,kl=!1;function Nu(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kl||Bn==null||Bn!==xs(i)||(i=Bn,"selectionStart"in i&&ka(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ms(wl,"onSelect"),0Wn||(e.current=El[Wn],El[Wn]=null,Wn--)}function U(e,t){Wn++,El[Wn]=e.current,e.current=t}var rn={},kt=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Es(){Q(Rt),Q(kt)}function Uu(e,t,n){if(kt.current!==rn)throw Error(C(168));U(kt,t),U(Rt,n)}function Uh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,pg(e)||"Unknown",r));return tt({},n,i)}function Ts(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=kt.current,U(kt,e),U(Rt,Rt.current),!0}function Yu(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Uh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,Q(Rt),Q(kt),U(kt,e)):Q(Rt),U(Rt,n)}var be=null,ro=!1,Ao=!1;function Yh(e){be===null?be=[e]:be.push(e)}function Om(e){ro=!0,Yh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=H;try{var n=be;for(H=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(R){return t(p,R)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Pr:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ae&&qu(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ds(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case In:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=$o(v,p.mode,_),g.return=p,p=g}return o(p);case Ae:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return y(p,g,v,_);if(mi(v))return m(p,g,v,_);Nr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=Wo(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=td(!0),ed=td(!1),kr={},ye=an(kr),or=an(kr),lr=an(kr);function xn(e){if(e===kr)throw Error(C(174));return e}function Oa(e,t){switch(U(lr,t),U(or,e),U(ye,kr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fl(t,e)}Q(ye),U(ye,t)}function ai(){Q(ye),Q(or),Q(lr)}function nd(e){xn(lr.current);var t=xn(ye.current),n=fl(t,e.type);t!==n&&(U(or,e),U(ye,n))}function Da(e){or.current===e&&(Q(ye),Q(or))}var J=an(0);function Fs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Io=[];function za(){for(var e=0;en?n:4,e(!0);var i=No.transition;No.transition={};try{e(!1),t()}finally{H=n,No.transition=i}}function vd(){return te().memoizedState}function Fm(e,t,n){var i=Je(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},xd(e))_d(t,n);else if(n=Gh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),wd(n,t,i)}}function Am(e,t,n){var i=Je(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(xd(e))_d(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,Ta(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Gh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),wd(n,t,i))}}function xd(e){var t=e.alternate;return e===q||t!==null&&t===q}function _d(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function wd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ga(e,n)}}var Is={readContext:qt,useCallback:vt,useContext:vt,useEffect:vt,useImperativeHandle:vt,useInsertionEffect:vt,useLayoutEffect:vt,useMemo:vt,useReducer:vt,useRef:vt,useState:vt,useDebugValue:vt,useDeferredValue:vt,useTransition:vt,useMutableSource:vt,useSyncExternalStore:vt,useId:vt,unstable_isNewReconciler:!1},Im={readContext:qt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:ec,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,us(4194308,4,dd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){return us(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Fm.bind(null,q,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:tc,useDebugValue:Na,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=tc(!1),t=e[0];return e=Rm.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=q,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),ht===null)throw Error(C(349));Mn&30||sd(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,ec(ld.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,od.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=ht.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Ld(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":K("cancel",e),K("close",e),r=i;break;case"iframe":case"object":case"embed":K("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return xt(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=J.current,U(J,i?n&1|2:n&1),t):(xt(t),null);case 22:case 23:return $a(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(xt(t),t.subtreeFlags&6&&(t.flags|=8192)):xt(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Um(e,t){switch(ba(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),Q(Rt),Q(kt),za(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Da(t),null;case 13:if(Q(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Q(J),null;case 4:return ai(),null;case 10:return Ea(t.type._context),null;case 22:case 23:return $a(),null;case 24:return null;default:return null}}var Br=!1,wt=!1,Ym=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var cc=!1;function Km(e,t){if(Sl=bs,e=Ah(),ka(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var m=y.memoizedProps,x=y.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?m:ne(t.type,m),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return y=cc,cc=!1,y}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function zd(e){var t=e.alternate;t!==null&&(e.alternate=null,zd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Tm],delete t[Lm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Rd(e){return e.tag===5||e.tag===3||e.tag===4}function fc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Rd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var dt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Fd(e,t,n),n=n.sibling}function Fd(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:wt||Kn(n,t);case 6:var i=dt,r=ie;dt=null,Re(e,t,n),dt=i,ie=r,dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):dt.removeChild(n.stateNode));break;case 18:dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(dt,n.stateNode));break;case 4:i=dt,r=ie,dt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),dt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!wt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!wt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(wt=(i=wt)||n.memoizedState!==null,Re(e,t,n),wt=i):Re(e,t,n);break;default:Re(e,t,n)}}function hc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ym),t.forEach(function(i){var r=n0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Xm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Va?_n(e,0):Ha|=n),At(e,t)}function Wd(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function e0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Wd(e,n)}function n0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),Wd(e,n)}var $d;$d=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,Wm(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Kh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,kt.current);ei(t,n),r=Fa(null,t,i,e,r,n);var s=Aa();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,La(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&Sa(t),bt(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=r0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=lc(null,t,i,e,n);break t;case 11:t=sc(null,t,i,e,n);break t;case 14:t=oc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),lc(e,t,i,r,n);case 3:t:{if(Pd(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Zh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=ac(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=ac(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=ed(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}bt(e,t,i,n)}t=t.child}return t;case 5:return nd(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Md(e,t),bt(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Ed(e,t,n);case 4:return Oa(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):bt(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),sc(e,t,i,r,n);case 7:return bt(e,t,t.pendingProps,n),t.child;case 8:return bt(e,t,t.pendingProps.children,n),t.child;case 12:return bt(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,U(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}bt(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,bt(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),oc(e,t,i,r,n);case 15:return bd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),qh(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Td(e,t,n);case 22:return Cd(e,t,n)}throw Error(C(156,t.tag))};function Ud(e,t){return yh(e,t)}function i0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new i0(e,t,n,i)}function Ya(e){return e=e.prototype,!(!e||!e.isReactComponent)}function r0(e){if(typeof e=="function")return Ya(e)?1:0;if(e!=null){if(e=e.$$typeof,e===fa)return 11;if(e===ha)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ya(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case ca:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case th:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Jf:o=10;break t;case qf:o=9;break t;case fa:o=11;break t;case ha:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=th,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function s0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Ka(e,t,n,i,r,s,o,l,a){return e=new s0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},La(s),e}function o0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Xd)}catch(e){console.error(e)}}Xd(),Kf.exports=Ut;var f0=Kf.exports,Gd,_c=f0;Gd=_c.createRoot,_c.hydrateRoot;const h0=({data:e})=>N.jsxs("tr",{children:[N.jsx("td",{children:e.name}),N.jsx("td",{children:e.method}),N.jsx("td",{children:e.status}),N.jsx("td",{children:e.protocol}),N.jsxs("td",{children:[e.duration," ms"]}),N.jsx("td",{children:e.originatingService}),N.jsx("td",{children:e.applicationType})]}),d0=({data:e})=>N.jsxs("table",{children:[N.jsxs("tr",{children:[N.jsx("th",{children:"Name"}),N.jsx("th",{children:"Method"}),N.jsx("th",{children:"Status"}),N.jsx("th",{children:"Protocol"}),N.jsx("th",{children:"Time"}),N.jsx("th",{children:"Orig. Svc."}),N.jsx("th",{children:"Application Type"})]}),Array.from(e).map(([t,n])=>N.jsx(h0,{data:n},t))]});function p0(e){const t=[];return e.forEach(n=>{const i=[n.relativeStartTime,n.relativeStartTime+n.duration];t.push(i)}),t}function g0(e){const t=[];return e.forEach(n=>{t.push(n.name)}),t}/*! + * @kurkle/color v0.3.2 + * https://github.com/kurkle/color#readme + * (c) 2023 Jukka Kurkela + * Released under the MIT License + */function Sr(e){return e+.5|0}const Ve=(e,t,n)=>Math.max(Math.min(e,n),t);function zi(e){return Ve(Sr(e*2.55),0,255)}function tn(e){return Ve(Sr(e*255),0,255)}function Ce(e){return Ve(Sr(e/2.55)/100,0,1)}function wc(e){return Ve(Sr(e*100),0,100)}const Kt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ql=[..."0123456789ABCDEF"],m0=e=>Ql[e&15],y0=e=>Ql[(e&240)>>4]+Ql[e&15],Wr=e=>(e&240)>>4===(e&15),v0=e=>Wr(e.r)&&Wr(e.g)&&Wr(e.b)&&Wr(e.a);function x0(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&Kt[e[1]]*17,g:255&Kt[e[2]]*17,b:255&Kt[e[3]]*17,a:t===5?Kt[e[4]]*17:255}:(t===7||t===9)&&(n={r:Kt[e[1]]<<4|Kt[e[2]],g:Kt[e[3]]<<4|Kt[e[4]],b:Kt[e[5]]<<4|Kt[e[6]],a:t===9?Kt[e[7]]<<4|Kt[e[8]]:255})),n}const _0=(e,t)=>e<255?t(e):"";function w0(e){var t=v0(e)?m0:y0;return e?"#"+t(e.r)+t(e.g)+t(e.b)+_0(e.a,t):void 0}const k0=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Zd(e,t,n){const i=t*Math.min(n,1-n),r=(s,o=(s+e/30)%12)=>n-i*Math.max(Math.min(o-3,9-o,1),-1);return[r(0),r(8),r(4)]}function S0(e,t,n){const i=(r,s=(r+e/60)%6)=>n-n*t*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function b0(e,t,n){const i=Zd(e,1,.5);let r;for(t+n>1&&(r=1/(t+n),t*=r,n*=r),r=0;r<3;r++)i[r]*=1-t-n,i[r]+=t;return i}function C0(e,t,n,i,r){return e===r?(t-n)/i+(t.5?c/(2-s-o):c/(s+o),a=C0(n,i,r,c,s),a=a*60+.5),[a|0,u||0,l]}function Ja(e,t,n,i){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,i)).map(tn)}function qa(e,t,n){return Ja(Zd,e,t,n)}function M0(e,t,n){return Ja(b0,e,t,n)}function P0(e,t,n){return Ja(S0,e,t,n)}function Jd(e){return(e%360+360)%360}function E0(e){const t=k0.exec(e);let n=255,i;if(!t)return;t[5]!==i&&(n=t[6]?zi(+t[5]):tn(+t[5]));const r=Jd(+t[2]),s=+t[3]/100,o=+t[4]/100;return t[1]==="hwb"?i=M0(r,s,o):t[1]==="hsv"?i=P0(r,s,o):i=qa(r,s,o),{r:i[0],g:i[1],b:i[2],a:n}}function T0(e,t){var n=Za(e);n[0]=Jd(n[0]+t),n=qa(n),e.r=n[0],e.g=n[1],e.b=n[2]}function L0(e){if(!e)return;const t=Za(e),n=t[0],i=wc(t[1]),r=wc(t[2]);return e.a<255?`hsla(${n}, ${i}%, ${r}%, ${Ce(e.a)})`:`hsl(${n}, ${i}%, ${r}%)`}const kc={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Sc={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function O0(){const e={},t=Object.keys(Sc),n=Object.keys(kc);let i,r,s,o,l;for(i=0;i>16&255,s>>8&255,s&255]}return e}let $r;function D0(e){$r||($r=O0(),$r.transparent=[0,0,0,0]);const t=$r[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const z0=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function R0(e){const t=z0.exec(e);let n=255,i,r,s;if(t){if(t[7]!==i){const o=+t[7];n=t[8]?zi(o):Ve(o*255,0,255)}return i=+t[1],r=+t[3],s=+t[5],i=255&(t[2]?zi(i):Ve(i,0,255)),r=255&(t[4]?zi(r):Ve(r,0,255)),s=255&(t[6]?zi(s):Ve(s,0,255)),{r:i,g:r,b:s,a:n}}}function F0(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Ce(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Uo=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,An=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function A0(e,t,n){const i=An(Ce(e.r)),r=An(Ce(e.g)),s=An(Ce(e.b));return{r:tn(Uo(i+n*(An(Ce(t.r))-i))),g:tn(Uo(r+n*(An(Ce(t.g))-r))),b:tn(Uo(s+n*(An(Ce(t.b))-s))),a:e.a+n*(t.a-e.a)}}function Ur(e,t,n){if(e){let i=Za(e);i[t]=Math.max(0,Math.min(i[t]+i[t]*n,t===0?360:1)),i=qa(i),e.r=i[0],e.g=i[1],e.b=i[2]}}function qd(e,t){return e&&Object.assign(t||{},e)}function bc(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=tn(e[3]))):(t=qd(e,{r:0,g:0,b:0,a:1}),t.a=tn(t.a)),t}function I0(e){return e.charAt(0)==="r"?R0(e):E0(e)}class hr{constructor(t){if(t instanceof hr)return t;const n=typeof t;let i;n==="object"?i=bc(t):n==="string"&&(i=x0(t)||D0(t)||I0(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qd(this._rgb);return t&&(t.a=Ce(t.a)),t}set rgb(t){this._rgb=bc(t)}rgbString(){return this._valid?F0(this._rgb):void 0}hexString(){return this._valid?w0(this._rgb):void 0}hslString(){return this._valid?L0(this._rgb):void 0}mix(t,n){if(t){const i=this.rgb,r=t.rgb;let s;const o=n===s?.5:n,l=2*o-1,a=i.a-r.a,u=((l*a===-1?l:(l+a)/(1+l*a))+1)/2;s=1-u,i.r=255&u*i.r+s*r.r+.5,i.g=255&u*i.g+s*r.g+.5,i.b=255&u*i.b+s*r.b+.5,i.a=o*i.a+(1-o)*r.a,this.rgb=i}return this}interpolate(t,n){return t&&(this._rgb=A0(this._rgb,t._rgb,n)),this}clone(){return new hr(this.rgb)}alpha(t){return this._rgb.a=tn(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=Sr(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Ur(this._rgb,2,t),this}darken(t){return Ur(this._rgb,2,-t),this}saturate(t){return Ur(this._rgb,1,t),this}desaturate(t){return Ur(this._rgb,1,-t),this}rotate(t){return T0(this._rgb,t),this}}/*! + * Chart.js v4.3.0 + * https://www.chartjs.org + * (c) 2023 Chart.js Contributors + * Released under the MIT License + */function _e(){}const N0=(()=>{let e=0;return()=>e++})();function V(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function I(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ft(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ft(e)?e:t}function j(e,t){return typeof e>"u"?t:e}const j0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function $(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function B(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function V0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function W0(e){const t=V0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Cc[t]||(Cc[t]=W0(t)))(e)}function tu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const pr=e=>typeof e<"u",sn=e=>typeof e=="function",Mc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function $0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const mt=Math.PI,ve=2*mt,Us=Number.POSITIVE_INFINITY,U0=mt/180,zt=mt/2,cn=mt/4,Pc=mt*2/3,We=Math.log10,en=Math.sign;function ps(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ys(e){return!isNaN(parseFloat(e))&&isFinite(e)}function K0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function ep(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function nu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Xl=(e,t,n,i)=>nu(e,n,i?r=>{const s=e[r][t];return se[r][t]nu(e,n,i=>e[i][t]>=n);function q0(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+tu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Lc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(np.forEach(s=>{delete e[s]}),delete e._chartjs)}function ip(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const rp=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function sp(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,rp.call(window,()=>{i=!1,e.apply(t,n)}))}}function ey(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const iu=e=>e==="start"?"left":e==="end"?"right":"center",_t=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,ny=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Yr=e=>e===0||e===1,Oc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),Dc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(mt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Yr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Yr(e)?e:Oc(e,.075,.3),easeOutElastic:e=>Yr(e)?e:Dc(e,.075,.3),easeInOutElastic(e){return Yr(e)?e:e<.5?.5*Oc(e*2,.1125,.45):.5+.5*Dc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function op(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function zc(e){return op(e)?e:new hr(e)}function Yo(e){return op(e)?e:new hr(e).saturate(.5).darken(.1).hexString()}const iy=["x","y","borderWidth","radius","tension"],ry=["color","borderColor","backgroundColor"];function sy(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:ry},numbers:{type:"number",properties:iy}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function oy(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Rc=new Map;function ly(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Rc.get(n);return i||(i=new Intl.NumberFormat(e,t),Rc.set(n,i)),i}function ru(e,t,n){return ly(t,n).format(e)}const lp={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=ay(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),ru(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?lp.numeric.call(this,e,t,n):""}};function ay(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var go={formatters:lp};function uy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:go.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Gl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Yo(r.backgroundColor),this.hoverBorderColor=(i,r)=>Yo(r.borderColor),this.hoverColor=(i,r)=>Yo(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Ko(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Ko(Gl,t,n)}override(t,n){return Ko(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return I(a)?Object.assign({},u,a):j(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new cy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[sy,oy,uy]);function fy(e){return!e||V(e.size)||V(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ks(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function hy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,dy(e,s),a=0;a+e||0;function up(e,t){const n={},i=I(t),r=i?Object.keys(t):t,s=I(e)?i?o=>j(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=xy(s(o));return n}function cp(e){return up(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return up(e,["topLeft","topRight","bottomLeft","bottomRight"])}function St(e){const t=cp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ut(e,t){e=e||{},t=t||nt.font;let n=j(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=j(e.style,t.style);i&&!(""+i).match(yy)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:j(e.family,t.family),lineHeight:vy(j(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:j(e.weight,t.weight),string:""};return r.string=fy(r),r}function Kr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function lu(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=pp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>lu([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return hp(l,a,()=>Ey(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return Nc(l).includes(a)},ownKeys(l){return Nc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:fp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return hp(s,o,()=>ky(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function fp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const wy=(e,t)=>e?e+tu(t):t,au=(e,t)=>I(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function hp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function ky(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=Sy(t,l,e,n)),G(l)&&l.length&&(l=by(t,l,e,o.isIndexable)),au(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function Sy(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),au(e,a)&&(a=uu(r._scopes,r,e,a)),a}function by(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(I(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=uu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function dp(e,t,n){return sn(e)?e(t,n):e}const Cy=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function My(e,t,n,i,r){for(const s of t){const o=Cy(n,s);if(o){e.add(o);const l=dp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function uu(e,t,n,i){const r=t._rootScopes,s=dp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Ic(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Ic(l,o,s,a,i),a===null)?!1:lu(Array.from(l),[""],r,s,()=>Py(t,n,i))}function Ic(e,t,n,i,r){for(;n;)n=My(e,t,n,i,r);return n}function Py(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&I(n)?n:r||{}}function Ey(e,t,n,i){let r;for(const s of t)if(r=pp(wy(s,e),n),typeof r<"u")return au(e,r)?uu(n,i,e,r):r}function pp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function Nc(e){let t=e._keys;return t||(t=e._keys=Ty(e._scopes)),t}function Ty(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function gp(){return typeof window<"u"&&typeof document<"u"}function cu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Qs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const mo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Ly(e,t){return mo(e).getPropertyValue(t)}const Oy=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Oy[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Dy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function zy(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(Dy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=mo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=zy(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:y}=t;return s&&(d-=o.width+l.width,y-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/y*n.height/i)}}function Ry(e,t,n){let i,r;if(t===void 0||n===void 0){const s=cu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=mo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Qs(l.maxWidth,s,"clientWidth"),r=Qs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Us,maxHeight:r||Us}}const Qr=e=>Math.round(e*10)/10;function Fy(e,t,n,i){const r=mo(e),s=Sn(r,"margin"),o=Qs(r.maxWidth,e,"clientWidth")||Us,l=Qs(r.maxHeight,e,"clientHeight")||Us,a=Ry(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Qr(Math.min(u,o,a.maxWidth)),c=Qr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Qr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Qr(Math.floor(c*i))),{width:u,height:c}}function jc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Ay=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Bc(e,t){const n=Ly(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const Iy=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},Ny=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?Iy(t,n):Ny()}function mp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function yp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! + * Chart.js v4.3.0 + * https://www.chartjs.org + * (c) 2023 Chart.js Contributors + * Released under the MIT License + */class jy{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,r){const s=n.listeners[r],o=n.duration;s.forEach(l=>l({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=rp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new jy;const Hc="transparent",By={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=zc(e||Hc),r=i.valid&&zc(t||Hc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Hy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||By[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!I(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=Wy(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Vy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Hy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Vy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Yc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Ky(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Gy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Zy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Kc=(e,t)=>t?e:Object.assign({},e),Jy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:xp(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=$c(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,y)=>f==="x"?h:f==="r"?y:d,s=n.xAxisID=j(i.xAxisID,Qo(t,"x")),o=n.yAxisID=j(i.yAxisID,Qo(t,"y")),l=n.rAxisID=j(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Lc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(I(n))this._data=Yy(n);else if(i!==n){if(i){Lc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ty(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=$c(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Yc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):I(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]m||f=0;--h)if(!y()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),m=u.resolveNamedOptions(h,d,y,f);return m.$shared&&(m.$shared=a,s[o]=Object.freeze(Kc(m,a))),m}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new vp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function tv(e){const t=e.iScale,n=qy(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function _p(e,t,n,i){return G(e)?iv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Qc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function sv(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(V(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var pv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function Jc(e,t){return e.filter(n=>wp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function gv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=Jc(t,"x"),a=Jc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function qc(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function kp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function xv(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!I(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&kp(o,s.getPadding());const l=Math.max(0,t.outerWidth-qc(o,e,"left","right")),a=Math.max(0,t.outerHeight-qc(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function _v(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function wv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof m.beforeLayout=="function"&&m.beforeLayout()});const c=a.reduce((m,x)=>x.box.options&&x.box.options.display===!1?m:m+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);kp(h,St(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),y=yv(a.concat(u),f);Ri(l.fullSize,d,f,y),Ri(a,d,f,y),Ri(u,d,f,y)&&Ri(a,d,f,y),_v(d),tf(l.leftAndTop,d,f,y),d.x+=d.w,d.y+=d.h,tf(l.rightAndBottom,d,f,y),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},B(l.chartArea,m=>{const x=m.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class Sp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class kv extends Sp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",Sv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ef=e=>e===null||e==="";function bv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",ef(r)){const s=Bc(e,"width");s!==void 0&&(e.width=s)}if(ef(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Bc(e,"height");s!==void 0&&(e.height=s)}return e}const bp=Ay?{passive:!0}:!1;function Cv(e,t,n){e.addEventListener(t,n,bp)}function Mv(e,t,n){e.canvas.removeEventListener(t,n,bp)}function Pv(e,t){const n=Sv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Ev(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let nf=0;function Cp(){const e=window.devicePixelRatio;e!==nf&&(nf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Lv(e,t){mr.size||window.addEventListener("resize",Cp),mr.set(e,t)}function Ov(e){mr.delete(e),mr.size||window.removeEventListener("resize",Cp)}function Dv(e,t,n){const i=e.canvas,r=i&&cu(i);if(!r)return;const s=sp((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Lv(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Ov(e)}function zv(e,t,n){const i=e.canvas,r=sp(s=>{e.ctx!==null&&n(Pv(s,e))},e);return Cv(i,t,r),r}class Rv extends Sp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(bv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];V(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Ev,detach:Tv,resize:Dv}[n]||zv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Mv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Fy(t,n,i,r)}isAttached(t){const n=cu(t);return!!(n&&n.isConnected)}}function Fv(e){return!gp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?kv:Rv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Av(e,t){const n=e.options.ticks,i=Iv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?jv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Bv(t,u,s,o/r),u;const c=Nv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,V(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function jv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,rf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,sf=(e,t)=>Math.min(t||e,e);function of(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function $v(e,t){B(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){$(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_y(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-lf(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=eu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){$(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){$(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=lf(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,y=$e(this.labelRotation),m=Math.cos(y),x=Math.sin(y);if(l){const p=i.mirror?0:x*f.width+m*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:m*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,m)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){$(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Z0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],y=l.setContext(this.getContext()),m=y.display?y.width:0,x=m/2,p=function(it){return fn(i,it,m)};let g,v,_,w,k,S,b,T,E,L,R,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(I(o)){const it=Object.keys(o)[0],yt=o[it];g=p(this.chart.scales[it].getPixelForValue(yt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(I(o)){const it=Object.keys(o)[0],yt=o[it];g=p(this.chart.scales[it].getPixelForValue(yt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=j(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Zv(e){return"id"in e&&"defaults"in e}class Jv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):B(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=tu(t);$(i["before"+r],[],i),n[t](i),$(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function t1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&af(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function uf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function l1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return uf(e,"x",n[0])||uf(e,"y",n[0])}return{}}function a1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Zl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!I(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=Jl(o,l,l1(o,e),nt.scales[l.type]),u=s1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Zl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=r1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Mp(e){const t=e.options||(e.options={});t.plugins=j(t.plugins,{}),t.scales=a1(e,t)}function Pp(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function u1(e){return e=e||{},e.data=Pp(e.data),Mp(e),e}const cf=new Map,Ep=new Set;function Jr(e,t){let n=cf.get(e);return n||(n=t(),cf.set(e,n),Ep.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class c1{constructor(t){this._config=u1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Pp(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Mp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Gl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Ep.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Gl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=ff(this._resolverCache,t,r);let a=o;if(h1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=ff(this._resolverCache,t,i);return I(n)?hi(s,n,void 0,r):s}}function ff(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:lu(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const f1=e=>I(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function h1(e,t){const{isScriptable:n,isIndexable:i}=fp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||f1(l))||o&&G(l))return!0}return!1}var d1="4.3.0";const p1=["top","bottom","left","right","chartArea"];function hf(e,t){return e==="top"||e==="bottom"||p1.indexOf(e)===-1&&t==="x"}function df(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function pf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),$(n&&n.onComplete,[e],t)}function g1(e){const t=e.chart,n=t.options.animation;$(n&&n.onProgress,[e],t)}function Tp(e){return gp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},gf=e=>{const t=Tp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function m1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function y1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function v1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),mf()}static unregister(...t){de.remove(...t),mf()}constructor(t,n){const i=this.config=new c1(n),r=Tp(t),s=gf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Fv(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=N0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new qv,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ey(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",pf),we.listen(this,"progress",g1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return V(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():jc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Fc(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,jc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),$(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};B(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=Jl(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),B(s,o=>{const l=o.options,a=l.id,u=Jl(a,l),c=j(l.type,o.dtype);(l.position===void 0||hf(l.position,u)!==hf(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),B(r,(o,l)=>{o||delete i[l]}),B(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(df("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){B(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Mc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;m1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],B(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=v1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&su(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&ou(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=pv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};B(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){B(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},B(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=$0(t),u=y1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,$(s.onHover,[t,l,this],this),a&&$(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",d1),z(Fe,"getChart",gf),Fe);function mf(){return B(yo.instances,e=>e._plugins.invalidate())}function Lp(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function x1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=cp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function _1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||I(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function w1(e){const t=Lp(e),n=t.right-t.left,i=t.bottom-t.top,r=x1(e,n/2,i/2),s=_1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Lp(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function k1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function S1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=w1(this),l=k1(o.radius)?gr:S1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const yf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},b1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class vf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=$(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ut(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=yf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((y,m)=>{const x=i+n/2+s.measureText(y.text).width;(m===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(m>0?0:1)]=0,d+=c,h++),a[m]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,y=0,m=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=C1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),y+=h+l,m++,h=d=0),a[p]={left:y,top:d,col:m,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=_t(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=_t(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=_t(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=_t(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;su(t,this),this._draw(),ou(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ut(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:y,boxHeight:m,itemHeight:x}=yf(o,f),p=function(k,S,b){if(isNaN(y)||y<=0||isNaN(m)||m<0)return;r.save();const T=j(b.lineWidth,1);if(r.fillStyle=j(b.fillStyle,l),r.lineCap=j(b.lineCap,"butt"),r.lineDashOffset=j(b.lineDashOffset,0),r.lineJoin=j(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=j(b.strokeStyle,l),r.setLineDash(j(b.lineDash,[])),o.usePointStyle){const E={radius:m*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,y/2),R=S+h;ap(r,E,L,R,o.pointStyleWidth&&y)}else{const E=S+Math.max((f-m)/2,0),L=a.leftForLtr(k,y),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(st=>st!==0)?gr(r,{x:L,y:E,w:y,h:m,radius:R}):r.rect(L,E,y,m),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:_t(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:_t(s,this.top+_+c,this.bottom-n[0].height),line:0},mp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=y+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=_t(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=_t(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,R,k),L=ny(T,L+y+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Op(k,It)}else d.y+=w}),yp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ut(n.font),r=St(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=_t(t.align,f,this.right-h);else{const y=this.columnSizes.reduce((m,x)=>Math.max(m,x.height),0);c=u+_t(t.align,this.top,this.bottom-y-t.labels.padding-this._computeTitleHeight())}const d=_t(l,f,f+h);o.textAlign=s.textAlign(iu(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ut(t.font),i=St(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function P1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Op(t,n)),i}function Op(e,t){const n=e.text?e.text.length+.5:0;return t*n}function E1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var T1={id:"legend",_element:vf,start(e,t,n){const i=e.legend=new vf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=St(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class Dp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=St(i.padding);const s=r*ut(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=_t(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=_t(l,r,n),a=mt*-.5):(c=s-t,f=_t(l,n,r),a=mt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ut(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:iu(n.align),textBaseline:"middle",translation:[o,l]})}}function L1(e,t){const n=new Dp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var O1={id:"title",_element:Dp,start(e,t,n){L1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;t-1?e.split(` +`):e}function D1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function xf(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ut(t.bodyFont),u=ut(t.titleFont),c=ut(t.footerFont),f=s.length,h=r.length,d=i.length,y=St(t.padding);let m=y.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(m+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;m+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(m+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,B(e.title,v),n.font=a.string,B(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,B(i,_=>{B(_.before,v),B(_.lines,v),B(_.after,v)}),g=0,n.font=c.string,B(e.footer,v),n.restore(),x+=y.width,{width:x,height:m}}function z1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function R1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function F1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),R1(u,e,t,n)&&(u="center"),u}function _f(e,t,n){const i=n.yAlign||t.yAlign||z1(e,n);return{xAlign:n.xAlign||t.xAlign||F1(e,t,n,i),yAlign:i}}function A1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function I1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function wf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let y=A1(t,l);const m=I1(t,a,u);return a==="center"?l==="left"?y+=u:l==="right"&&(y-=u):l==="left"?y-=Math.max(c,h)+r:l==="right"&&(y+=Math.max(f,d)+r),{x:se(y,0,i.width-t.width),y:se(m,0,i.height-t.height)}}function qr(e,t,n){const i=St(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function kf(e){return fe([],ke(e))}function N1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function Sf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const zp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?zp[t].call(n,i):r}class ql extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new vp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=N1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return kf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return B(t,s=>{const o={before:[],lines:[],after:[]},l=Sf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return kf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),B(l,c=>{const f=Sf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=xf(this,i),u=Object.assign({},l,a),c=_f(this.chart,i,u),f=wf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:y,height:m}=n;let x,p,g,v,_,w;return s==="center"?(_=d+m/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+y,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+y-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+m,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ut(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:m,y,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:y+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(m,y,u,a),t.strokeRect(m,y,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,y+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ut(i.bodyFont);let h=f.lineHeight,d=0;const y=ii(i.rtl,this.x,this.width),m=function(b){n.fillText(b,y.x(t.x+d),t.y+h/2),t.y+=h+s},x=y.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,B(this.beforeBody,m),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=xf(this,t),a=Object.assign({},o,this._size),u=_f(n,t,a),c=wf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=St(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),mp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),yp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ql,"positioners",Fi);var j1={id:"tooltip",_element:ql,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ql({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:zp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const B1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function H1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return B1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const V1=(e,t)=>e===null?null:se(Math.round(e),0,t);function bf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ta,"id","category"),z(ta,"defaults",{ticks:{callback:bf}});function W1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,y=c-1,{min:m,max:x}=t,p=!V(o),g=!V(l),v=!V(u),_=(x-m)/(f+1);let w=Ec((x-m)/y/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:m},{value:x}];T=Math.ceil(x/w)-Math.floor(m/w),T>y&&(w=Ec(T*w/y/d)*d),V(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(m/w)*w,b=Math.ceil(x/w)*w):(S=m,b=x),p&&g&&s&&K0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Tc(w),Tc(S));k=Math.pow(10,V(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Cf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Cf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return V(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=W1(r,s);return t.bounds==="ticks"&&ep(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return ru(t,this.chart.options.locale,this.options.ticks.format)}}class ea extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?t:0,this.max=ft(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(ea,"id","linear"),z(ea,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Mf(e){return e/Math.pow(10,yr(e))===1}function Pf(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function $1(e,t){const n=t-e;let i=yr(n);for(;Pf(e,t,i)>10;)i++;for(;Pf(e,t,i)<10;)i--;return Math.min(i,yr(e))}function U1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=$1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Mf(d),significand:f}),i}class Ef extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ft(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?Math.max(0,t):null,this.max=ft(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ft(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=U1(n,this);return t.bounds==="ticks"&&ep(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":ru(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Ef,"id","logarithmic"),z(Ef,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function na(e){const t=e.ticks;if(t.display&&e.display){const n=St(t.backdropPadding);return j(t.font&&t.font.size,nt.font.size)+n.height}return 0}function Y1(e,t,n){return n=G(n)?n:[n],{w:hy(e,t.string,n),h:n.length*t.lineHeight}}function Tf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function K1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?mt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function X1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(eu(pe(a.angle+zt))),c=tx(a.y,l.h,u),f=J1(u),h=q1(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function G1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function Z1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:na(s)/2,additionalAngle:o?mt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function ex(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!V(l)){const a=kn(t.borderRadius),u=St(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(y=>y!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function nx(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));ex(n,o,s);const l=ut(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Rp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=$(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?K1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(V(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(V(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),y=s.setContext(h);ix(this,d,a,o,y)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ut(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=St(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function sx(e,t){return e-t}function Lf(e,t){if(V(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ft(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Of(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function lx(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ax(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function zf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Of(s.minUnit,n,i,this._getLabelCapacity(n)),l=j(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const y=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hm-x).map(m=>+m)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return $(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Xl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Xl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Rf extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Fp;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function cx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Fp;const n={labels:[],datasets:[]};return Ap(n,e.labels),Ip(n,e.datasets,t),n}function fx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=Ct.useRef(null),y=Ct.useRef(),m=()=>{d.current&&(y.current=new yo(d.current,{type:o,data:cx(l,s),options:a&&{...a},plugins:u}),Ff(t,y.current))},x=()=>{Ff(t,null),y.current&&(y.current.destroy(),y.current=null)};return Ct.useEffect(()=>{!r&&y.current&&a&&ux(y.current,a)},[r,a]),Ct.useEffect(()=>{!r&&y.current&&Ap(y.current.config.data,l.labels)},[r,l.labels]),Ct.useEffect(()=>{!r&&y.current&&l.datasets&&Ip(y.current.config.data,l.datasets,s)},[r,l.datasets]),Ct.useEffect(()=>{y.current&&(r?(x(),setTimeout(m)):y.current.update(f))},[r,a,l.labels,l.datasets,f]),Ct.useEffect(()=>{y.current&&(x(),setTimeout(m))},[o]),Ct.useEffect(()=>(m(),()=>x()),[]),Uf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const hx=Ct.forwardRef(fx);function dx(e,t){return yo.register(t),Ct.forwardRef((n,i)=>Uf.createElement(hx,Object.assign({},n,{ref:i,type:e})))}const px=dx("bar",gs);yo.register(ta,ea,vs,O1,j1,T1);const gx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}},maintainAspectRatio:!1},mx=({data:e})=>{const t=g0(e),n=p0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return N.jsx(px,{options:gx,data:i})};function yx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r,startTime:s,endTime:o,applicationType:l,originatingService:a,status:u,protocol:c}=t;if(!n.startsWith("/?key=")&&n!=="/"&&!(n.includes("GET")||n.includes("PATCH")||n.includes("PUT")||n.includes("DELETE")||n.includes("POST"))){if(n.startsWith("/_next/static/")){const f=n.lastIndexOf("/");n=n.slice(f+1)}e(f=>{const h=new Map([...f.entries()]),d=`${i}, ${n}, ${r}`;if(h.has(d)){const m=h.get(d);let x=!1;sm.trueEndTime&&(m.trueEndTime=o,x=!0),m.status===void 0&&"status"in t&&(m.status=t.status),m.protocol===void 0&&"protocol"in t&&(m.protocol=t.protocol),x&&(m.duration=m.trueEndTime-m.trueStartTime)}else{const m={traceId:r,applicationType:l,originatingService:a,method:i,status:u,protocol:c,relativeStartTime:0,trueStartTime:s,trueEndTime:o,duration:o-s,name:n};h.set(d,m)}return vx(h)})}}function vx(e){const t=Array.from(e.entries());t.sort((r,s)=>r[1].trueStartTime-s[1].trueStartTime);const n=new Map(t),i=n.entries().next().value;return n.forEach(r=>{r.relativeStartTime=r.trueStartTime-i[1].trueStartTime}),n}const xx=({setRelevant:e})=>{const t=()=>{e(new Map)};return N.jsx("button",{className:"bg-violet-800 border-[1px] border-slate-400 mb-5 p-2 ml-auto",onClick:t,children:"Clear History"})},_x=()=>N.jsxs("div",{className:"h-[67vh] p-56 flex flex-col justify-center text-center text-lg gap-5",children:[N.jsx("p",{children:" Recording network activity ... "}),N.jsx("p",{children:" Perform a request or refresh the page "})]});function wx(){const[e,t]=Ct.useState(new Map);return Ct.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",i=>{try{yx(t,JSON.parse(i.data))}catch(r){console.log("failed",r)}})},[]),N.jsxs("div",{className:"flex flex-col",children:[N.jsx("div",{className:e.size>0?"h-[33vh]":"h-[33vh] border-b-[1px] border-slate-400",children:N.jsx(mx,{data:e})}),e.size>0?N.jsxs("div",{children:[N.jsx(xx,{setRelevant:t}),N.jsx(d0,{data:e})]}):N.jsx(_x,{})]})}const kx=document.getElementById("root"),Sx=Gd(kx);Sx.render(N.jsx(wx,{})); diff --git a/chrome-extension/dist/assets/panel-a9d3a4ab.js b/chrome-extension/dist/assets/panel-a9d3a4ab.js deleted file mode 100644 index 01c04d0..0000000 --- a/chrome-extension/dist/assets/panel-a9d3a4ab.js +++ /dev/null @@ -1,86 +0,0 @@ -var Np=Object.defineProperty;var jp=(e,t,n)=>t in e?Np(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var z=(e,t,n)=>(jp(e,typeof t!="symbol"?t+"":t,n),n);import"./modulepreload-polyfill-3cfb730f.js";function Bp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Af={exports:{}},Js={},If={exports:{}},F={};/** - * @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. -<<<<<<<< HEAD:chrome-extension/dist/assets/panel-f8e9e358.js - */var vr=Symbol.for("react.element"),Hp=Symbol.for("react.portal"),Vp=Symbol.for("react.fragment"),Wp=Symbol.for("react.strict_mode"),$p=Symbol.for("react.profiler"),Up=Symbol.for("react.provider"),Yp=Symbol.for("react.context"),Kp=Symbol.for("react.forward_ref"),Qp=Symbol.for("react.suspense"),Xp=Symbol.for("react.memo"),Gp=Symbol.for("react.lazy"),hu=Symbol.iterator;function Zp(e){return e===null||typeof e!="object"?null:(e=hu&&e[hu]||e["@@iterator"],typeof e=="function"?e:null)}var Nf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},jf=Object.assign,Bf={};function di(e,t,n){this.props=e,this.context=t,this.refs=Bf,this.updater=n||Nf}di.prototype.isReactComponent={};di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Hf(){}Hf.prototype=di.prototype;function ia(e,t,n){this.props=e,this.context=t,this.refs=Bf,this.updater=n||Nf}var ra=ia.prototype=new Hf;ra.constructor=ia;jf(ra,di.prototype);ra.isPureReactComponent=!0;var du=Array.isArray,Vf=Object.prototype.hasOwnProperty,sa={current:null},Wf={key:!0,ref:!0,__self:!0,__source:!0};function $f(e,t,n){var i,r={},s=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(s=""+t.key),t)Vf.call(t,i)&&!Wf.hasOwnProperty(i)&&(r[i]=t[i]);var l=arguments.length-2;if(l===1)r.children=n;else if(1>>>>>>> dev:chrome-extension/dist/assets/panel-a9d3a4ab.js - * @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. -<<<<<<<< HEAD:chrome-extension/dist/assets/panel-f8e9e358.js - */var ng=pt,ig=Symbol.for("react.element"),rg=Symbol.for("react.fragment"),sg=Object.prototype.hasOwnProperty,og=ng.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,lg={key:!0,ref:!0,__self:!0,__source:!0};function Yf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)sg.call(t,i)&&!lg.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:ig,type:e,key:s,ref:o,props:r,_owner:og.current}}Js.Fragment=rg;Js.jsx=Yf;Js.jsxs=Yf;Af.exports=Js;var I=Af.exports,Kf={exports:{}},Ut={},Qf={exports:{}},Xf={};/** -======== - */var rg=ct,sg=Symbol.for("react.element"),og=Symbol.for("react.fragment"),lg=Object.prototype.hasOwnProperty,ag=rg.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ug={key:!0,ref:!0,__self:!0,__source:!0};function Kf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)lg.call(t,i)&&!ug.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:sg,type:e,key:s,ref:o,props:r,_owner:ag.current}}Js.Fragment=og;Js.jsx=Kf;Js.jsxs=Kf;Af.exports=Js;var z=Af.exports,Qf={exports:{}},Ut={},Xf={exports:{}},Gf={};/** ->>>>>>>> dev:chrome-extension/dist/assets/panel-a9d3a4ab.js - * @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(e){function t(M,O){var D=M.length;M.push(O);t:for(;0>>1,Y=M[W];if(0>>1;Wr(xe,D))jtr(Cr,xe)?(M[W]=Cr,M[jt]=D,W=jt):(M[W]=xe,M[Nt]=D,W=Nt);else if(jtr(Cr,D))M[W]=Cr,M[jt]=D,W=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,y=!1,m=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(m=!1,v(M),!y)if(n(a)!==null)y=!0,it(w);else{var O=n(u);O!==null&&vt(_,O.startTime-M)}}function w(M,O){y=!1,m&&(m=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var W=f.callback;if(typeof W=="function"){f.callback=null,h=f.priorityLevel;var Y=W(f.expirationTime<=O);O=e.unstable_now(),typeof Y=="function"?f.callback=Y:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&vt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125W?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(m?(p(b),b=-1):m=!0,vt(_,D-W))):(M.sortIndex=Y,t(a,M),y||d||(y=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Xf);Qf.exports=Xf;var ag=Qf.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. -<<<<<<<< HEAD:chrome-extension/dist/assets/panel-f8e9e358.js - */var Gf=pt,$t=ag;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nl=Object.prototype.hasOwnProperty,ug=/^[: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]*$/,gu={},mu={};function cg(e){return nl.call(mu,e)?!0:nl.call(gu,e)?!1:ug.test(e)?mu[e]=!0:(gu[e]=!0,!1)}function fg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function hg(e,t,n,i){if(t===null||typeof t>"u"||fg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var la=/[\-:]([a-z])/g;function aa(e){return e[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(e){var t=e.replace(la,aa);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(la,aa);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(la,aa);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ua(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2l||r[o]!==s[l]){var a=` -`+r[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{wo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function dg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case In:return"Portal";case il:return"Profiler";case ca:return"StrictMode";case rl:return"Suspense";case sl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case qf:return(e.displayName||"Context")+".Consumer";case Jf:return(e._context.displayName||"Context")+".Provider";case fa:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ha:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case Ae:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function pg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===ca?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function eh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function gg(e){var t=eh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=gg(e))}function nh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=eh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ll(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function vu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ih(e,t){t=t.checked,t!=null&&ua(e,"checked",t,!1)}function al(e,t){ih(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ul(e,t.type,n):t.hasOwnProperty("defaultValue")&&ul(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function xu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ul(e,t,n){(t!=="number"||xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Tr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={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},mg=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){mg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function lh(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function ah(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=lh(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var yg=tt({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 hl(e,t){if(t){if(yg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function dl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pl=null;function da(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gl=null,Jn=null,qn=null;function ku(e){if(e=wr(e)){if(typeof gl!="function")throw Error(C(280));var t=e.stateNode;t&&(t=io(t),gl(e.stateNode,e.type,t))}}function uh(e){Jn?qn?qn.push(e):qn=[e]:Jn=e}function ch(){if(Jn){var e=Jn,t=qn;if(qn=Jn=null,ku(e),t)for(e=0;e>>=0,e===0?32:31-(Eg(e)/Tg|0)|0}var Lr=64,Or=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ss(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function xr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function zg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Ou=String.fromCharCode(32),Du=!1;function Lh(e,t){switch(e){case"keyup":return lm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Oh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function um(e,t){switch(e){case"compositionend":return Oh(t);case"keypress":return t.which!==32?null:(Du=!0,Ou);case"textInput":return e=t.data,e===Ou&&Du?null:e;default:return null}}function cm(e,t){if(jn)return e==="compositionend"||!wa&&Lh(e,t)?(e=Eh(),ss=va=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Au(n)}}function Fh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Fh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ah(){for(var e=window,t=xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xs(e.document)}return t}function ka(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function xm(e){var t=Ah(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Fh(n.ownerDocument.documentElement,n)){if(i!==null&&ka(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Iu(n,s);var o=Iu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,wl=null,Bi=null,kl=!1;function Nu(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kl||Bn==null||Bn!==xs(i)||(i=Bn,"selectionStart"in i&&ka(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ms(wl,"onSelect"),0Wn||(e.current=El[Wn],El[Wn]=null,Wn--)}function U(e,t){Wn++,El[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Es(){Q(Rt),Q(St)}function Uu(e,t,n){if(St.current!==rn)throw Error(C(168));U(St,t),U(Rt,n)}function Uh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,pg(e)||"Unknown",r));return tt({},n,i)}function Ts(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,U(St,e),U(Rt,Rt.current),!0}function Yu(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Uh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,Q(Rt),Q(St),U(St,e)):Q(Rt),U(Rt,n)}var be=null,ro=!1,Ao=!1;function Yh(e){be===null?be=[e]:be.push(e)}function Om(e){ro=!0,Yh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=H;try{var n=be;for(H=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(R){return t(p,R)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Pr:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ae&&qu(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ds(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case In:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=$o(v,p.mode,_),g.return=p,p=g}return o(p);case Ae:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return y(p,g,v,_);if(mi(v))return m(p,g,v,_);Nr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=Wo(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=td(!0),ed=td(!1),kr={},ye=an(kr),or=an(kr),lr=an(kr);function xn(e){if(e===kr)throw Error(C(174));return e}function Oa(e,t){switch(U(lr,t),U(or,e),U(ye,kr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fl(t,e)}Q(ye),U(ye,t)}function ai(){Q(ye),Q(or),Q(lr)}function nd(e){xn(lr.current);var t=xn(ye.current),n=fl(t,e.type);t!==n&&(U(or,e),U(ye,n))}function Da(e){or.current===e&&(Q(ye),Q(or))}var J=an(0);function Fs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Io=[];function za(){for(var e=0;en?n:4,e(!0);var i=No.transition;No.transition={};try{e(!1),t()}finally{H=n,No.transition=i}}function vd(){return te().memoizedState}function Fm(e,t,n){var i=Je(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},xd(e))_d(t,n);else if(n=Gh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),wd(n,t,i)}}function Am(e,t,n){var i=Je(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(xd(e))_d(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,Ta(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Gh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),wd(n,t,i))}}function xd(e){var t=e.alternate;return e===q||t!==null&&t===q}function _d(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function wd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ga(e,n)}}var Is={readContext:qt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},Im={readContext:qt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:ec,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,us(4194308,4,dd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){return us(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Fm.bind(null,q,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:tc,useDebugValue:Na,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=tc(!1),t=e[0];return e=Rm.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=q,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),ht===null)throw Error(C(349));Mn&30||sd(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,ec(ld.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,od.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=ht.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Ld(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":K("cancel",e),K("close",e),r=i;break;case"iframe":case"object":case"embed":K("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=J.current,U(J,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return $a(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Um(e,t){switch(ba(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),Q(Rt),Q(St),za(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Da(t),null;case 13:if(Q(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Q(J),null;case 4:return ai(),null;case 10:return Ea(t.type._context),null;case 22:case 23:return $a(),null;case 24:return null;default:return null}}var Br=!1,kt=!1,Ym=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var cc=!1;function Km(e,t){if(Sl=bs,e=Ah(),ka(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var m=y.memoizedProps,x=y.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?m:ne(t.type,m),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return y=cc,cc=!1,y}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function zd(e){var t=e.alternate;t!==null&&(e.alternate=null,zd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Tm],delete t[Lm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Rd(e){return e.tag===5||e.tag===3||e.tag===4}function fc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Rd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var dt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Fd(e,t,n),n=n.sibling}function Fd(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=dt,r=ie;dt=null,Re(e,t,n),dt=i,ie=r,dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):dt.removeChild(n.stateNode));break;case 18:dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(dt,n.stateNode));break;case 4:i=dt,r=ie,dt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),dt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function hc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ym),t.forEach(function(i){var r=n0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Xm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Va?_n(e,0):Ha|=n),At(e,t)}function Wd(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function e0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Wd(e,n)}function n0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),Wd(e,n)}var $d;$d=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,Wm(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Kh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Fa(null,t,i,e,r,n);var s=Aa();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,La(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&Sa(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=r0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=lc(null,t,i,e,n);break t;case 11:t=sc(null,t,i,e,n);break t;case 14:t=oc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),lc(e,t,i,r,n);case 3:t:{if(Pd(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Zh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=ac(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=ac(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=ed(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return nd(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Md(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Ed(e,t,n);case 4:return Oa(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),sc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,U(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),oc(e,t,i,r,n);case 15:return bd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),qh(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Td(e,t,n);case 22:return Cd(e,t,n)}throw Error(C(156,t.tag))};function Ud(e,t){return yh(e,t)}function i0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new i0(e,t,n,i)}function Ya(e){return e=e.prototype,!(!e||!e.isReactComponent)}function r0(e){if(typeof e=="function")return Ya(e)?1:0;if(e!=null){if(e=e.$$typeof,e===fa)return 11;if(e===ha)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ya(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case ca:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case th:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Jf:o=10;break t;case qf:o=9;break t;case fa:o=11;break t;case ha:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=th,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function s0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Ka(e,t,n,i,r,s,o,l,a){return e=new s0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},La(s),e}function o0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Xd)}catch(e){console.error(e)}}Xd(),Kf.exports=Ut;var f0=Kf.exports,Gd,_c=f0;Gd=_c.createRoot,_c.hydrateRoot;const h0=({data:e})=>I.jsxs("tr",{children:[I.jsx("td",{children:e.name}),I.jsx("td",{children:e.method}),I.jsx("td",{children:e.status}),I.jsx("td",{children:e.protocol}),I.jsxs("td",{children:[e.duration," ms"]}),I.jsx("td",{children:e.originatingService}),I.jsx("td",{children:e.applicationType})]}),d0=({data:e})=>I.jsxs("table",{children:[I.jsxs("tr",{children:[I.jsx("th",{children:"Name"}),I.jsx("th",{children:"Method"}),I.jsx("th",{children:"Status"}),I.jsx("th",{children:"Protocol"}),I.jsx("th",{children:"Time"}),I.jsx("th",{children:"Orig. Svc."}),I.jsx("th",{children:"Application Type"})]}),Array.from(e).map(([t,n])=>I.jsx(h0,{data:n},t))]});function p0(e){const t=[];return e.forEach(n=>{console.log("relative start time",n.relativeStartTime),console.log("relative start time",n.duration);const i=[n.relativeStartTime,n.relativeStartTime+n.duration];t.push(i)}),t}function g0(e){const t=[];return e.forEach(n=>{t.push(n.name)}),t}/*! -======== - */var Zf=ct,$t=cg;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),il=Object.prototype.hasOwnProperty,fg=/^[: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]*$/,mu={},yu={};function hg(e){return il.call(yu,e)?!0:il.call(mu,e)?!1:fg.test(e)?yu[e]=!0:(mu[e]=!0,!1)}function dg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function pg(e,t,n,i){if(t===null||typeof t>"u"||dg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var aa=/[\-:]([a-z])/g;function ua(e){return e[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(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ca(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2l||r[o]!==s[l]){var a=` -`+r[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{ko=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function gg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=So(e.type,!1),e;case 11:return e=So(e.type.render,!1),e;case 1:return e=So(e.type,!0),e;default:return""}}function ll(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case An:return"Portal";case rl:return"Profiler";case fa:return"StrictMode";case sl:return"Suspense";case ol:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case th:return(e.displayName||"Context")+".Consumer";case Jf:return(e._context.displayName||"Context")+".Provider";case ha:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case da:return t=e.displayName||null,t!==null?t:ll(e.type)||"Memo";case Ie:t=e._payload,e=e._init;try{return ll(e(t))}catch{}}return null}function mg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ll(t);case 8:return t===fa?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function yg(e){var t=nh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Tr(e){e._valueTracker||(e._valueTracker=yg(e))}function ih(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=nh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function _s(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function al(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function xu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rh(e,t){t=t.checked,t!=null&&ca(e,"checked",t,!1)}function ul(e,t){rh(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?cl(e,t.type,n):t.hasOwnProperty("defaultValue")&&cl(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function _u(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function cl(e,t,n){(t!=="number"||_s(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Lr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ii={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},vg=["Webkit","ms","Moz","O"];Object.keys(Ii).forEach(function(e){vg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ii[t]=Ii[e]})});function ah(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ii.hasOwnProperty(e)&&Ii[e]?(""+t).trim():t+"px"}function uh(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=ah(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var xg=tt({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 dl(e,t){if(t){if(xg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function pl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 gl=null;function pa(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ml=null,qn=null,Jn=null;function Su(e){if(e=kr(e)){if(typeof ml!="function")throw Error(C(280));var t=e.stateNode;t&&(t=ro(t),ml(e.stateNode,e.type,t))}}function ch(e){qn?Jn?Jn.push(e):Jn=[e]:qn=e}function fh(){if(qn){var e=qn,t=Jn;if(Jn=qn=null,Su(e),t)for(e=0;e>>=0,e===0?32:31-(Lg(e)/Og|0)|0}var Or=64,Dr=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function bs(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function _r(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function Fg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Du=String.fromCharCode(32),zu=!1;function Oh(e,t){switch(e){case"keyup":return um.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function fm(e,t){switch(e){case"compositionend":return Dh(t);case"keypress":return t.which!==32?null:(zu=!0,Du);case"textInput":return e=t.data,e===Du&&zu?null:e;default:return null}}function hm(e,t){if(jn)return e==="compositionend"||!ka&&Oh(e,t)?(e=Th(),os=xa=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Au(n)}}function Ih(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ih(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ah(){for(var e=window,t=_s();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=_s(e.document)}return t}function Sa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function wm(e){var t=Ah(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ih(n.ownerDocument.documentElement,n)){if(i!==null&&Sa(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Nu(n,s);var o=Nu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,kl=null,Bi=null,Sl=!1;function ju(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Sl||Bn==null||Bn!==_s(i)||(i=Bn,"selectionStart"in i&&Sa(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ps(kl,"onSelect"),0Wn||(e.current=Tl[Wn],Tl[Wn]=null,Wn--)}function U(e,t){Wn++,Tl[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Ts(){Q(Rt),Q(St)}function Yu(e,t,n){if(St.current!==rn)throw Error(C(168));U(St,t),U(Rt,n)}function Yh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,mg(e)||"Unknown",r));return tt({},n,i)}function Ls(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,U(St,e),U(Rt,Rt.current),!0}function Ku(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Yh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,Q(Rt),Q(St),U(St,e)):Q(Rt),U(Rt,n)}var be=null,so=!1,Ao=!1;function Kh(e){be===null?be=[e]:be.push(e)}function zm(e){so=!0,Kh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=H;try{var n=be;for(H=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(F){return t(p,F)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Er:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ie&&tc(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ps(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case An:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=Uo(v,p.mode,_),g.return=p,p=g}return o(p);case Ie:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return m(p,g,v,_);if(mi(v))return y(p,g,v,_);jr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=$o(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=ed(!0),nd=ed(!1),Sr={},ye=an(Sr),or=an(Sr),lr=an(Sr);function xn(e){if(e===Sr)throw Error(C(174));return e}function Da(e,t){switch(U(lr,t),U(or,e),U(ye,Sr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:hl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=hl(t,e)}Q(ye),U(ye,t)}function ai(){Q(ye),Q(or),Q(lr)}function id(e){xn(lr.current);var t=xn(ye.current),n=hl(t,e.type);t!==n&&(U(or,e),U(ye,n))}function za(e){or.current===e&&(Q(ye),Q(or))}var q=an(0);function Is(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var No=[];function Ra(){for(var e=0;en?n:4,e(!0);var i=jo.transition;jo.transition={};try{e(!1),t()}finally{H=n,jo.transition=i}}function xd(){return te().memoizedState}function Am(e,t,n){var i=qe(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},_d(e))wd(t,n);else if(n=Zh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),kd(n,t,i)}}function Nm(e,t,n){var i=qe(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(_d(e))wd(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,La(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Zh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),kd(n,t,i))}}function _d(e){var t=e.alternate;return e===J||t!==null&&t===J}function wd(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ma(e,n)}}var Ns={readContext:Jt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},jm={readContext:Jt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:Jt,useEffect:nc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,cs(4194308,4,pd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return cs(4194308,4,e,t)},useInsertionEffect:function(e,t){return cs(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Am.bind(null,J,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:ec,useDebugValue:ja,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=ec(!1),t=e[0];return e=Im.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=J,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),dt===null)throw Error(C(349));Mn&30||od(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,nc(ad.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,ld.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=dt.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Od(e,t,!1,!1),t.stateNode=e;t:{switch(o=pl(n,i),n){case"dialog":K("cancel",e),K("close",e),r=i;break;case"iframe":case"object":case"embed":K("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Is(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=q.current,U(q,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return Ua(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Km(e,t){switch(Ca(t),t.tag){case 1:return Ft(t.type)&&Ts(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),Q(Rt),Q(St),Ra(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return za(t),null;case 13:if(Q(q),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Q(q),null;case 4:return ai(),null;case 10:return Ta(t.type._context),null;case 22:case 23:return Ua(),null;case 24:return null;default:return null}}var Hr=!1,kt=!1,Qm=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Hl(e,t,n){try{n()}catch(i){et(e,t,i)}}var fc=!1;function Xm(e,t){if(bl=Cs,e=Ah(),Sa(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(Cl={focusedElem:e,selectionRange:n},Cs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,x=m.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?y:ne(t.type,y),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return m=fc,fc=!1,m}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Hl(t,n,s)}r=r.next}while(r!==i)}}function ao(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Vl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Rd(e){var t=e.alternate;t!==null&&(e.alternate=null,Rd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[El],delete t[Om],delete t[Dm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function hc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Es));else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}function $l(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for($l(e,t,n),e=e.sibling;e!==null;)$l(e,t,n),e=e.sibling}var pt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Id(e,t,n),n=n.sibling}function Id(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(to,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=pt,r=ie;pt=null,Re(e,t,n),pt=i,ie=r,pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):pt.removeChild(n.stateNode));break;case 18:pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?Io(e.parentNode,n):e.nodeType===1&&Io(e,n),tr(e)):Io(pt,n.stateNode));break;case 4:i=pt,r=ie,pt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),pt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Hl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function dc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Qm),t.forEach(function(i){var r=r0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Zm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Hs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Wa?_n(e,0):Va|=n),It(e,t)}function $d(e,t){t===0&&(e.mode&1?(t=Dr,Dr<<=1,!(Dr&130023424)&&(Dr=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(_r(e,t,n),It(e,n))}function i0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$d(e,n)}function r0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),$d(e,n)}var Ud;Ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,Um(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Qh(t,Ds,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;fs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Ia(null,t,i,e,r,n);var s=Aa();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ls(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Oa(t),r.updater=oo,t.stateNode=r,r._reactInternals=t,Rl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&ba(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(fs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=o0(i),e=ne(i,e),r){case 0:t=Il(null,t,i,e,n);break t;case 1:t=ac(null,t,i,e,n);break t;case 11:t=oc(null,t,i,e,n);break t;case 14:t=lc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Il(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),ac(e,t,i,r,n);case 3:t:{if(Ed(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,qh(e,t),Fs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=uc(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=uc(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=nd(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return id(t),e===null&&Ol(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Ml(i,r)?o=null:s!==null&&Ml(i,s)&&(t.flags|=32),Pd(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ol(t),null;case 13:return Td(e,t,n);case 4:return Da(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),oc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,U(zs,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Dl(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Dl(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=Jt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),lc(e,t,i,r,n);case 15:return Cd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),fs(e,t),t.tag=1,Ft(i)?(e=!0,Ls(t)):e=!1,ei(t,n),td(t,i,r),Rl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Ld(e,t,n);case 22:return Md(e,t,n)}throw Error(C(156,t.tag))};function Yd(e,t){return vh(e,t)}function s0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new s0(e,t,n,i)}function Ka(e){return e=e.prototype,!(!e||!e.isReactComponent)}function o0(e){if(typeof e=="function")return Ka(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ha)return 11;if(e===da)return 14}return 2}function Je(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ps(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ka(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case fa:o=8,r|=8;break;case rl:return e=Gt(12,n,t,r|2),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(13,n,t,r),e.elementType=sl,e.lanes=s,e;case ol:return e=Gt(19,n,t,r),e.elementType=ol,e.lanes=s,e;case eh:return co(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Jf:o=10;break t;case th:o=9;break t;case ha:o=11;break t;case da:o=14;break t;case Ie:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function co(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=eh,e.lanes=n,e.stateNode={isHidden:!1},e}function $o(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function Uo(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function l0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Co(0),this.expirationTimes=Co(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Co(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Qa(e,t,n,i,r,s,o,l,a){return e=new l0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oa(s),e}function a0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gd)}catch(e){console.error(e)}}Gd(),Qf.exports=Ut;var d0=Qf.exports,Zd,wc=d0;Zd=wc.createRoot,wc.hydrateRoot;function hr(e,t){return t-e}function qd(e){const t=[];let n,i;e.map((o,l)=>{const a=hr(o.startTime,o.endTime),u={id:o.spanId,duration:a,start:o.startTime,end:o.endTime};t.push(u),l===0?(n=o.startTime,i=o.endTime):(o.startTimei&&(i=o.endTime))});const r=hr(n,i),s={id:e[0].traceId,duration:r,start:n,end:i};return t.unshift(s),t}function p0(e){const t=[];let n,i;return e.map((s,o)=>{if(o<13){const l=qd(s);t.push(l),o===0&&(n=l[0].start,i=l[0].id),l[0].start{const[t,n]=ct.useState(!1),i=e.length>1,r=qd(e);return z.jsxs(z.Fragment,{children:[z.jsxs("tr",{onClick:()=>n(!t),children:[z.jsxs("td",{className:i?"noPadding":"padding",children:[i?z.jsx("div",{className:t&&i?"arrowDown":"arrow"}):null,e[0].traceId]}),z.jsx("td",{children:e[0].name}),z.jsx("td",{children:e[0].spanId}),z.jsx("td",{children:e[0].applicationType}),z.jsx("td",{children:e[0].originatingService}),z.jsx("td",{children:e[0].method}),z.jsx("td",{children:e[0].status}),z.jsx("td",{children:e[0].protocol}),z.jsxs("td",{children:[t?hr(e[0].startTime,e[0].endTime):r[0].duration," ms"]})]}),i&&t?e.slice(1).map((s,o)=>z.jsxs("tr",{className:"span",children:[z.jsx("td",{}),z.jsx("td",{children:s.name}),z.jsx("td",{children:s.spanId}),z.jsx("td",{children:s.applicationType}),z.jsx("td",{children:s.originatingService}),z.jsx("td",{children:s.method}),z.jsx("td",{children:s.status}),z.jsx("td",{children:s.protocol}),z.jsxs("td",{children:[hr(s.startTime,s.endTime)," ms"]})]},o)):null]})},m0=({data:e})=>z.jsxs("table",{children:[z.jsxs("tr",{children:[z.jsx("th",{children:"Trace ID"}),z.jsx("th",{children:"Name"}),z.jsx("th",{children:"Span ID"}),z.jsx("th",{children:"Application Type"}),z.jsx("th",{children:"Orig. Svc."}),z.jsx("th",{children:"Method"}),z.jsx("th",{children:"Status"}),z.jsx("th",{children:"Protocol"}),z.jsx("th",{children:"Time"})]}),e.map((t,n)=>z.jsx(g0,{data:t},n))]});function y0(e,t){const n=[];return e.map((i,r)=>{const s=[],o=hr(t,i[0].start),l=o+i[0].duration;s.push(o,l),n.push(s)}),n}function v0(e){return e.map(n=>n[0].id)}/*! ->>>>>>>> dev:chrome-extension/dist/assets/panel-a9d3a4ab.js - * @kurkle/color v0.3.2 - * https://github.com/kurkle/color#readme - * (c) 2023 Jukka Kurkela - * Released under the MIT License - */function Sr(e){return e+.5|0}const Ve=(e,t,n)=>Math.max(Math.min(e,n),t);function zi(e){return Ve(Sr(e*2.55),0,255)}function tn(e){return Ve(Sr(e*255),0,255)}function Ce(e){return Ve(Sr(e/2.55)/100,0,1)}function wc(e){return Ve(Sr(e*100),0,100)}const Kt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ql=[..."0123456789ABCDEF"],m0=e=>Ql[e&15],y0=e=>Ql[(e&240)>>4]+Ql[e&15],Wr=e=>(e&240)>>4===(e&15),v0=e=>Wr(e.r)&&Wr(e.g)&&Wr(e.b)&&Wr(e.a);function x0(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&Kt[e[1]]*17,g:255&Kt[e[2]]*17,b:255&Kt[e[3]]*17,a:t===5?Kt[e[4]]*17:255}:(t===7||t===9)&&(n={r:Kt[e[1]]<<4|Kt[e[2]],g:Kt[e[3]]<<4|Kt[e[4]],b:Kt[e[5]]<<4|Kt[e[6]],a:t===9?Kt[e[7]]<<4|Kt[e[8]]:255})),n}const _0=(e,t)=>e<255?t(e):"";function w0(e){var t=v0(e)?m0:y0;return e?"#"+t(e.r)+t(e.g)+t(e.b)+_0(e.a,t):void 0}const k0=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Zd(e,t,n){const i=t*Math.min(n,1-n),r=(s,o=(s+e/30)%12)=>n-i*Math.max(Math.min(o-3,9-o,1),-1);return[r(0),r(8),r(4)]}function S0(e,t,n){const i=(r,s=(r+e/60)%6)=>n-n*t*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function b0(e,t,n){const i=Zd(e,1,.5);let r;for(t+n>1&&(r=1/(t+n),t*=r,n*=r),r=0;r<3;r++)i[r]*=1-t-n,i[r]+=t;return i}function C0(e,t,n,i,r){return e===r?(t-n)/i+(t.5?c/(2-s-o):c/(s+o),a=C0(n,i,r,c,s),a=a*60+.5),[a|0,u||0,l]}function Ja(e,t,n,i){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,i)).map(tn)}function qa(e,t,n){return Ja(Zd,e,t,n)}function M0(e,t,n){return Ja(b0,e,t,n)}function P0(e,t,n){return Ja(S0,e,t,n)}function Jd(e){return(e%360+360)%360}function E0(e){const t=k0.exec(e);let n=255,i;if(!t)return;t[5]!==i&&(n=t[6]?zi(+t[5]):tn(+t[5]));const r=Jd(+t[2]),s=+t[3]/100,o=+t[4]/100;return t[1]==="hwb"?i=M0(r,s,o):t[1]==="hsv"?i=P0(r,s,o):i=qa(r,s,o),{r:i[0],g:i[1],b:i[2],a:n}}function T0(e,t){var n=Za(e);n[0]=Jd(n[0]+t),n=qa(n),e.r=n[0],e.g=n[1],e.b=n[2]}function L0(e){if(!e)return;const t=Za(e),n=t[0],i=wc(t[1]),r=wc(t[2]);return e.a<255?`hsla(${n}, ${i}%, ${r}%, ${Ce(e.a)})`:`hsl(${n}, ${i}%, ${r}%)`}const kc={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Sc={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function O0(){const e={},t=Object.keys(Sc),n=Object.keys(kc);let i,r,s,o,l;for(i=0;i>16&255,s>>8&255,s&255]}return e}let $r;function D0(e){$r||($r=O0(),$r.transparent=[0,0,0,0]);const t=$r[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const z0=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function R0(e){const t=z0.exec(e);let n=255,i,r,s;if(t){if(t[7]!==i){const o=+t[7];n=t[8]?zi(o):Ve(o*255,0,255)}return i=+t[1],r=+t[3],s=+t[5],i=255&(t[2]?zi(i):Ve(i,0,255)),r=255&(t[4]?zi(r):Ve(r,0,255)),s=255&(t[6]?zi(s):Ve(s,0,255)),{r:i,g:r,b:s,a:n}}}function F0(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Ce(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Uo=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,An=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function A0(e,t,n){const i=An(Ce(e.r)),r=An(Ce(e.g)),s=An(Ce(e.b));return{r:tn(Uo(i+n*(An(Ce(t.r))-i))),g:tn(Uo(r+n*(An(Ce(t.g))-r))),b:tn(Uo(s+n*(An(Ce(t.b))-s))),a:e.a+n*(t.a-e.a)}}function Ur(e,t,n){if(e){let i=Za(e);i[t]=Math.max(0,Math.min(i[t]+i[t]*n,t===0?360:1)),i=qa(i),e.r=i[0],e.g=i[1],e.b=i[2]}}function qd(e,t){return e&&Object.assign(t||{},e)}function bc(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=tn(e[3]))):(t=qd(e,{r:0,g:0,b:0,a:1}),t.a=tn(t.a)),t}function I0(e){return e.charAt(0)==="r"?R0(e):E0(e)}class hr{constructor(t){if(t instanceof hr)return t;const n=typeof t;let i;n==="object"?i=bc(t):n==="string"&&(i=x0(t)||D0(t)||I0(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qd(this._rgb);return t&&(t.a=Ce(t.a)),t}set rgb(t){this._rgb=bc(t)}rgbString(){return this._valid?F0(this._rgb):void 0}hexString(){return this._valid?w0(this._rgb):void 0}hslString(){return this._valid?L0(this._rgb):void 0}mix(t,n){if(t){const i=this.rgb,r=t.rgb;let s;const o=n===s?.5:n,l=2*o-1,a=i.a-r.a,u=((l*a===-1?l:(l+a)/(1+l*a))+1)/2;s=1-u,i.r=255&u*i.r+s*r.r+.5,i.g=255&u*i.g+s*r.g+.5,i.b=255&u*i.b+s*r.b+.5,i.a=o*i.a+(1-o)*r.a,this.rgb=i}return this}interpolate(t,n){return t&&(this._rgb=A0(this._rgb,t._rgb,n)),this}clone(){return new hr(this.rgb)}alpha(t){return this._rgb.a=tn(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=Sr(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Ur(this._rgb,2,t),this}darken(t){return Ur(this._rgb,2,-t),this}saturate(t){return Ur(this._rgb,1,t),this}desaturate(t){return Ur(this._rgb,1,-t),this}rotate(t){return T0(this._rgb,t),this}}/*! - * Chart.js v4.3.0 - * https://www.chartjs.org - * (c) 2023 Chart.js Contributors - * Released under the MIT License -<<<<<<<< HEAD:chrome-extension/dist/assets/panel-f8e9e358.js - */function _e(){}const N0=(()=>{let e=0;return()=>e++})();function V(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function N(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ft(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ft(e)?e:t}function j(e,t){return typeof e>"u"?t:e}const j0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function $(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function B(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function V0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function W0(e){const t=V0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Cc[t]||(Cc[t]=W0(t)))(e)}function tu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const pr=e=>typeof e<"u",sn=e=>typeof e=="function",Mc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function $0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Us=Number.POSITIVE_INFINITY,U0=yt/180,zt=yt/2,cn=yt/4,Pc=yt*2/3,We=Math.log10,en=Math.sign;function ps(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ys(e){return!isNaN(parseFloat(e))&&isFinite(e)}function K0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function ep(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function nu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Xl=(e,t,n,i)=>nu(e,n,i?r=>{const s=e[r][t];return se[r][t]nu(e,n,i=>e[i][t]>=n);function q0(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+tu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Lc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(np.forEach(s=>{delete e[s]}),delete e._chartjs)}function ip(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const rp=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function sp(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,rp.call(window,()=>{i=!1,e.apply(t,n)}))}}function ey(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const iu=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,ny=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Yr=e=>e===0||e===1,Oc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),Dc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Yr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Yr(e)?e:Oc(e,.075,.3),easeOutElastic:e=>Yr(e)?e:Dc(e,.075,.3),easeInOutElastic(e){return Yr(e)?e:e<.5?.5*Oc(e*2,.1125,.45):.5+.5*Dc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function op(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function zc(e){return op(e)?e:new hr(e)}function Yo(e){return op(e)?e:new hr(e).saturate(.5).darken(.1).hexString()}const iy=["x","y","borderWidth","radius","tension"],ry=["color","borderColor","backgroundColor"];function sy(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:ry},numbers:{type:"number",properties:iy}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function oy(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Rc=new Map;function ly(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Rc.get(n);return i||(i=new Intl.NumberFormat(e,t),Rc.set(n,i)),i}function ru(e,t,n){return ly(t,n).format(e)}const lp={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=ay(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),ru(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?lp.numeric.call(this,e,t,n):""}};function ay(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var go={formatters:lp};function uy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:go.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Gl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Yo(r.backgroundColor),this.hoverBorderColor=(i,r)=>Yo(r.borderColor),this.hoverColor=(i,r)=>Yo(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Ko(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Ko(Gl,t,n)}override(t,n){return Ko(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return N(a)?Object.assign({},u,a):j(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new cy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[sy,oy,uy]);function fy(e){return!e||V(e.size)||V(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ks(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function hy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,dy(e,s),a=0;a+e||0;function up(e,t){const n={},i=N(t),r=i?Object.keys(t):t,s=N(e)?i?o=>j(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=xy(s(o));return n}function cp(e){return up(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return up(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=cp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ut(e,t){e=e||{},t=t||nt.font;let n=j(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=j(e.style,t.style);i&&!(""+i).match(yy)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:j(e.family,t.family),lineHeight:vy(j(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:j(e.weight,t.weight),string:""};return r.string=fy(r),r}function Kr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function lu(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=pp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>lu([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return hp(l,a,()=>Ey(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return Nc(l).includes(a)},ownKeys(l){return Nc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:fp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return hp(s,o,()=>ky(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function fp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const wy=(e,t)=>e?e+tu(t):t,au=(e,t)=>N(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function hp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function ky(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=Sy(t,l,e,n)),G(l)&&l.length&&(l=by(t,l,e,o.isIndexable)),au(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function Sy(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),au(e,a)&&(a=uu(r._scopes,r,e,a)),a}function by(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(N(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=uu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function dp(e,t,n){return sn(e)?e(t,n):e}const Cy=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function My(e,t,n,i,r){for(const s of t){const o=Cy(n,s);if(o){e.add(o);const l=dp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function uu(e,t,n,i){const r=t._rootScopes,s=dp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Ic(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Ic(l,o,s,a,i),a===null)?!1:lu(Array.from(l),[""],r,s,()=>Py(t,n,i))}function Ic(e,t,n,i,r){for(;n;)n=My(e,t,n,i,r);return n}function Py(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&N(n)?n:r||{}}function Ey(e,t,n,i){let r;for(const s of t)if(r=pp(wy(s,e),n),typeof r<"u")return au(e,r)?uu(n,i,e,r):r}function pp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function Nc(e){let t=e._keys;return t||(t=e._keys=Ty(e._scopes)),t}function Ty(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function gp(){return typeof window<"u"&&typeof document<"u"}function cu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Qs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const mo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Ly(e,t){return mo(e).getPropertyValue(t)}const Oy=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Oy[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Dy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function zy(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(Dy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=mo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=zy(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:y}=t;return s&&(d-=o.width+l.width,y-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/y*n.height/i)}}function Ry(e,t,n){let i,r;if(t===void 0||n===void 0){const s=cu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=mo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Qs(l.maxWidth,s,"clientWidth"),r=Qs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Us,maxHeight:r||Us}}const Qr=e=>Math.round(e*10)/10;function Fy(e,t,n,i){const r=mo(e),s=Sn(r,"margin"),o=Qs(r.maxWidth,e,"clientWidth")||Us,l=Qs(r.maxHeight,e,"clientHeight")||Us,a=Ry(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Qr(Math.min(u,o,a.maxWidth)),c=Qr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Qr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Qr(Math.floor(c*i))),{width:u,height:c}}function jc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Ay=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Bc(e,t){const n=Ly(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const Iy=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},Ny=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?Iy(t,n):Ny()}function mp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function yp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! -======== - */function _e(){}const H0=(()=>{let e=0;return()=>e++})();function V(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function N(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ht(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ht(e)?e:t}function j(e,t){return typeof e>"u"?t:e}const V0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function $(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function B(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function U0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function Y0(e){const t=U0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Mc[t]||(Mc[t]=Y0(t)))(e)}function eu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const gr=e=>typeof e<"u",sn=e=>typeof e=="function",Pc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function K0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Ys=Number.POSITIVE_INFINITY,Q0=yt/180,zt=yt/2,cn=yt/4,Ec=yt*2/3,We=Math.log10,en=Math.sign;function gs(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ks(e){return!isNaN(parseFloat(e))&&isFinite(e)}function G0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function ip(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function iu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Gl=(e,t,n,i)=>iu(e,n,i?r=>{const s=e[r][t];return se[r][t]iu(e,n,i=>e[i][t]>=n);function ny(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+eu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Oc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(rp.forEach(s=>{delete e[s]}),delete e._chartjs)}function sp(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const op=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function lp(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,op.call(window,()=>{i=!1,e.apply(t,n)}))}}function ry(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const ru=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,sy=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Kr=e=>e===0||e===1,Dc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),zc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Kr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Kr(e)?e:Dc(e,.075,.3),easeOutElastic:e=>Kr(e)?e:zc(e,.075,.3),easeInOutElastic(e){return Kr(e)?e:e<.5?.5*Dc(e*2,.1125,.45):.5+.5*zc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function ap(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Rc(e){return ap(e)?e:new dr(e)}function Ko(e){return ap(e)?e:new dr(e).saturate(.5).darken(.1).hexString()}const oy=["x","y","borderWidth","radius","tension"],ly=["color","borderColor","backgroundColor"];function ay(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:ly},numbers:{type:"number",properties:oy}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function uy(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fc=new Map;function cy(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Fc.get(n);return i||(i=new Intl.NumberFormat(e,t),Fc.set(n,i)),i}function su(e,t,n){return cy(t,n).format(e)}const up={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=fy(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),su(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?up.numeric.call(this,e,t,n):""}};function fy(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var mo={formatters:up};function hy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:mo.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Zl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Ko(r.backgroundColor),this.hoverBorderColor=(i,r)=>Ko(r.borderColor),this.hoverColor=(i,r)=>Ko(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Qo(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Qo(Zl,t,n)}override(t,n){return Qo(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return N(a)?Object.assign({},u,a):j(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new dy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[ay,uy,hy]);function py(e){return!e||V(e.size)||V(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Qs(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function gy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,my(e,s),a=0;a+e||0;function fp(e,t){const n={},i=N(t),r=i?Object.keys(t):t,s=N(e)?i?o=>j(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=ky(s(o));return n}function hp(e){return fp(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return fp(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=hp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ut(e,t){e=e||{},t=t||nt.font;let n=j(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=j(e.style,t.style);i&&!(""+i).match(_y)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:j(e.family,t.family),lineHeight:wy(j(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:j(e.weight,t.weight),string:""};return r.string=py(r),r}function Qr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function au(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=mp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>au([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return pp(l,a,()=>Oy(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return jc(l).includes(a)},ownKeys(l){return jc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:dp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return pp(s,o,()=>Cy(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function dp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const by=(e,t)=>e?e+eu(t):t,uu=(e,t)=>N(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function pp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function Cy(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=My(t,l,e,n)),G(l)&&l.length&&(l=Py(t,l,e,o.isIndexable)),uu(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function My(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),uu(e,a)&&(a=cu(r._scopes,r,e,a)),a}function Py(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(N(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=cu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function gp(e,t,n){return sn(e)?e(t,n):e}const Ey=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function Ty(e,t,n,i,r){for(const s of t){const o=Ey(n,s);if(o){e.add(o);const l=gp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function cu(e,t,n,i){const r=t._rootScopes,s=gp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Nc(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Nc(l,o,s,a,i),a===null)?!1:au(Array.from(l),[""],r,s,()=>Ly(t,n,i))}function Nc(e,t,n,i,r){for(;n;)n=Ty(e,t,n,i,r);return n}function Ly(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&N(n)?n:r||{}}function Oy(e,t,n,i){let r;for(const s of t)if(r=mp(by(s,e),n),typeof r<"u")return uu(e,r)?cu(n,i,e,r):r}function mp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function jc(e){let t=e._keys;return t||(t=e._keys=Dy(e._scopes)),t}function Dy(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function yp(){return typeof window<"u"&&typeof document<"u"}function fu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Xs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const yo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function zy(e,t){return yo(e).getPropertyValue(t)}const Ry=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Ry[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Fy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function Iy(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(Fy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=yo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=Iy(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:m}=t;return s&&(d-=o.width+l.width,m-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/m*n.height/i)}}function Ay(e,t,n){let i,r;if(t===void 0||n===void 0){const s=fu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=yo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Xs(l.maxWidth,s,"clientWidth"),r=Xs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Ys,maxHeight:r||Ys}}const Xr=e=>Math.round(e*10)/10;function Ny(e,t,n,i){const r=yo(e),s=Sn(r,"margin"),o=Xs(r.maxWidth,e,"clientWidth")||Ys,l=Xs(r.maxHeight,e,"clientHeight")||Ys,a=Ay(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Xr(Math.min(u,o,a.maxWidth)),c=Xr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Xr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Xr(Math.floor(c*i))),{width:u,height:c}}function Bc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const jy=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Hc(e,t){const n=zy(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const By=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},Hy=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?By(t,n):Hy()}function vp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function xp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! ->>>>>>>> dev:chrome-extension/dist/assets/panel-a9d3a4ab.js - * Chart.js v4.3.0 - * https://www.chartjs.org - * (c) 2023 Chart.js Contributors - * Released under the MIT License -<<<<<<<< HEAD:chrome-extension/dist/assets/panel-f8e9e358.js - */class jy{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,r){const s=n.listeners[r],o=n.duration;s.forEach(l=>l({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=rp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new jy;const Hc="transparent",By={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=zc(e||Hc),r=i.valid&&zc(t||Hc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Hy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||By[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!N(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=Wy(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Vy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Hy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Vy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Yc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Ky(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Gy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Zy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Kc=(e,t)=>t?e:Object.assign({},e),Jy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:xp(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=$c(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,y)=>f==="x"?h:f==="r"?y:d,s=n.xAxisID=j(i.xAxisID,Qo(t,"x")),o=n.yAxisID=j(i.yAxisID,Qo(t,"y")),l=n.rAxisID=j(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Lc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(N(n))this._data=Yy(n);else if(i!==n){if(i){Lc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ty(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=$c(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Yc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):N(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]m||f=0;--h)if(!y()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),m=u.resolveNamedOptions(h,d,y,f);return m.$shared&&(m.$shared=a,s[o]=Object.freeze(Kc(m,a))),m}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new vp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function tv(e){const t=e.iScale,n=qy(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function _p(e,t,n,i){return G(e)?iv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Qc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function sv(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(V(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var pv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function Jc(e,t){return e.filter(n=>wp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function gv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=Jc(t,"x"),a=Jc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function qc(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function kp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function xv(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!N(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&kp(o,s.getPadding());const l=Math.max(0,t.outerWidth-qc(o,e,"left","right")),a=Math.max(0,t.outerHeight-qc(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function _v(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function wv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof m.beforeLayout=="function"&&m.beforeLayout()});const c=a.reduce((m,x)=>x.box.options&&x.box.options.display===!1?m:m+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);kp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),y=yv(a.concat(u),f);Ri(l.fullSize,d,f,y),Ri(a,d,f,y),Ri(u,d,f,y)&&Ri(a,d,f,y),_v(d),tf(l.leftAndTop,d,f,y),d.x+=d.w,d.y+=d.h,tf(l.rightAndBottom,d,f,y),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},B(l.chartArea,m=>{const x=m.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class Sp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class kv extends Sp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",Sv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ef=e=>e===null||e==="";function bv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",ef(r)){const s=Bc(e,"width");s!==void 0&&(e.width=s)}if(ef(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Bc(e,"height");s!==void 0&&(e.height=s)}return e}const bp=Ay?{passive:!0}:!1;function Cv(e,t,n){e.addEventListener(t,n,bp)}function Mv(e,t,n){e.canvas.removeEventListener(t,n,bp)}function Pv(e,t){const n=Sv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Ev(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let nf=0;function Cp(){const e=window.devicePixelRatio;e!==nf&&(nf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Lv(e,t){mr.size||window.addEventListener("resize",Cp),mr.set(e,t)}function Ov(e){mr.delete(e),mr.size||window.removeEventListener("resize",Cp)}function Dv(e,t,n){const i=e.canvas,r=i&&cu(i);if(!r)return;const s=sp((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Lv(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Ov(e)}function zv(e,t,n){const i=e.canvas,r=sp(s=>{e.ctx!==null&&n(Pv(s,e))},e);return Cv(i,t,r),r}class Rv extends Sp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(bv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];V(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Ev,detach:Tv,resize:Dv}[n]||zv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Mv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Fy(t,n,i,r)}isAttached(t){const n=cu(t);return!!(n&&n.isConnected)}}function Fv(e){return!gp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?kv:Rv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Av(e,t){const n=e.options.ticks,i=Iv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?jv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Bv(t,u,s,o/r),u;const c=Nv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,V(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function jv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,rf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,sf=(e,t)=>Math.min(t||e,e);function of(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function $v(e,t){B(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){$(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_y(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-lf(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=eu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){$(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){$(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=lf(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,y=$e(this.labelRotation),m=Math.cos(y),x=Math.sin(y);if(l){const p=i.mirror?0:x*f.width+m*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:m*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,m)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){$(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Z0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],y=l.setContext(this.getContext()),m=y.display?y.width:0,x=m/2,p=function(it){return fn(i,it,m)};let g,v,_,w,k,S,b,T,E,L,R,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=j(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Zv(e){return"id"in e&&"defaults"in e}class Jv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):B(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=tu(t);$(i["before"+r],[],i),n[t](i),$(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function t1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&af(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function uf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function l1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return uf(e,"x",n[0])||uf(e,"y",n[0])}return{}}function a1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Zl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!N(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=Jl(o,l,l1(o,e),nt.scales[l.type]),u=s1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Zl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=r1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Mp(e){const t=e.options||(e.options={});t.plugins=j(t.plugins,{}),t.scales=a1(e,t)}function Pp(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function u1(e){return e=e||{},e.data=Pp(e.data),Mp(e),e}const cf=new Map,Ep=new Set;function Jr(e,t){let n=cf.get(e);return n||(n=t(),cf.set(e,n),Ep.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class c1{constructor(t){this._config=u1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Pp(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Mp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Gl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Ep.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Gl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=ff(this._resolverCache,t,r);let a=o;if(h1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=ff(this._resolverCache,t,i);return N(n)?hi(s,n,void 0,r):s}}function ff(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:lu(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const f1=e=>N(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function h1(e,t){const{isScriptable:n,isIndexable:i}=fp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||f1(l))||o&&G(l))return!0}return!1}var d1="4.3.0";const p1=["top","bottom","left","right","chartArea"];function hf(e,t){return e==="top"||e==="bottom"||p1.indexOf(e)===-1&&t==="x"}function df(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function pf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),$(n&&n.onComplete,[e],t)}function g1(e){const t=e.chart,n=t.options.animation;$(n&&n.onProgress,[e],t)}function Tp(e){return gp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},gf=e=>{const t=Tp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function m1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function y1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function v1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),mf()}static unregister(...t){de.remove(...t),mf()}constructor(t,n){const i=this.config=new c1(n),r=Tp(t),s=gf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Fv(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=N0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new qv,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ey(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",pf),we.listen(this,"progress",g1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return V(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():jc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Fc(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,jc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),$(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};B(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=Jl(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),B(s,o=>{const l=o.options,a=l.id,u=Jl(a,l),c=j(l.type,o.dtype);(l.position===void 0||hf(l.position,u)!==hf(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),B(r,(o,l)=>{o||delete i[l]}),B(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(df("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){B(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Mc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;m1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],B(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=v1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&su(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&ou(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=pv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};B(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){B(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},B(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=$0(t),u=y1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,$(s.onHover,[t,l,this],this),a&&$(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",d1),z(Fe,"getChart",gf),Fe);function mf(){return B(yo.instances,e=>e._plugins.invalidate())}function Lp(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function x1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=cp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function _1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||N(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function w1(e){const t=Lp(e),n=t.right-t.left,i=t.bottom-t.top,r=x1(e,n/2,i/2),s=_1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Lp(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function k1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function S1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=w1(this),l=k1(o.radius)?gr:S1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const yf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},b1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class vf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=$(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ut(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=yf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((y,m)=>{const x=i+n/2+s.measureText(y.text).width;(m===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(m>0?0:1)]=0,d+=c,h++),a[m]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,y=0,m=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=C1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),y+=h+l,m++,h=d=0),a[p]={left:y,top:d,col:m,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;su(t,this),this._draw(),ou(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ut(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:y,boxHeight:m,itemHeight:x}=yf(o,f),p=function(k,S,b){if(isNaN(y)||y<=0||isNaN(m)||m<0)return;r.save();const T=j(b.lineWidth,1);if(r.fillStyle=j(b.fillStyle,l),r.lineCap=j(b.lineCap,"butt"),r.lineDashOffset=j(b.lineDashOffset,0),r.lineJoin=j(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=j(b.strokeStyle,l),r.setLineDash(j(b.lineDash,[])),o.usePointStyle){const E={radius:m*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,y/2),R=S+h;ap(r,E,L,R,o.pointStyleWidth&&y)}else{const E=S+Math.max((f-m)/2,0),L=a.leftForLtr(k,y),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(st=>st!==0)?gr(r,{x:L,y:E,w:y,h:m,radius:R}):r.rect(L,E,y,m),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},mp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=y+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,R,k),L=ny(T,L+y+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Op(k,It)}else d.y+=w}),yp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ut(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const y=this.columnSizes.reduce((m,x)=>Math.max(m,x.height),0);c=u+wt(t.align,this.top,this.bottom-y-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(iu(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ut(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function P1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Op(t,n)),i}function Op(e,t){const n=e.text?e.text.length+.5:0;return t*n}function E1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var T1={id:"legend",_element:vf,start(e,t,n){const i=e.legend=new vf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class Dp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ut(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ut(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:iu(n.align),textBaseline:"middle",translation:[o,l]})}}function L1(e,t){const n=new Dp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var O1={id:"title",_element:Dp,start(e,t,n){L1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;t-1?e.split(` -`):e}function D1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function xf(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ut(t.bodyFont),u=ut(t.titleFont),c=ut(t.footerFont),f=s.length,h=r.length,d=i.length,y=bt(t.padding);let m=y.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(m+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;m+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(m+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,B(e.title,v),n.font=a.string,B(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,B(i,_=>{B(_.before,v),B(_.lines,v),B(_.after,v)}),g=0,n.font=c.string,B(e.footer,v),n.restore(),x+=y.width,{width:x,height:m}}function z1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function R1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function F1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),R1(u,e,t,n)&&(u="center"),u}function _f(e,t,n){const i=n.yAlign||t.yAlign||z1(e,n);return{xAlign:n.xAlign||t.xAlign||F1(e,t,n,i),yAlign:i}}function A1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function I1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function wf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let y=A1(t,l);const m=I1(t,a,u);return a==="center"?l==="left"?y+=u:l==="right"&&(y-=u):l==="left"?y-=Math.max(c,h)+r:l==="right"&&(y+=Math.max(f,d)+r),{x:se(y,0,i.width-t.width),y:se(m,0,i.height-t.height)}}function qr(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function kf(e){return fe([],ke(e))}function N1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function Sf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const zp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?zp[t].call(n,i):r}class ql extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new vp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=N1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return kf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return B(t,s=>{const o={before:[],lines:[],after:[]},l=Sf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return kf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),B(l,c=>{const f=Sf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=xf(this,i),u=Object.assign({},l,a),c=_f(this.chart,i,u),f=wf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:y,height:m}=n;let x,p,g,v,_,w;return s==="center"?(_=d+m/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+y,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+y-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+m,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ut(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:m,y,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:y+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(m,y,u,a),t.strokeRect(m,y,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,y+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ut(i.bodyFont);let h=f.lineHeight,d=0;const y=ii(i.rtl,this.x,this.width),m=function(b){n.fillText(b,y.x(t.x+d),t.y+h/2),t.y+=h+s},x=y.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,B(this.beforeBody,m),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=xf(this,t),a=Object.assign({},o,this._size),u=_f(n,t,a),c=wf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),mp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),yp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ql,"positioners",Fi);var j1={id:"tooltip",_element:ql,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ql({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:zp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const B1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function H1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return B1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const V1=(e,t)=>e===null?null:se(Math.round(e),0,t);function bf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ta,"id","category"),z(ta,"defaults",{ticks:{callback:bf}});function W1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,y=c-1,{min:m,max:x}=t,p=!V(o),g=!V(l),v=!V(u),_=(x-m)/(f+1);let w=Ec((x-m)/y/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:m},{value:x}];T=Math.ceil(x/w)-Math.floor(m/w),T>y&&(w=Ec(T*w/y/d)*d),V(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(m/w)*w,b=Math.ceil(x/w)*w):(S=m,b=x),p&&g&&s&&K0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Tc(w),Tc(S));k=Math.pow(10,V(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Cf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Cf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return V(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=W1(r,s);return t.bounds==="ticks"&&ep(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return ru(t,this.chart.options.locale,this.options.ticks.format)}}class ea extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?t:0,this.max=ft(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(ea,"id","linear"),z(ea,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Mf(e){return e/Math.pow(10,yr(e))===1}function Pf(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function $1(e,t){const n=t-e;let i=yr(n);for(;Pf(e,t,i)>10;)i++;for(;Pf(e,t,i)<10;)i--;return Math.min(i,yr(e))}function U1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=$1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Mf(d),significand:f}),i}class Ef extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ft(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?Math.max(0,t):null,this.max=ft(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ft(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=U1(n,this);return t.bounds==="ticks"&&ep(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":ru(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Ef,"id","logarithmic"),z(Ef,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function na(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return j(t.font&&t.font.size,nt.font.size)+n.height}return 0}function Y1(e,t,n){return n=G(n)?n:[n],{w:hy(e,t.string,n),h:n.length*t.lineHeight}}function Tf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function K1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function X1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(eu(pe(a.angle+zt))),c=tx(a.y,l.h,u),f=J1(u),h=q1(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function G1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function Z1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:na(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function ex(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!V(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(y=>y!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function nx(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));ex(n,o,s);const l=ut(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Rp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=$(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?K1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(V(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(V(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),y=s.setContext(h);ix(this,d,a,o,y)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ut(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function sx(e,t){return e-t}function Lf(e,t){if(V(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ft(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Of(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function lx(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ax(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function zf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Of(s.minUnit,n,i,this._getLabelCapacity(n)),l=j(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const y=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hm-x).map(m=>+m)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return $(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Xl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Xl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Rf extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Fp;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function cx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Fp;const n={labels:[],datasets:[]};return Ap(n,e.labels),Ip(n,e.datasets,t),n}function fx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=pt.useRef(null),y=pt.useRef(),m=()=>{d.current&&(y.current=new yo(d.current,{type:o,data:cx(l,s),options:a&&{...a},plugins:u}),Ff(t,y.current))},x=()=>{Ff(t,null),y.current&&(y.current.destroy(),y.current=null)};return pt.useEffect(()=>{!r&&y.current&&a&&ux(y.current,a)},[r,a]),pt.useEffect(()=>{!r&&y.current&&Ap(y.current.config.data,l.labels)},[r,l.labels]),pt.useEffect(()=>{!r&&y.current&&l.datasets&&Ip(y.current.config.data,l.datasets,s)},[r,l.datasets]),pt.useEffect(()=>{y.current&&(r?(x(),setTimeout(m)):y.current.update(f))},[r,a,l.labels,l.datasets,f]),pt.useEffect(()=>{y.current&&(x(),setTimeout(m))},[o]),pt.useEffect(()=>(m(),()=>x()),[]),Uf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const hx=pt.forwardRef(fx);function dx(e,t){return yo.register(t),pt.forwardRef((n,i)=>Uf.createElement(hx,Object.assign({},n,{ref:i,type:e})))}const px=dx("bar",gs);yo.register(ta,ea,vs,O1,j1,T1);const gx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}},maintainAspectRatio:!1},mx=({data:e})=>{const t=g0(e),n=p0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return I.jsx(px,{options:gx,data:i})};function yx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r,startTime:s,endTime:o,applicationType:l,originatingService:a,status:u,protocol:c}=t;if(!n.startsWith("/?key=")&&n!=="/"&&!(n.includes("GET")||n.includes("PATCH")||n.includes("PUT")||n.includes("DELETE")||n.includes("POST"))){if(n.startsWith("/_next/static/")){const f=n.lastIndexOf("/");n=n.slice(f+1)}e(f=>{const h=new Map([...f.entries()]),d=`${i}, ${n}, ${r}`;if(h.has(d)){const m=h.get(d);let x=!1;sm.trueEndTime&&(m.trueEndTime=o,x=!0),m.status===void 0&&"status"in t&&(m.status=t.status),m.protocol===void 0&&"protocol"in t&&(m.protocol=t.protocol),x&&(m.duration=m.trueEndTime-m.trueStartTime)}else{const m={traceId:r,applicationType:l,originatingService:a,method:i,status:u,protocol:c,relativeStartTime:0,trueStartTime:s,trueEndTime:o,duration:o-s,name:n};h.set(d,m)}return vx(h)})}}function vx(e){const t=Array.from(e.entries());t.sort((r,s)=>r[1].trueStartTime-s[1].trueStartTime);const n=new Map(t),i=n.entries().next().value;return n.forEach(r=>{r.relativeStartTime=r.trueStartTime-i[1].trueStartTime}),n}const xx=({setRelevant:e})=>{const t=()=>{e(new Map)};return I.jsx("button",{className:"bg-violet-800 border-[1px] border-slate-400 mb-5 p-2 ml-auto",onClick:t,children:"Clear History"})},_x=()=>I.jsxs("div",{className:"h-[67vh] p-56 flex flex-col justify-center text-center text-lg gap-5",children:[I.jsx("p",{children:" Recording network activity ... "}),I.jsxs("p",{children:[" Perform a request or hit",I.jsx("strong",{children:" ⌘ R "}),"to record the reload"]})]});function wx(){const[e,t]=pt.useState(new Map);return pt.useEffect(()=>{chrome.runtime.onMessage.addListener(n=>{})},[]),pt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",i=>{try{yx(t,JSON.parse(i.data))}catch(r){console.log("failed",r)}})},[]),pt.useEffect(()=>{console.log(e)},[e]),I.jsxs("div",{className:"flex flex-col",children:[I.jsx("div",{className:e.size>0?"h-[33vh]":"h-[33vh] border-b-[1px] border-slate-400",children:I.jsx(mx,{data:e})}),e.size>0?I.jsxs("div",{children:[I.jsx(xx,{setRelevant:t}),I.jsx(d0,{data:e})]}):I.jsx(_x,{})]})}const kx=document.getElementById("root"),Sx=Gd(kx);console.log("panel/index.jsx reached");Sx.render(I.jsx(wx,{})); -======== - */class Vy{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,r){const s=n.listeners[r],o=n.duration;s.forEach(l=>l({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=op.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new Vy;const Vc="transparent",Wy={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Rc(e||Vc),r=i.valid&&Rc(t||Vc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class $y{constructor(t,n,i,r){const s=n[i];r=Qr([t.to,r,s,t.from]);const o=Qr([t.from,s,r]);this._active=!0,this._fn=t.fn||Wy[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Qr([t.to,n,r,t.from]),this._from=Qr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!N(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=Yy(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Uy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new $y(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Uy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Kc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Gy(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Jy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function tv(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Go=e=>e==="reset"||e==="none",Qc=(e,t)=>t?e:Object.assign({},e),ev=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:wp(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Uc(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,m)=>f==="x"?h:f==="r"?m:d,s=n.xAxisID=j(i.xAxisID,Xo(t,"x")),o=n.yAxisID=j(i.yAxisID,Xo(t,"y")),l=n.rAxisID=j(i.rAxisID,Xo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Oc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(N(n))this._data=Xy(n);else if(i!==n){if(i){Oc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&iy(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=Uc(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Kc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):N(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]y||f=0;--h)if(!m()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),y=u.resolveNamedOptions(h,d,m,f);return y.$shared&&(y.$shared=a,s[o]=Object.freeze(Qc(y,a))),y}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new _p(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Go(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Go(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Go(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function iv(e){const t=e.iScale,n=nv(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(gr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function kp(e,t,n,i){return G(e)?ov(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Xc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function av(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(V(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var yv={evaluateInteractionItems:Cr,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?qo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?qo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function Jc(e,t){return e.filter(n=>Sp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function vv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=Jc(t,"x"),a=Jc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function tf(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function bp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function kv(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!N(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&bp(o,s.getPadding());const l=Math.max(0,t.outerWidth-tf(o,e,"left","right")),a=Math.max(0,t.outerHeight-tf(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function Sv(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function bv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof y.beforeLayout=="function"&&y.beforeLayout()});const c=a.reduce((y,x)=>x.box.options&&x.box.options.display===!1?y:y+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);bp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),m=_v(a.concat(u),f);Ri(l.fullSize,d,f,m),Ri(a,d,f,m),Ri(u,d,f,m)&&Ri(a,d,f,m),Sv(d),ef(l.leftAndTop,d,f,m),d.x+=d.w,d.y+=d.h,ef(l.rightAndBottom,d,f,m),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},B(l.chartArea,y=>{const x=y.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class Cp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class Cv extends Cp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ys="$chartjs",Mv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},nf=e=>e===null||e==="";function Pv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ys]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",nf(r)){const s=Hc(e,"width");s!==void 0&&(e.width=s)}if(nf(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Hc(e,"height");s!==void 0&&(e.height=s)}return e}const Mp=jy?{passive:!0}:!1;function Ev(e,t,n){e.addEventListener(t,n,Mp)}function Tv(e,t,n){e.canvas.removeEventListener(t,n,Mp)}function Lv(e,t){const n=Mv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Gs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Ov(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Gs(l.addedNodes,i),o=o&&!Gs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Dv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Gs(l.removedNodes,i),o=o&&!Gs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const yr=new Map;let rf=0;function Pp(){const e=window.devicePixelRatio;e!==rf&&(rf=e,yr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function zv(e,t){yr.size||window.addEventListener("resize",Pp),yr.set(e,t)}function Rv(e){yr.delete(e),yr.size||window.removeEventListener("resize",Pp)}function Fv(e,t,n){const i=e.canvas,r=i&&fu(i);if(!r)return;const s=lp((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),zv(e,s),o}function tl(e,t,n){n&&n.disconnect(),t==="resize"&&Rv(e)}function Iv(e,t,n){const i=e.canvas,r=lp(s=>{e.ctx!==null&&n(Lv(s,e))},e);return Ev(i,t,r),r}class Av extends Cp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Pv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ys])return!1;const i=n[ys].initial;["height","width"].forEach(s=>{const o=i[s];V(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ys],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Ov,detach:Dv,resize:Fv}[n]||Iv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:tl,detach:tl,resize:tl}[n]||Tv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Ny(t,n,i,r)}isAttached(t){const n=fu(t);return!!(n&&n.isConnected)}}function Nv(e){return!yp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?Cv:Av}class on{constructor(){R(this,"x");R(this,"y");R(this,"active",!1);R(this,"options");R(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ks(this.x)&&Ks(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}R(on,"defaults",{}),R(on,"defaultRoutes");function jv(e,t){const n=e.options.ticks,i=Bv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?Vv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Wv(t,u,s,o/r),u;const c=Hv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Zr(t,u,c,V(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function Vv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,sf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,of=(e,t)=>Math.min(t||e,e);function lf(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function Kv(e,t){B(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){$(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Sy(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-af(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=nu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){$(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){$(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=af(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,m=$e(this.labelRotation),y=Math.cos(m),x=Math.sin(m);if(l){const p=i.mirror?0:x*f.width+y*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:y*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,y)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){$(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return ty(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],m=l.setContext(this.getContext()),y=m.display?m.width:0,x=y/2,p=function(it){return fn(i,it,y)};let g,v,_,w,k,S,b,T,E,L,F,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,F=t.right;else if(o==="right")g=p(this.left),E=t.left,F=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,F=t.right}const At=j(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/At));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function t1(e){return"id"in e&&"defaults"in e}class e1{constructor(){this.controllers=new qr(Qi,"datasets",!0),this.elements=new qr(on,"elements"),this.plugins=new qr(Object,"plugins"),this.scales=new qr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):B(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=eu(t);$(i["before"+r],[],i),n[t](i),$(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function i1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&uf(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function cf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function c1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return cf(e,"x",n[0])||cf(e,"y",n[0])}return{}}function f1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=ql(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!N(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=Jl(o,l,c1(o,e),nt.scales[l.type]),u=a1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||ql(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=l1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Ep(e){const t=e.options||(e.options={});t.plugins=j(t.plugins,{}),t.scales=f1(e,t)}function Tp(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function h1(e){return e=e||{},e.data=Tp(e.data),Ep(e),e}const ff=new Map,Lp=new Set;function Jr(e,t){let n=ff.get(e);return n||(n=t(),ff.set(e,n),Lp.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class d1{constructor(t){this._config=h1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Tp(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Ep(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Zl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Lp.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Zl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=hf(this._resolverCache,t,r);let a=o;if(g1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=hf(this._resolverCache,t,i);return N(n)?hi(s,n,void 0,r):s}}function hf(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:au(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const p1=e=>N(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function g1(e,t){const{isScriptable:n,isIndexable:i}=dp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||p1(l))||o&&G(l))return!0}return!1}var m1="4.3.0";const y1=["top","bottom","left","right","chartArea"];function df(e,t){return e==="top"||e==="bottom"||y1.indexOf(e)===-1&&t==="x"}function pf(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function gf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),$(n&&n.onComplete,[e],t)}function v1(e){const t=e.chart,n=t.options.animation;$(n&&n.onProgress,[e],t)}function Op(e){return yp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const vs={},mf=e=>{const t=Op(e);return Object.values(vs).filter(n=>n.canvas===t).pop()};function x1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function _1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function w1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let vo=(Fe=class{static register(...t){de.add(...t),yf()}static unregister(...t){de.remove(...t),yf()}constructor(t,n){const i=this.config=new d1(n),r=Op(t),s=mf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Nv(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=H0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new n1,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ry(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],vs[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",gf),we.listen(this,"progress",v1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return V(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ic(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),$(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};B(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=Jl(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),B(s,o=>{const l=o.options,a=l.id,u=Jl(a,l),c=j(l.type,o.dtype);(l.position===void 0||df(l.position,u)!==df(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),B(r,(o,l)=>{o||delete i[l]}),B(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(pf("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){B(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;x1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],B(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=w1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&ou(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&lu(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=yv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);gr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};B(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){B(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},B(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!$s(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=K0(t),u=_1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,$(s.onHover,[t,l,this],this),a&&$(s.onClick,[t,l,this],this));const c=!$s(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},R(Fe,"defaults",nt),R(Fe,"instances",vs),R(Fe,"overrides",Tn),R(Fe,"registry",de),R(Fe,"version",m1),R(Fe,"getChart",mf),Fe);function yf(){return B(vo.instances,e=>e._plugins.invalidate())}function Dp(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function k1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=hp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function S1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||N(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function b1(e){const t=Dp(e),n=t.right-t.left,i=t.bottom-t.top,r=k1(e,n/2,i/2),s=S1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function el(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Dp(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function C1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function M1(e,t){e.rect(t.x,t.y,t.w,t.h)}function nl(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class xs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=b1(this),l=C1(o.radius)?mr:M1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,nl(o,n,s)),t.clip(),l(t,nl(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,nl(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return el(this,t,n,i)}inXRange(t,n){return el(this,t,null,n)}inYRange(t,n){return el(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}R(xs,"id","bar"),R(xs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),R(xs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const vf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},P1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class xf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=$(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ut(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=vf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((m,y)=>{const x=i+n/2+s.measureText(m.text).width;(y===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(y>0?0:1)]=0,d+=c,h++),a[y]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,m=0,y=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=E1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),m+=h+l,y++,h=d=0),a[p]={left:m,top:d,col:y,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ou(t,this),this._draw(),lu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ut(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:m,boxHeight:y,itemHeight:x}=vf(o,f),p=function(k,S,b){if(isNaN(m)||m<=0||isNaN(y)||y<0)return;r.save();const T=j(b.lineWidth,1);if(r.fillStyle=j(b.fillStyle,l),r.lineCap=j(b.lineCap,"butt"),r.lineDashOffset=j(b.lineDashOffset,0),r.lineJoin=j(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=j(b.strokeStyle,l),r.setLineDash(j(b.lineDash,[])),o.usePointStyle){const E={radius:y*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,m/2),F=S+h;cp(r,E,L,F,o.pointStyleWidth&&m)}else{const E=S+Math.max((f-y)/2,0),L=a.leftForLtr(k,m),F=kn(b.borderRadius);r.beginPath(),Object.values(F).some(st=>st!==0)?mr(r,{x:L,y:E,w:m,h:y,radius:F}):r.rect(L,E,m,y),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},vp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=m+h+b;let L=d.x,F=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(F=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&F+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,F=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,F,k),L=sy(T,L+m+h,v?L+E:this.right,t.rtl),g(a.x(L),F,k),v)d.x+=E+c;else if(typeof k.text!="string"){const At=u.lineHeight;d.y+=zp(k,At)}else d.y+=w}),xp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ut(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const m=this.columnSizes.reduce((y,x)=>Math.max(y,x.height),0);c=u+wt(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(ru(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ut(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function L1(e,t,n){let i=e;return typeof t.text!="string"&&(i=zp(t,n)),i}function zp(e,t){const n=e.text?e.text.length+.5:0;return t*n}function O1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var D1={id:"legend",_element:xf,start(e,t,n){const i=e.legend=new xf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class Rp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ut(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ut(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:ru(n.align),textBaseline:"middle",translation:[o,l]})}}function z1(e,t){const n=new Rp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var R1={id:"title",_element:Rp,start(e,t,n){z1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;t-1?e.split(` -`):e}function F1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function _f(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ut(t.bodyFont),u=ut(t.titleFont),c=ut(t.footerFont),f=s.length,h=r.length,d=i.length,m=bt(t.padding);let y=m.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(y+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;y+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(y+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,B(e.title,v),n.font=a.string,B(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,B(i,_=>{B(_.before,v),B(_.lines,v),B(_.after,v)}),g=0,n.font=c.string,B(e.footer,v),n.restore(),x+=m.width,{width:x,height:y}}function I1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function A1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function N1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),A1(u,e,t,n)&&(u="center"),u}function wf(e,t,n){const i=n.yAlign||t.yAlign||I1(e,n);return{xAlign:n.xAlign||t.xAlign||N1(e,t,n,i),yAlign:i}}function j1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function B1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function kf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let m=j1(t,l);const y=B1(t,a,u);return a==="center"?l==="left"?m+=u:l==="right"&&(m-=u):l==="left"?m-=Math.max(c,h)+r:l==="right"&&(m+=Math.max(f,d)+r),{x:se(m,0,i.width-t.width),y:se(y,0,i.height-t.height)}}function ts(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function Sf(e){return fe([],ke(e))}function H1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function bf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Fp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Fp[t].call(n,i):r}class ta extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new _p(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=H1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return Sf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return B(t,s=>{const o={before:[],lines:[],after:[]},l=bf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return Sf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),B(l,c=>{const f=bf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=_f(this,i),u=Object.assign({},l,a),c=wf(this.chart,i,u),f=kf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:m,height:y}=n;let x,p,g,v,_,w;return s==="center"?(_=d+y/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+m,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+m-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+y,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=ts(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ut(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,mr(t,{x:y,y:m,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),mr(t,{x,y:m+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(y,m,u,a),t.strokeRect(y,m,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,m+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ut(i.bodyFont);let h=f.lineHeight,d=0;const m=ii(i.rtl,this.x,this.width),y=function(b){n.fillText(b,m.x(t.x+d),t.y+h/2),t.y+=h+s},x=m.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=ts(this,x,i),n.fillStyle=i.bodyColor,B(this.beforeBody,y),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=_f(this,t),a=Object.assign({},o,this._size),u=wf(n,t,a),c=kf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),vp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),xp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!$s(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!$s(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}R(ta,"positioners",Fi);var V1={id:"tooltip",_element:ta,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ta({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Fp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const W1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function $1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return W1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const U1=(e,t)=>e===null?null:se(Math.round(e),0,t);function Cf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}R(ea,"id","category"),R(ea,"defaults",{ticks:{callback:Cf}});function Y1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,m=c-1,{min:y,max:x}=t,p=!V(o),g=!V(l),v=!V(u),_=(x-y)/(f+1);let w=Tc((x-y)/m/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:y},{value:x}];T=Math.ceil(x/w)-Math.floor(y/w),T>m&&(w=Tc(T*w/m/d)*d),V(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(y/w)*w,b=Math.ceil(x/w)*w):(S=y,b=x),p&&g&&s&&G0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,gs(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Lc(w),Lc(S));k=Math.pow(10,V(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:F})}return g&&h&&b!==l?n.length&&gs(n[n.length-1].value,l,Mf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Mf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Zs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return V(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=Y1(r,s);return t.bounds==="ticks"&&ip(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return su(t,this.chart.options.locale,this.options.ticks.format)}}class na extends Zs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?t:0,this.max=ht(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}R(na,"id","linear"),R(na,"defaults",{ticks:{callback:mo.formatters.numeric}});const vr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,vr(e)+t);function Pf(e){return e/Math.pow(10,vr(e))===1}function Ef(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function K1(e,t){const n=t-e;let i=vr(n);for(;Ef(e,t,i)>10;)i++;for(;Ef(e,t,i)<10;)i--;return Math.min(i,vr(e))}function Q1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=vr(t);let s=K1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Pf(d),significand:f}),i}class Tf extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Zs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ht(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?Math.max(0,t):null,this.max=ht(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ht(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=Q1(n,this);return t.bounds==="ticks"&&ip(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":su(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}R(Tf,"id","logarithmic"),R(Tf,"defaults",{ticks:{callback:mo.formatters.logarithmic,major:{enabled:!0}}});function ia(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return j(t.font&&t.font.size,nt.font.size)+n.height}return 0}function X1(e,t,n){return n=G(n)?n:[n],{w:gy(e,t.string,n),h:n.length*t.lineHeight}}function Lf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function G1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function q1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(nu(pe(a.angle+zt))),c=ix(a.y,l.h,u),f=ex(u),h=nx(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function J1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function tx(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:ia(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function rx(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!V(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(m=>m!==0)?(e.beginPath(),mr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function sx(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));rx(n,o,s);const l=ut(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Ip(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=$(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?G1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(V(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(V(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),m=s.setContext(h);ox(this,d,a,o,m)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ut(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}R(es,"id","radialLinear"),R(es,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:mo.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),R(es,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),R(es,"descriptors",{angleLines:{_fallback:"grid"}});const xo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(xo);function ax(e,t){return e-t}function Of(e,t){if(V(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ht(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ks(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Df(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(xo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function cx(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function fx(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function Rf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Df(s.minUnit,n,i,this._getLabelCapacity(n)),l=j(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ks(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const m=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hy-x).map(y=>+y)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return $(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Gl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Gl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Ff extends qs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=ns(n,this.min),this._tableRange=ns(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Ap;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function dx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ap;const n={labels:[],datasets:[]};return Np(n,e.labels),jp(n,e.datasets,t),n}function px(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=ct.useRef(null),m=ct.useRef(),y=()=>{d.current&&(m.current=new vo(d.current,{type:o,data:dx(l,s),options:a&&{...a},plugins:u}),If(t,m.current))},x=()=>{If(t,null),m.current&&(m.current.destroy(),m.current=null)};return ct.useEffect(()=>{!r&&m.current&&a&&hx(m.current,a)},[r,a]),ct.useEffect(()=>{!r&&m.current&&Np(m.current.config.data,l.labels)},[r,l.labels]),ct.useEffect(()=>{!r&&m.current&&l.datasets&&jp(m.current.config.data,l.datasets,s)},[r,l.datasets]),ct.useEffect(()=>{m.current&&(r?(x(),setTimeout(y)):m.current.update(f))},[r,a,l.labels,l.datasets,f]),ct.useEffect(()=>{m.current&&(x(),setTimeout(y))},[o]),ct.useEffect(()=>(y(),()=>x()),[]),Yf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const gx=ct.forwardRef(px);function mx(e,t){return vo.register(t),ct.forwardRef((n,i)=>Yf.createElement(gx,Object.assign({},n,{ref:i,type:e})))}const yx=mx("bar",ms);vo.register(ea,na,xs,R1,V1,D1);const vx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},xx=({data:e})=>{const t=p0(e),n=v0(t.allTracesTimeInfo),i=y0(t.allTracesTimeInfo,t.earliestTime),r={labels:n,datasets:[{label:"Trace",data:i,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return z.jsx(yx,{options:vx,data:r})};function _x(e){let t="",n=!1,i=[];const r=[];return e.map((s,o)=>{o===0&&(t=e[0].traceId),n&&(i=[],n=!1),i.push(s),e[o+1]?e[o+1].traceId!==t&&(t=e[o+1].traceId,n=!0,r.push(i)):r.push(i)}),r.slice(0,13)}function wx(){const[e,t]=ct.useState([]);ct.useEffect(()=>{chrome.runtime.onMessage.addListener(i=>{console.log("received chrome message",i)})},[]),ct.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",r=>{try{t(s=>[...s,JSON.parse(r.data)])}catch(s){console.log("failed",s)}})},[]),ct.useEffect(()=>{},[e]);const n=_x(e);return z.jsxs(z.Fragment,{children:[z.jsx(xx,{data:n}),z.jsx(m0,{data:n})]})}const kx=document.getElementById("root"),Sx=Zd(kx);console.log("panel/index.jsx reached");Sx.render(z.jsx(wx,{})); ->>>>>>>> dev:chrome-extension/dist/assets/panel-a9d3a4ab.js diff --git a/chrome-extension/dist/assets/panel-f8e9e358.js b/chrome-extension/dist/assets/panel-f8e9e358.js deleted file mode 100644 index 01c04d0..0000000 --- a/chrome-extension/dist/assets/panel-f8e9e358.js +++ /dev/null @@ -1,86 +0,0 @@ -var Np=Object.defineProperty;var jp=(e,t,n)=>t in e?Np(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var z=(e,t,n)=>(jp(e,typeof t!="symbol"?t+"":t,n),n);import"./modulepreload-polyfill-3cfb730f.js";function Bp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Af={exports:{}},Js={},If={exports:{}},F={};/** - * @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. -<<<<<<<< HEAD:chrome-extension/dist/assets/panel-f8e9e358.js - */var vr=Symbol.for("react.element"),Hp=Symbol.for("react.portal"),Vp=Symbol.for("react.fragment"),Wp=Symbol.for("react.strict_mode"),$p=Symbol.for("react.profiler"),Up=Symbol.for("react.provider"),Yp=Symbol.for("react.context"),Kp=Symbol.for("react.forward_ref"),Qp=Symbol.for("react.suspense"),Xp=Symbol.for("react.memo"),Gp=Symbol.for("react.lazy"),hu=Symbol.iterator;function Zp(e){return e===null||typeof e!="object"?null:(e=hu&&e[hu]||e["@@iterator"],typeof e=="function"?e:null)}var Nf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},jf=Object.assign,Bf={};function di(e,t,n){this.props=e,this.context=t,this.refs=Bf,this.updater=n||Nf}di.prototype.isReactComponent={};di.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};di.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Hf(){}Hf.prototype=di.prototype;function ia(e,t,n){this.props=e,this.context=t,this.refs=Bf,this.updater=n||Nf}var ra=ia.prototype=new Hf;ra.constructor=ia;jf(ra,di.prototype);ra.isPureReactComponent=!0;var du=Array.isArray,Vf=Object.prototype.hasOwnProperty,sa={current:null},Wf={key:!0,ref:!0,__self:!0,__source:!0};function $f(e,t,n){var i,r={},s=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(s=""+t.key),t)Vf.call(t,i)&&!Wf.hasOwnProperty(i)&&(r[i]=t[i]);var l=arguments.length-2;if(l===1)r.children=n;else if(1>>>>>>> dev:chrome-extension/dist/assets/panel-a9d3a4ab.js - * @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. -<<<<<<<< HEAD:chrome-extension/dist/assets/panel-f8e9e358.js - */var ng=pt,ig=Symbol.for("react.element"),rg=Symbol.for("react.fragment"),sg=Object.prototype.hasOwnProperty,og=ng.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,lg={key:!0,ref:!0,__self:!0,__source:!0};function Yf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)sg.call(t,i)&&!lg.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:ig,type:e,key:s,ref:o,props:r,_owner:og.current}}Js.Fragment=rg;Js.jsx=Yf;Js.jsxs=Yf;Af.exports=Js;var I=Af.exports,Kf={exports:{}},Ut={},Qf={exports:{}},Xf={};/** -======== - */var rg=ct,sg=Symbol.for("react.element"),og=Symbol.for("react.fragment"),lg=Object.prototype.hasOwnProperty,ag=rg.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ug={key:!0,ref:!0,__self:!0,__source:!0};function Kf(e,t,n){var i,r={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)lg.call(t,i)&&!ug.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:sg,type:e,key:s,ref:o,props:r,_owner:ag.current}}Js.Fragment=og;Js.jsx=Kf;Js.jsxs=Kf;Af.exports=Js;var z=Af.exports,Qf={exports:{}},Ut={},Xf={exports:{}},Gf={};/** ->>>>>>>> dev:chrome-extension/dist/assets/panel-a9d3a4ab.js - * @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(e){function t(M,O){var D=M.length;M.push(O);t:for(;0>>1,Y=M[W];if(0>>1;Wr(xe,D))jtr(Cr,xe)?(M[W]=Cr,M[jt]=D,W=jt):(M[W]=xe,M[Nt]=D,W=Nt);else if(jtr(Cr,D))M[W]=Cr,M[jt]=D,W=jt;else break t}}return O}function r(M,O){var D=M.sortIndex-O.sortIndex;return D!==0?D:M.id-O.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,f=null,h=3,d=!1,y=!1,m=!1,x=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(M){for(var O=n(u);O!==null;){if(O.callback===null)i(u);else if(O.startTime<=M)i(u),O.sortIndex=O.expirationTime,t(a,O);else break;O=n(u)}}function _(M){if(m=!1,v(M),!y)if(n(a)!==null)y=!0,it(w);else{var O=n(u);O!==null&&vt(_,O.startTime-M)}}function w(M,O){y=!1,m&&(m=!1,p(b),b=-1),d=!0;var D=h;try{for(v(O),f=n(a);f!==null&&(!(f.expirationTime>O)||M&&!L());){var W=f.callback;if(typeof W=="function"){f.callback=null,h=f.priorityLevel;var Y=W(f.expirationTime<=O);O=e.unstable_now(),typeof Y=="function"?f.callback=Y:f===n(a)&&i(a),v(O)}else i(a);f=n(a)}if(f!==null)var ue=!0;else{var Nt=n(u);Nt!==null&&vt(_,Nt.startTime-O),ue=!1}return ue}finally{f=null,h=D,d=!1}}var k=!1,S=null,b=-1,T=5,E=-1;function L(){return!(e.unstable_now()-EM||125W?(M.sortIndex=D,t(u,M),n(a)===null&&M===n(u)&&(m?(p(b),b=-1):m=!0,vt(_,D-W))):(M.sortIndex=Y,t(a,M),y||d||(y=!0,it(w))),M},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(M){var O=h;return function(){var D=h;h=O;try{return M.apply(this,arguments)}finally{h=D}}}})(Xf);Qf.exports=Xf;var ag=Qf.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. -<<<<<<<< HEAD:chrome-extension/dist/assets/panel-f8e9e358.js - */var Gf=pt,$t=ag;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nl=Object.prototype.hasOwnProperty,ug=/^[: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]*$/,gu={},mu={};function cg(e){return nl.call(mu,e)?!0:nl.call(gu,e)?!1:ug.test(e)?mu[e]=!0:(gu[e]=!0,!1)}function fg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function hg(e,t,n,i){if(t===null||typeof t>"u"||fg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var la=/[\-:]([a-z])/g;function aa(e){return e[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(e){var t=e.replace(la,aa);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(la,aa);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(la,aa);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ua(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2l||r[o]!==s[l]){var a=` -`+r[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{wo=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function dg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=ko(e.type,!1),e;case 11:return e=ko(e.type.render,!1),e;case 1:return e=ko(e.type,!0),e;default:return""}}function ol(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case In:return"Portal";case il:return"Profiler";case ca:return"StrictMode";case rl:return"Suspense";case sl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case qf:return(e.displayName||"Context")+".Consumer";case Jf:return(e._context.displayName||"Context")+".Provider";case fa:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ha:return t=e.displayName||null,t!==null?t:ol(e.type)||"Memo";case Ae:t=e._payload,e=e._init;try{return ol(e(t))}catch{}}return null}function pg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ol(t);case 8:return t===ca?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function eh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function gg(e){var t=eh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=gg(e))}function nh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=eh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ll(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function vu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ih(e,t){t=t.checked,t!=null&&ua(e,"checked",t,!1)}function al(e,t){ih(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ul(e,t.type,n):t.hasOwnProperty("defaultValue")&&ul(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function xu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ul(e,t,n){(t!=="number"||xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Tr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={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},mg=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){mg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function lh(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function ah(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=lh(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var yg=tt({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 hl(e,t){if(t){if(yg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function dl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pl=null;function da(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gl=null,Jn=null,qn=null;function ku(e){if(e=wr(e)){if(typeof gl!="function")throw Error(C(280));var t=e.stateNode;t&&(t=io(t),gl(e.stateNode,e.type,t))}}function uh(e){Jn?qn?qn.push(e):qn=[e]:Jn=e}function ch(){if(Jn){var e=Jn,t=qn;if(qn=Jn=null,ku(e),t)for(e=0;e>>=0,e===0?32:31-(Eg(e)/Tg|0)|0}var Lr=64,Or=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ss(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function xr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function zg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Ou=String.fromCharCode(32),Du=!1;function Lh(e,t){switch(e){case"keyup":return lm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Oh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function um(e,t){switch(e){case"compositionend":return Oh(t);case"keypress":return t.which!==32?null:(Du=!0,Ou);case"textInput":return e=t.data,e===Ou&&Du?null:e;default:return null}}function cm(e,t){if(jn)return e==="compositionend"||!wa&&Lh(e,t)?(e=Eh(),ss=va=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Au(n)}}function Fh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Fh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ah(){for(var e=window,t=xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xs(e.document)}return t}function ka(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function xm(e){var t=Ah(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Fh(n.ownerDocument.documentElement,n)){if(i!==null&&ka(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Iu(n,s);var o=Iu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,wl=null,Bi=null,kl=!1;function Nu(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kl||Bn==null||Bn!==xs(i)||(i=Bn,"selectionStart"in i&&ka(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ms(wl,"onSelect"),0Wn||(e.current=El[Wn],El[Wn]=null,Wn--)}function U(e,t){Wn++,El[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Es(){Q(Rt),Q(St)}function Uu(e,t,n){if(St.current!==rn)throw Error(C(168));U(St,t),U(Rt,n)}function Uh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,pg(e)||"Unknown",r));return tt({},n,i)}function Ts(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,U(St,e),U(Rt,Rt.current),!0}function Yu(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Uh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,Q(Rt),Q(St),U(St,e)):Q(Rt),U(Rt,n)}var be=null,ro=!1,Ao=!1;function Yh(e){be===null?be=[e]:be.push(e)}function Om(e){ro=!0,Yh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=H;try{var n=be;for(H=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(R){return t(p,R)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Pr:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ae&&qu(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ds(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case In:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=$o(v,p.mode,_),g.return=p,p=g}return o(p);case Ae:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return y(p,g,v,_);if(mi(v))return m(p,g,v,_);Nr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=Wo(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=td(!0),ed=td(!1),kr={},ye=an(kr),or=an(kr),lr=an(kr);function xn(e){if(e===kr)throw Error(C(174));return e}function Oa(e,t){switch(U(lr,t),U(or,e),U(ye,kr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fl(t,e)}Q(ye),U(ye,t)}function ai(){Q(ye),Q(or),Q(lr)}function nd(e){xn(lr.current);var t=xn(ye.current),n=fl(t,e.type);t!==n&&(U(or,e),U(ye,n))}function Da(e){or.current===e&&(Q(ye),Q(or))}var J=an(0);function Fs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Io=[];function za(){for(var e=0;en?n:4,e(!0);var i=No.transition;No.transition={};try{e(!1),t()}finally{H=n,No.transition=i}}function vd(){return te().memoizedState}function Fm(e,t,n){var i=Je(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},xd(e))_d(t,n);else if(n=Gh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),wd(n,t,i)}}function Am(e,t,n){var i=Je(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(xd(e))_d(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,Ta(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Gh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),wd(n,t,i))}}function xd(e){var t=e.alternate;return e===q||t!==null&&t===q}function _d(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function wd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ga(e,n)}}var Is={readContext:qt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},Im={readContext:qt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:ec,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,us(4194308,4,dd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){return us(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Fm.bind(null,q,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:tc,useDebugValue:Na,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=tc(!1),t=e[0];return e=Rm.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=q,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),ht===null)throw Error(C(349));Mn&30||sd(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,ec(ld.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,od.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=ht.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Ld(e,t,!1,!1),t.stateNode=e;t:{switch(o=dl(n,i),n){case"dialog":K("cancel",e),K("close",e),r=i;break;case"iframe":case"object":case"embed":K("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Fs(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=J.current,U(J,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return $a(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Um(e,t){switch(ba(t),t.tag){case 1:return Ft(t.type)&&Es(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),Q(Rt),Q(St),za(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Da(t),null;case 13:if(Q(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Q(J),null;case 4:return ai(),null;case 10:return Ea(t.type._context),null;case 22:case 23:return $a(),null;case 24:return null;default:return null}}var Br=!1,kt=!1,Ym=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Bl(e,t,n){try{n()}catch(i){et(e,t,i)}}var cc=!1;function Km(e,t){if(Sl=bs,e=Ah(),ka(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(bl={focusedElem:e,selectionRange:n},bs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var m=y.memoizedProps,x=y.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?m:ne(t.type,m),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return y=cc,cc=!1,y}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Bl(t,n,s)}r=r.next}while(r!==i)}}function lo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Hl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function zd(e){var t=e.alternate;t!==null&&(e.alternate=null,zd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[Pl],delete t[Tm],delete t[Lm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Rd(e){return e.tag===5||e.tag===3||e.tag===4}function fc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Rd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ps));else if(i!==4&&(e=e.child,e!==null))for(Vl(e,t,n),e=e.sibling;e!==null;)Vl(e,t,n),e=e.sibling}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}var dt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Fd(e,t,n),n=n.sibling}function Fd(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(qs,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=dt,r=ie;dt=null,Re(e,t,n),dt=i,ie=r,dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):dt.removeChild(n.stateNode));break;case 18:dt!==null&&(ie?(e=dt,n=n.stateNode,e.nodeType===8?Fo(e.parentNode,n):e.nodeType===1&&Fo(e,n),tr(e)):Fo(dt,n.stateNode));break;case 4:i=dt,r=ie,dt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),dt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Bl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function hc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ym),t.forEach(function(i){var r=n0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Xm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Bs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Va?_n(e,0):Ha|=n),At(e,t)}function Wd(e,t){t===0&&(e.mode&1?(t=Or,Or<<=1,!(Or&130023424)&&(Or=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(xr(e,t,n),At(e,n))}function e0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Wd(e,n)}function n0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),Wd(e,n)}var $d;$d=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,Wm(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Kh(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;cs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Fa(null,t,i,e,r,n);var s=Aa();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ts(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,La(t),r.updater=so,t.stateNode=r,r._reactInternals=t,zl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&Sa(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(cs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=r0(i),e=ne(i,e),r){case 0:t=Fl(null,t,i,e,n);break t;case 1:t=lc(null,t,i,e,n);break t;case 11:t=sc(null,t,i,e,n);break t;case 14:t=oc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Fl(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),lc(e,t,i,r,n);case 3:t:{if(Pd(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,Zh(e,t),Rs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=ac(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=ac(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=ed(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return nd(t),e===null&&Ll(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Cl(i,r)?o=null:s!==null&&Cl(i,s)&&(t.flags|=32),Md(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ll(t),null;case 13:return Ed(e,t,n);case 4:return Oa(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),sc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,U(Ds,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Ol(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ol(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=qt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),oc(e,t,i,r,n);case 15:return bd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),cs(e,t),t.tag=1,Ft(i)?(e=!0,Ts(t)):e=!1,ei(t,n),qh(t,i,r),zl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Td(e,t,n);case 22:return Cd(e,t,n)}throw Error(C(156,t.tag))};function Ud(e,t){return yh(e,t)}function i0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new i0(e,t,n,i)}function Ya(e){return e=e.prototype,!(!e||!e.isReactComponent)}function r0(e){if(typeof e=="function")return Ya(e)?1:0;if(e!=null){if(e=e.$$typeof,e===fa)return 11;if(e===ha)return 14}return 2}function qe(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ds(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ya(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case ca:o=8,r|=8;break;case il:return e=Gt(12,n,t,r|2),e.elementType=il,e.lanes=s,e;case rl:return e=Gt(13,n,t,r),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(19,n,t,r),e.elementType=sl,e.lanes=s,e;case th:return uo(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Jf:o=10;break t;case qf:o=9;break t;case fa:o=11;break t;case ha:o=14;break t;case Ae:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function uo(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=th,e.lanes=n,e.stateNode={isHidden:!1},e}function Wo(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function $o(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function s0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bo(0),this.expirationTimes=bo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bo(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Ka(e,t,n,i,r,s,o,l,a){return e=new s0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},La(s),e}function o0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Xd)}catch(e){console.error(e)}}Xd(),Kf.exports=Ut;var f0=Kf.exports,Gd,_c=f0;Gd=_c.createRoot,_c.hydrateRoot;const h0=({data:e})=>I.jsxs("tr",{children:[I.jsx("td",{children:e.name}),I.jsx("td",{children:e.method}),I.jsx("td",{children:e.status}),I.jsx("td",{children:e.protocol}),I.jsxs("td",{children:[e.duration," ms"]}),I.jsx("td",{children:e.originatingService}),I.jsx("td",{children:e.applicationType})]}),d0=({data:e})=>I.jsxs("table",{children:[I.jsxs("tr",{children:[I.jsx("th",{children:"Name"}),I.jsx("th",{children:"Method"}),I.jsx("th",{children:"Status"}),I.jsx("th",{children:"Protocol"}),I.jsx("th",{children:"Time"}),I.jsx("th",{children:"Orig. Svc."}),I.jsx("th",{children:"Application Type"})]}),Array.from(e).map(([t,n])=>I.jsx(h0,{data:n},t))]});function p0(e){const t=[];return e.forEach(n=>{console.log("relative start time",n.relativeStartTime),console.log("relative start time",n.duration);const i=[n.relativeStartTime,n.relativeStartTime+n.duration];t.push(i)}),t}function g0(e){const t=[];return e.forEach(n=>{t.push(n.name)}),t}/*! -======== - */var Zf=ct,$t=cg;function C(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),il=Object.prototype.hasOwnProperty,fg=/^[: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]*$/,mu={},yu={};function hg(e){return il.call(yu,e)?!0:il.call(mu,e)?!1:fg.test(e)?yu[e]=!0:(mu[e]=!0,!1)}function dg(e,t,n,i){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function pg(e,t,n,i){if(t===null||typeof t>"u"||dg(e,t,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Et(e,t,n,i,r,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new Et(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new Et(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new Et(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new Et(e,2,!1,e,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(e){mt[e]=new Et(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new Et(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new Et(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new Et(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new Et(e,5,!1,e.toLowerCase(),null,!1,!1)});var aa=/[\-:]([a-z])/g;function ua(e){return e[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(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(aa,ua);mt[t]=new Et(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new Et(e,1,!1,e.toLowerCase(),null,!0,!0)});function ca(e,t,n,i){var r=mt.hasOwnProperty(t)?mt[t]:null;(r!==null?r.type!==0:i||!(2l||r[o]!==s[l]){var a=` -`+r[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=l);break}}}finally{ko=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ti(e):""}function gg(e){switch(e.tag){case 5:return Ti(e.type);case 16:return Ti("Lazy");case 13:return Ti("Suspense");case 19:return Ti("SuspenseList");case 0:case 2:case 15:return e=So(e.type,!1),e;case 11:return e=So(e.type.render,!1),e;case 1:return e=So(e.type,!0),e;default:return""}}function ll(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nn:return"Fragment";case An:return"Portal";case rl:return"Profiler";case fa:return"StrictMode";case sl:return"Suspense";case ol:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case th:return(e.displayName||"Context")+".Consumer";case Jf:return(e._context.displayName||"Context")+".Provider";case ha:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case da:return t=e.displayName||null,t!==null?t:ll(e.type)||"Memo";case Ie:t=e._payload,e=e._init;try{return ll(e(t))}catch{}}return null}function mg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ll(t);case 8:return t===fa?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function yg(e){var t=nh(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Tr(e){e._valueTracker||(e._valueTracker=yg(e))}function ih(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=nh(e)?e.checked?"true":"false":e.value),e=i,e!==n?(t.setValue(e),!0):!1}function _s(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function al(e,t){var n=t.checked;return tt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function xu(e,t){var n=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;n=nn(t.value!=null?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rh(e,t){t=t.checked,t!=null&&ca(e,"checked",t,!1)}function ul(e,t){rh(e,t);var n=nn(t.value),i=t.type;if(n!=null)i==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?cl(e,t.type,n):t.hasOwnProperty("defaultValue")&&cl(e,t.type,nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function _u(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function cl(e,t,n){(t!=="number"||_s(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Li=Array.isArray;function Zn(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"+t.valueOf().toString()+"",t=Lr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ii={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},vg=["Webkit","ms","Moz","O"];Object.keys(Ii).forEach(function(e){vg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ii[t]=Ii[e]})});function ah(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ii.hasOwnProperty(e)&&Ii[e]?(""+t).trim():t+"px"}function uh(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var i=n.indexOf("--")===0,r=ah(n,t[n],i);n==="float"&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}var xg=tt({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 dl(e,t){if(t){if(xg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(C(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(C(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(C(61))}if(t.style!=null&&typeof t.style!="object")throw Error(C(62))}}function pl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 gl=null;function pa(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ml=null,qn=null,Jn=null;function Su(e){if(e=kr(e)){if(typeof ml!="function")throw Error(C(280));var t=e.stateNode;t&&(t=ro(t),ml(e.stateNode,e.type,t))}}function ch(e){qn?Jn?Jn.push(e):Jn=[e]:qn=e}function fh(){if(qn){var e=qn,t=Jn;if(Jn=qn=null,Su(e),t)for(e=0;e>>=0,e===0?32:31-(Lg(e)/Og|0)|0}var Or=64,Dr=4194304;function Oi(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function bs(e,t){var n=e.pendingLanes;if(n===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~r;l!==0?i=Oi(l):(s&=o,s!==0&&(i=Oi(s)))}else o=n&~r,o!==0?i=Oi(o):s!==0&&(i=Oi(s));if(i===0)return 0;if(t!==0&&t!==i&&!(t&r)&&(r=i&-i,s=t&-t,r>=s||r===16&&(s&4194240)!==0))return t;if(i&4&&(i|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0n;n++)t.push(e);return t}function _r(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function Fg(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=Ni),Du=String.fromCharCode(32),zu=!1;function Oh(e,t){switch(e){case"keyup":return um.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jn=!1;function fm(e,t){switch(e){case"compositionend":return Dh(t);case"keypress":return t.which!==32?null:(zu=!0,Du);case"textInput":return e=t.data,e===Du&&zu?null:e;default:return null}}function hm(e,t){if(jn)return e==="compositionend"||!ka&&Oh(e,t)?(e=Th(),os=xa=Be=null,jn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Au(n)}}function Ih(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ih(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ah(){for(var e=window,t=_s();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=_s(e.document)}return t}function Sa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function wm(e){var t=Ah(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ih(n.ownerDocument.documentElement,n)){if(i!==null&&Sa(n)){if(t=i.start,e=i.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=Nu(n,s);var o=Nu(n,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Bn=null,kl=null,Bi=null,Sl=!1;function ju(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Sl||Bn==null||Bn!==_s(i)||(i=Bn,"selectionStart"in i&&Sa(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Bi&&nr(Bi,i)||(Bi=i,i=Ps(kl,"onSelect"),0Wn||(e.current=Tl[Wn],Tl[Wn]=null,Wn--)}function U(e,t){Wn++,Tl[Wn]=e.current,e.current=t}var rn={},St=an(rn),Rt=an(!1),bn=rn;function si(e,t){var n=e.type.contextTypes;if(!n)return rn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in n)r[s]=t[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ft(e){return e=e.childContextTypes,e!=null}function Ts(){Q(Rt),Q(St)}function Yu(e,t,n){if(St.current!==rn)throw Error(C(168));U(St,t),U(Rt,n)}function Yh(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var r in i)if(!(r in t))throw Error(C(108,mg(e)||"Unknown",r));return tt({},n,i)}function Ls(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,bn=St.current,U(St,e),U(Rt,Rt.current),!0}function Ku(e,t,n){var i=e.stateNode;if(!i)throw Error(C(169));n?(e=Yh(e,t,bn),i.__reactInternalMemoizedMergedChildContext=e,Q(Rt),Q(St),U(St,e)):Q(Rt),U(Rt,n)}var be=null,so=!1,Ao=!1;function Kh(e){be===null?be=[e]:be.push(e)}function zm(e){so=!0,Kh(e)}function un(){if(!Ao&&be!==null){Ao=!0;var e=0,t=H;try{var n=be;for(H=1;e>=o,r-=o,Me=1<<32-oe(t)+r|n<b?(T=S,S=null):T=S.sibling;var E=h(p,S,v[b],_);if(E===null){S===null&&(S=T);break}e&&S&&E.alternate===null&&t(p,S),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E,S=T}if(b===v.length)return n(p,S),X&&pn(p,b),w;if(S===null){for(;bb?(T=S,S=null):T=S.sibling;var L=h(p,S,E.value,_);if(L===null){S===null&&(S=T);break}e&&S&&L.alternate===null&&t(p,S),g=s(L,g,b),k===null?w=L:k.sibling=L,k=L,S=T}if(E.done)return n(p,S),X&&pn(p,b),w;if(S===null){for(;!E.done;b++,E=v.next())E=f(p,E.value,_),E!==null&&(g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return X&&pn(p,b),w}for(S=i(p,S);!E.done;b++,E=v.next())E=d(S,p,b,E.value,_),E!==null&&(e&&E.alternate!==null&&S.delete(E.key===null?b:E.key),g=s(E,g,b),k===null?w=E:k.sibling=E,k=E);return e&&S.forEach(function(F){return t(p,F)}),X&&pn(p,b),w}function x(p,g,v,_){if(typeof v=="object"&&v!==null&&v.type===Nn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Er:t:{for(var w=v.key,k=g;k!==null;){if(k.key===w){if(w=v.type,w===Nn){if(k.tag===7){n(p,k.sibling),g=r(k,v.props.children),g.return=p,p=g;break t}}else if(k.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Ie&&tc(w)===k.type){n(p,k.sibling),g=r(k,v.props),g.ref=wi(p,k,v),g.return=p,p=g;break t}n(p,k);break}else t(p,k);k=k.sibling}v.type===Nn?(g=wn(v.props.children,p.mode,_,v.key),g.return=p,p=g):(_=ps(v.type,v.key,v.props,null,p.mode,_),_.ref=wi(p,g,v),_.return=p,p=_)}return o(p);case An:t:{for(k=v.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){n(p,g.sibling),g=r(g,v.children||[]),g.return=p,p=g;break t}else{n(p,g);break}else t(p,g);g=g.sibling}g=Uo(v,p.mode,_),g.return=p,p=g}return o(p);case Ie:return k=v._init,x(p,g,k(v._payload),_)}if(Li(v))return m(p,g,v,_);if(mi(v))return y(p,g,v,_);jr(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(n(p,g.sibling),g=r(g,v),g.return=p,p=g):(n(p,g),g=$o(v,p.mode,_),g.return=p,p=g),o(p)):n(p,g)}return x}var li=ed(!0),nd=ed(!1),Sr={},ye=an(Sr),or=an(Sr),lr=an(Sr);function xn(e){if(e===Sr)throw Error(C(174));return e}function Da(e,t){switch(U(lr,t),U(or,e),U(ye,Sr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:hl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=hl(t,e)}Q(ye),U(ye,t)}function ai(){Q(ye),Q(or),Q(lr)}function id(e){xn(lr.current);var t=xn(ye.current),n=hl(t,e.type);t!==n&&(U(or,e),U(ye,n))}function za(e){or.current===e&&(Q(ye),Q(or))}var q=an(0);function Is(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var No=[];function Ra(){for(var e=0;en?n:4,e(!0);var i=jo.transition;jo.transition={};try{e(!1),t()}finally{H=n,jo.transition=i}}function xd(){return te().memoizedState}function Am(e,t,n){var i=qe(e);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},_d(e))wd(t,n);else if(n=Zh(e,t,n,i),n!==null){var r=Mt();le(n,e,i,r),kd(n,t,i)}}function Nm(e,t,n){var i=qe(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(_d(e))wd(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(r.hasEagerState=!0,r.eagerState=l,ae(l,o)){var a=t.interleaved;a===null?(r.next=r,La(t)):(r.next=a.next,a.next=r),t.interleaved=r;return}}catch{}finally{}n=Zh(e,t,r,i),n!==null&&(r=Mt(),le(n,e,i,r),kd(n,t,i))}}function _d(e){var t=e.alternate;return e===J||t!==null&&t===J}function wd(e,t){Hi=As=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kd(e,t,n){if(n&4194240){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,ma(e,n)}}var Ns={readContext:Jt,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useInsertionEffect:xt,useLayoutEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useMutableSource:xt,useSyncExternalStore:xt,useId:xt,unstable_isNewReconciler:!1},jm={readContext:Jt,useCallback:function(e,t){return he().memoizedState=[e,t===void 0?null:t],e},useContext:Jt,useEffect:nc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,cs(4194308,4,pd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return cs(4194308,4,e,t)},useInsertionEffect:function(e,t){return cs(4,2,e,t)},useMemo:function(e,t){var n=he();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=he();return t=n!==void 0?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=Am.bind(null,J,e),[i.memoizedState,e]},useRef:function(e){var t=he();return e={current:e},t.memoizedState=e},useState:ec,useDebugValue:ja,useDeferredValue:function(e){return he().memoizedState=e},useTransition:function(){var e=ec(!1),t=e[0];return e=Im.bind(null,e[1]),he().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=J,r=he();if(X){if(n===void 0)throw Error(C(407));n=n()}else{if(n=t(),dt===null)throw Error(C(349));Mn&30||od(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,nc(ad.bind(null,i,s,e),[e]),i.flags|=2048,cr(9,ld.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=he(),t=dt.identifierPrefix;if(X){var n=Pe,i=Me;n=(i&~(1<<32-oe(i)-1)).toString(32)+n,t=":"+t+"R"+n,n=ar++,0<\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(n,{is:i.is}):(e=o.createElement(n),n==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,n),e[ge]=t,e[sr]=i,Od(e,t,!1,!1),t.stateNode=e;t:{switch(o=pl(n,i),n){case"dialog":K("cancel",e),K("close",e),r=i;break;case"iframe":case"object":case"embed":K("load",e),r=i;break;case"video":case"audio":for(r=0;rci&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304)}else{if(!i)if(e=Is(o),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ki(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!X)return _t(t),null}else 2*rt()-s.renderingStartTime>ci&&n!==1073741824&&(t.flags|=128,i=!0,ki(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=rt(),t.sibling=null,n=q.current,U(q,i?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return Ua(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Ht&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(C(156,t.tag))}function Km(e,t){switch(Ca(t),t.tag){case 1:return Ft(t.type)&&Ts(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ai(),Q(Rt),Q(St),Ra(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return za(t),null;case 13:if(Q(q),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(C(340));oi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Q(q),null;case 4:return ai(),null;case 10:return Ta(t.type._context),null;case 22:case 23:return Ua(),null;case 24:return null;default:return null}}var Hr=!1,kt=!1,Qm=typeof WeakSet=="function"?WeakSet:Set,P=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){et(e,t,i)}else n.current=null}function Hl(e,t,n){try{n()}catch(i){et(e,t,i)}}var fc=!1;function Xm(e,t){if(bl=Cs,e=Ah(),Sa(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else t:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break t}var o=0,l=-1,a=-1,u=0,c=0,f=e,h=null;e:for(;;){for(var d;f!==n||r!==0&&f.nodeType!==3||(l=o+r),f!==s||i!==0&&f.nodeType!==3||(a=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(d=f.firstChild)!==null;)h=f,f=d;for(;;){if(f===e)break e;if(h===n&&++u===r&&(l=o),h===s&&++c===i&&(a=o),(d=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=d}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(Cl={focusedElem:e,selectionRange:n},Cs=!1,P=t;P!==null;)if(t=P,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,P=e;else for(;P!==null;){t=P;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var y=m.memoizedProps,x=m.memoizedState,p=t.stateNode,g=p.getSnapshotBeforeUpdate(t.elementType===t.type?y:ne(t.type,y),x);p.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(C(163))}}catch(_){et(t,t.return,_)}if(e=t.sibling,e!==null){e.return=t.return,P=e;break}P=t.return}return m=fc,fc=!1,m}function Vi(e,t,n){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&Hl(t,n,s)}r=r.next}while(r!==i)}}function ao(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function Vl(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Rd(e){var t=e.alternate;t!==null&&(e.alternate=null,Rd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ge],delete t[sr],delete t[El],delete t[Om],delete t[Dm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function hc(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Wl(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Es));else if(i!==4&&(e=e.child,e!==null))for(Wl(e,t,n),e=e.sibling;e!==null;)Wl(e,t,n),e=e.sibling}function $l(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for($l(e,t,n),e=e.sibling;e!==null;)$l(e,t,n),e=e.sibling}var pt=null,ie=!1;function Re(e,t,n){for(n=n.child;n!==null;)Id(e,t,n),n=n.sibling}function Id(e,t,n){if(me&&typeof me.onCommitFiberUnmount=="function")try{me.onCommitFiberUnmount(to,n)}catch{}switch(n.tag){case 5:kt||Kn(n,t);case 6:var i=pt,r=ie;pt=null,Re(e,t,n),pt=i,ie=r,pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):pt.removeChild(n.stateNode));break;case 18:pt!==null&&(ie?(e=pt,n=n.stateNode,e.nodeType===8?Io(e.parentNode,n):e.nodeType===1&&Io(e,n),tr(e)):Io(pt,n.stateNode));break;case 4:i=pt,r=ie,pt=n.stateNode.containerInfo,ie=!0,Re(e,t,n),pt=i,ie=r;break;case 0:case 11:case 14:case 15:if(!kt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Hl(n,t,o),r=r.next}while(r!==i)}Re(e,t,n);break;case 1:if(!kt&&(Kn(n,t),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(l){et(n,t,l)}Re(e,t,n);break;case 21:Re(e,t,n);break;case 22:n.mode&1?(kt=(i=kt)||n.memoizedState!==null,Re(e,t,n),kt=i):Re(e,t,n);break;default:Re(e,t,n)}}function dc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Qm),t.forEach(function(i){var r=r0.bind(null,e,i);n.has(i)||(n.add(i),i.then(r,r))})}}function ee(e,t){var n=t.deletions;if(n!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=rt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Zm(i/1960))-i,10e?16:e,He===null)var i=!1;else{if(e=He,He=null,Hs=0,A&6)throw Error(C(331));var r=A;for(A|=4,P=e.current;P!==null;){var s=P,o=s.child;if(P.flags&16){var l=s.deletions;if(l!==null){for(var a=0;art()-Wa?_n(e,0):Va|=n),It(e,t)}function $d(e,t){t===0&&(e.mode&1?(t=Dr,Dr<<=1,!(Dr&130023424)&&(Dr=4194304)):t=1);var n=Mt();e=Oe(e,t),e!==null&&(_r(e,t,n),It(e,n))}function i0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$d(e,n)}function r0(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(C(314))}i!==null&&i.delete(t),$d(e,n)}var Ud;Ud=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rt.current)Dt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Dt=!1,Um(e,t,n);Dt=!!(e.flags&131072)}else Dt=!1,X&&t.flags&1048576&&Qh(t,Ds,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;fs(e,t),e=t.pendingProps;var r=si(t,St.current);ei(t,n),r=Ia(null,t,i,e,r,n);var s=Aa();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(i)?(s=!0,Ls(t)):s=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Oa(t),r.updater=oo,t.stateNode=r,r._reactInternals=t,Rl(t,i,e,n),t=Al(null,t,i,!0,s,n)):(t.tag=0,X&&s&&ba(t),Ct(null,t,r,n),t=t.child),t;case 16:i=t.elementType;t:{switch(fs(e,t),e=t.pendingProps,r=i._init,i=r(i._payload),t.type=i,r=t.tag=o0(i),e=ne(i,e),r){case 0:t=Il(null,t,i,e,n);break t;case 1:t=ac(null,t,i,e,n);break t;case 11:t=oc(null,t,i,e,n);break t;case 14:t=lc(null,t,i,ne(i.type,e),n);break t}throw Error(C(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),Il(e,t,i,r,n);case 1:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),ac(e,t,i,r,n);case 3:t:{if(Ed(t),e===null)throw Error(C(387));i=t.pendingProps,s=t.memoizedState,r=s.element,qh(e,t),Fs(t,i,null,n);var o=t.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){r=ui(Error(C(423)),t),t=uc(e,t,i,n,r);break t}else if(i!==r){r=ui(Error(C(424)),t),t=uc(e,t,i,n,r);break t}else for(Vt=Xe(t.stateNode.containerInfo.firstChild),Wt=t,X=!0,re=null,n=nd(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oi(),i===r){t=De(e,t,n);break t}Ct(e,t,i,n)}t=t.child}return t;case 5:return id(t),e===null&&Ol(t),i=t.type,r=t.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,Ml(i,r)?o=null:s!==null&&Ml(i,s)&&(t.flags|=32),Pd(e,t),Ct(e,t,o,n),t.child;case 6:return e===null&&Ol(t),null;case 13:return Td(e,t,n);case 4:return Da(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=li(t,null,i,n):Ct(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),oc(e,t,i,r,n);case 7:return Ct(e,t,t.pendingProps,n),t.child;case 8:return Ct(e,t,t.pendingProps.children,n),t.child;case 12:return Ct(e,t,t.pendingProps.children,n),t.child;case 10:t:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,o=r.value,U(zs,i._currentValue),i._currentValue=o,s!==null)if(ae(s.value,o)){if(s.children===r.children&&!Rt.current){t=De(e,t,n);break t}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===i){if(s.tag===1){a=Ee(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Dl(s.return,n,t),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(C(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Dl(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Ct(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,ei(t,n),r=Jt(r),i=i(r),t.flags|=1,Ct(e,t,i,n),t.child;case 14:return i=t.type,r=ne(i,t.pendingProps),r=ne(i.type,r),lc(e,t,i,r,n);case 15:return Cd(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:ne(i,r),fs(e,t),t.tag=1,Ft(i)?(e=!0,Ls(t)):e=!1,ei(t,n),td(t,i,r),Rl(t,i,r,n),Al(null,t,i,!0,e,n);case 19:return Ld(e,t,n);case 22:return Md(e,t,n)}throw Error(C(156,t.tag))};function Yd(e,t){return vh(e,t)}function s0(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Gt(e,t,n,i){return new s0(e,t,n,i)}function Ka(e){return e=e.prototype,!(!e||!e.isReactComponent)}function o0(e){if(typeof e=="function")return Ka(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ha)return 11;if(e===da)return 14}return 2}function Je(e,t){var n=e.alternate;return n===null?(n=Gt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ps(e,t,n,i,r,s){var o=2;if(i=e,typeof e=="function")Ka(e)&&(o=1);else if(typeof e=="string")o=5;else t:switch(e){case Nn:return wn(n.children,r,s,t);case fa:o=8,r|=8;break;case rl:return e=Gt(12,n,t,r|2),e.elementType=rl,e.lanes=s,e;case sl:return e=Gt(13,n,t,r),e.elementType=sl,e.lanes=s,e;case ol:return e=Gt(19,n,t,r),e.elementType=ol,e.lanes=s,e;case eh:return co(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Jf:o=10;break t;case th:o=9;break t;case ha:o=11;break t;case da:o=14;break t;case Ie:o=16,i=null;break t}throw Error(C(130,e==null?e:typeof e,""))}return t=Gt(o,n,t,r),t.elementType=e,t.type=i,t.lanes=s,t}function wn(e,t,n,i){return e=Gt(7,e,i,t),e.lanes=n,e}function co(e,t,n,i){return e=Gt(22,e,i,t),e.elementType=eh,e.lanes=n,e.stateNode={isHidden:!1},e}function $o(e,t,n){return e=Gt(6,e,null,t),e.lanes=n,e}function Uo(e,t,n){return t=Gt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function l0(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Co(0),this.expirationTimes=Co(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Co(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Qa(e,t,n,i,r,s,o,l,a){return e=new l0(e,t,n,l,a),t===1?(t=1,s===!0&&(t|=8)):t=0,s=Gt(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oa(s),e}function a0(e,t,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gd)}catch(e){console.error(e)}}Gd(),Qf.exports=Ut;var d0=Qf.exports,Zd,wc=d0;Zd=wc.createRoot,wc.hydrateRoot;function hr(e,t){return t-e}function qd(e){const t=[];let n,i;e.map((o,l)=>{const a=hr(o.startTime,o.endTime),u={id:o.spanId,duration:a,start:o.startTime,end:o.endTime};t.push(u),l===0?(n=o.startTime,i=o.endTime):(o.startTimei&&(i=o.endTime))});const r=hr(n,i),s={id:e[0].traceId,duration:r,start:n,end:i};return t.unshift(s),t}function p0(e){const t=[];let n,i;return e.map((s,o)=>{if(o<13){const l=qd(s);t.push(l),o===0&&(n=l[0].start,i=l[0].id),l[0].start{const[t,n]=ct.useState(!1),i=e.length>1,r=qd(e);return z.jsxs(z.Fragment,{children:[z.jsxs("tr",{onClick:()=>n(!t),children:[z.jsxs("td",{className:i?"noPadding":"padding",children:[i?z.jsx("div",{className:t&&i?"arrowDown":"arrow"}):null,e[0].traceId]}),z.jsx("td",{children:e[0].name}),z.jsx("td",{children:e[0].spanId}),z.jsx("td",{children:e[0].applicationType}),z.jsx("td",{children:e[0].originatingService}),z.jsx("td",{children:e[0].method}),z.jsx("td",{children:e[0].status}),z.jsx("td",{children:e[0].protocol}),z.jsxs("td",{children:[t?hr(e[0].startTime,e[0].endTime):r[0].duration," ms"]})]}),i&&t?e.slice(1).map((s,o)=>z.jsxs("tr",{className:"span",children:[z.jsx("td",{}),z.jsx("td",{children:s.name}),z.jsx("td",{children:s.spanId}),z.jsx("td",{children:s.applicationType}),z.jsx("td",{children:s.originatingService}),z.jsx("td",{children:s.method}),z.jsx("td",{children:s.status}),z.jsx("td",{children:s.protocol}),z.jsxs("td",{children:[hr(s.startTime,s.endTime)," ms"]})]},o)):null]})},m0=({data:e})=>z.jsxs("table",{children:[z.jsxs("tr",{children:[z.jsx("th",{children:"Trace ID"}),z.jsx("th",{children:"Name"}),z.jsx("th",{children:"Span ID"}),z.jsx("th",{children:"Application Type"}),z.jsx("th",{children:"Orig. Svc."}),z.jsx("th",{children:"Method"}),z.jsx("th",{children:"Status"}),z.jsx("th",{children:"Protocol"}),z.jsx("th",{children:"Time"})]}),e.map((t,n)=>z.jsx(g0,{data:t},n))]});function y0(e,t){const n=[];return e.map((i,r)=>{const s=[],o=hr(t,i[0].start),l=o+i[0].duration;s.push(o,l),n.push(s)}),n}function v0(e){return e.map(n=>n[0].id)}/*! ->>>>>>>> dev:chrome-extension/dist/assets/panel-a9d3a4ab.js - * @kurkle/color v0.3.2 - * https://github.com/kurkle/color#readme - * (c) 2023 Jukka Kurkela - * Released under the MIT License - */function Sr(e){return e+.5|0}const Ve=(e,t,n)=>Math.max(Math.min(e,n),t);function zi(e){return Ve(Sr(e*2.55),0,255)}function tn(e){return Ve(Sr(e*255),0,255)}function Ce(e){return Ve(Sr(e/2.55)/100,0,1)}function wc(e){return Ve(Sr(e*100),0,100)}const Kt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ql=[..."0123456789ABCDEF"],m0=e=>Ql[e&15],y0=e=>Ql[(e&240)>>4]+Ql[e&15],Wr=e=>(e&240)>>4===(e&15),v0=e=>Wr(e.r)&&Wr(e.g)&&Wr(e.b)&&Wr(e.a);function x0(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&Kt[e[1]]*17,g:255&Kt[e[2]]*17,b:255&Kt[e[3]]*17,a:t===5?Kt[e[4]]*17:255}:(t===7||t===9)&&(n={r:Kt[e[1]]<<4|Kt[e[2]],g:Kt[e[3]]<<4|Kt[e[4]],b:Kt[e[5]]<<4|Kt[e[6]],a:t===9?Kt[e[7]]<<4|Kt[e[8]]:255})),n}const _0=(e,t)=>e<255?t(e):"";function w0(e){var t=v0(e)?m0:y0;return e?"#"+t(e.r)+t(e.g)+t(e.b)+_0(e.a,t):void 0}const k0=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Zd(e,t,n){const i=t*Math.min(n,1-n),r=(s,o=(s+e/30)%12)=>n-i*Math.max(Math.min(o-3,9-o,1),-1);return[r(0),r(8),r(4)]}function S0(e,t,n){const i=(r,s=(r+e/60)%6)=>n-n*t*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function b0(e,t,n){const i=Zd(e,1,.5);let r;for(t+n>1&&(r=1/(t+n),t*=r,n*=r),r=0;r<3;r++)i[r]*=1-t-n,i[r]+=t;return i}function C0(e,t,n,i,r){return e===r?(t-n)/i+(t.5?c/(2-s-o):c/(s+o),a=C0(n,i,r,c,s),a=a*60+.5),[a|0,u||0,l]}function Ja(e,t,n,i){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,i)).map(tn)}function qa(e,t,n){return Ja(Zd,e,t,n)}function M0(e,t,n){return Ja(b0,e,t,n)}function P0(e,t,n){return Ja(S0,e,t,n)}function Jd(e){return(e%360+360)%360}function E0(e){const t=k0.exec(e);let n=255,i;if(!t)return;t[5]!==i&&(n=t[6]?zi(+t[5]):tn(+t[5]));const r=Jd(+t[2]),s=+t[3]/100,o=+t[4]/100;return t[1]==="hwb"?i=M0(r,s,o):t[1]==="hsv"?i=P0(r,s,o):i=qa(r,s,o),{r:i[0],g:i[1],b:i[2],a:n}}function T0(e,t){var n=Za(e);n[0]=Jd(n[0]+t),n=qa(n),e.r=n[0],e.g=n[1],e.b=n[2]}function L0(e){if(!e)return;const t=Za(e),n=t[0],i=wc(t[1]),r=wc(t[2]);return e.a<255?`hsla(${n}, ${i}%, ${r}%, ${Ce(e.a)})`:`hsl(${n}, ${i}%, ${r}%)`}const kc={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Sc={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function O0(){const e={},t=Object.keys(Sc),n=Object.keys(kc);let i,r,s,o,l;for(i=0;i>16&255,s>>8&255,s&255]}return e}let $r;function D0(e){$r||($r=O0(),$r.transparent=[0,0,0,0]);const t=$r[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const z0=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function R0(e){const t=z0.exec(e);let n=255,i,r,s;if(t){if(t[7]!==i){const o=+t[7];n=t[8]?zi(o):Ve(o*255,0,255)}return i=+t[1],r=+t[3],s=+t[5],i=255&(t[2]?zi(i):Ve(i,0,255)),r=255&(t[4]?zi(r):Ve(r,0,255)),s=255&(t[6]?zi(s):Ve(s,0,255)),{r:i,g:r,b:s,a:n}}}function F0(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Ce(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const Uo=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,An=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function A0(e,t,n){const i=An(Ce(e.r)),r=An(Ce(e.g)),s=An(Ce(e.b));return{r:tn(Uo(i+n*(An(Ce(t.r))-i))),g:tn(Uo(r+n*(An(Ce(t.g))-r))),b:tn(Uo(s+n*(An(Ce(t.b))-s))),a:e.a+n*(t.a-e.a)}}function Ur(e,t,n){if(e){let i=Za(e);i[t]=Math.max(0,Math.min(i[t]+i[t]*n,t===0?360:1)),i=qa(i),e.r=i[0],e.g=i[1],e.b=i[2]}}function qd(e,t){return e&&Object.assign(t||{},e)}function bc(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=tn(e[3]))):(t=qd(e,{r:0,g:0,b:0,a:1}),t.a=tn(t.a)),t}function I0(e){return e.charAt(0)==="r"?R0(e):E0(e)}class hr{constructor(t){if(t instanceof hr)return t;const n=typeof t;let i;n==="object"?i=bc(t):n==="string"&&(i=x0(t)||D0(t)||I0(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qd(this._rgb);return t&&(t.a=Ce(t.a)),t}set rgb(t){this._rgb=bc(t)}rgbString(){return this._valid?F0(this._rgb):void 0}hexString(){return this._valid?w0(this._rgb):void 0}hslString(){return this._valid?L0(this._rgb):void 0}mix(t,n){if(t){const i=this.rgb,r=t.rgb;let s;const o=n===s?.5:n,l=2*o-1,a=i.a-r.a,u=((l*a===-1?l:(l+a)/(1+l*a))+1)/2;s=1-u,i.r=255&u*i.r+s*r.r+.5,i.g=255&u*i.g+s*r.g+.5,i.b=255&u*i.b+s*r.b+.5,i.a=o*i.a+(1-o)*r.a,this.rgb=i}return this}interpolate(t,n){return t&&(this._rgb=A0(this._rgb,t._rgb,n)),this}clone(){return new hr(this.rgb)}alpha(t){return this._rgb.a=tn(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=Sr(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Ur(this._rgb,2,t),this}darken(t){return Ur(this._rgb,2,-t),this}saturate(t){return Ur(this._rgb,1,t),this}desaturate(t){return Ur(this._rgb,1,-t),this}rotate(t){return T0(this._rgb,t),this}}/*! - * Chart.js v4.3.0 - * https://www.chartjs.org - * (c) 2023 Chart.js Contributors - * Released under the MIT License -<<<<<<<< HEAD:chrome-extension/dist/assets/panel-f8e9e358.js - */function _e(){}const N0=(()=>{let e=0;return()=>e++})();function V(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function N(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ft(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ft(e)?e:t}function j(e,t){return typeof e>"u"?t:e}const j0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function $(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function B(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function V0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function W0(e){const t=V0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Cc[t]||(Cc[t]=W0(t)))(e)}function tu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const pr=e=>typeof e<"u",sn=e=>typeof e=="function",Mc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function $0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Us=Number.POSITIVE_INFINITY,U0=yt/180,zt=yt/2,cn=yt/4,Pc=yt*2/3,We=Math.log10,en=Math.sign;function ps(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ys(e){return!isNaN(parseFloat(e))&&isFinite(e)}function K0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function ep(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function nu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Xl=(e,t,n,i)=>nu(e,n,i?r=>{const s=e[r][t];return se[r][t]nu(e,n,i=>e[i][t]>=n);function q0(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+tu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Lc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(np.forEach(s=>{delete e[s]}),delete e._chartjs)}function ip(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const rp=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function sp(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,rp.call(window,()=>{i=!1,e.apply(t,n)}))}}function ey(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const iu=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,ny=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Yr=e=>e===0||e===1,Oc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),Dc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Yr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Yr(e)?e:Oc(e,.075,.3),easeOutElastic:e=>Yr(e)?e:Dc(e,.075,.3),easeInOutElastic(e){return Yr(e)?e:e<.5?.5*Oc(e*2,.1125,.45):.5+.5*Dc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function op(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function zc(e){return op(e)?e:new hr(e)}function Yo(e){return op(e)?e:new hr(e).saturate(.5).darken(.1).hexString()}const iy=["x","y","borderWidth","radius","tension"],ry=["color","borderColor","backgroundColor"];function sy(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:ry},numbers:{type:"number",properties:iy}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function oy(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Rc=new Map;function ly(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Rc.get(n);return i||(i=new Intl.NumberFormat(e,t),Rc.set(n,i)),i}function ru(e,t,n){return ly(t,n).format(e)}const lp={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=ay(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),ru(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?lp.numeric.call(this,e,t,n):""}};function ay(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var go={formatters:lp};function uy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:go.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Gl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Yo(r.backgroundColor),this.hoverBorderColor=(i,r)=>Yo(r.borderColor),this.hoverColor=(i,r)=>Yo(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Ko(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Ko(Gl,t,n)}override(t,n){return Ko(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return N(a)?Object.assign({},u,a):j(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new cy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[sy,oy,uy]);function fy(e){return!e||V(e.size)||V(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Ks(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function hy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,dy(e,s),a=0;a+e||0;function up(e,t){const n={},i=N(t),r=i?Object.keys(t):t,s=N(e)?i?o=>j(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=xy(s(o));return n}function cp(e){return up(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return up(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=cp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ut(e,t){e=e||{},t=t||nt.font;let n=j(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=j(e.style,t.style);i&&!(""+i).match(yy)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:j(e.family,t.family),lineHeight:vy(j(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:j(e.weight,t.weight),string:""};return r.string=fy(r),r}function Kr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function lu(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=pp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>lu([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return hp(l,a,()=>Ey(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return Nc(l).includes(a)},ownKeys(l){return Nc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:fp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return hp(s,o,()=>ky(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function fp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const wy=(e,t)=>e?e+tu(t):t,au=(e,t)=>N(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function hp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function ky(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=Sy(t,l,e,n)),G(l)&&l.length&&(l=by(t,l,e,o.isIndexable)),au(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function Sy(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),au(e,a)&&(a=uu(r._scopes,r,e,a)),a}function by(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(N(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=uu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function dp(e,t,n){return sn(e)?e(t,n):e}const Cy=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function My(e,t,n,i,r){for(const s of t){const o=Cy(n,s);if(o){e.add(o);const l=dp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function uu(e,t,n,i){const r=t._rootScopes,s=dp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Ic(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Ic(l,o,s,a,i),a===null)?!1:lu(Array.from(l),[""],r,s,()=>Py(t,n,i))}function Ic(e,t,n,i,r){for(;n;)n=My(e,t,n,i,r);return n}function Py(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&N(n)?n:r||{}}function Ey(e,t,n,i){let r;for(const s of t)if(r=pp(wy(s,e),n),typeof r<"u")return au(e,r)?uu(n,i,e,r):r}function pp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function Nc(e){let t=e._keys;return t||(t=e._keys=Ty(e._scopes)),t}function Ty(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function gp(){return typeof window<"u"&&typeof document<"u"}function cu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Qs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const mo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function Ly(e,t){return mo(e).getPropertyValue(t)}const Oy=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Oy[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Dy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function zy(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(Dy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=mo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=zy(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:y}=t;return s&&(d-=o.width+l.width,y-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/y*n.height/i)}}function Ry(e,t,n){let i,r;if(t===void 0||n===void 0){const s=cu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=mo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Qs(l.maxWidth,s,"clientWidth"),r=Qs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Us,maxHeight:r||Us}}const Qr=e=>Math.round(e*10)/10;function Fy(e,t,n,i){const r=mo(e),s=Sn(r,"margin"),o=Qs(r.maxWidth,e,"clientWidth")||Us,l=Qs(r.maxHeight,e,"clientHeight")||Us,a=Ry(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Qr(Math.min(u,o,a.maxWidth)),c=Qr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Qr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Qr(Math.floor(c*i))),{width:u,height:c}}function jc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Ay=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Bc(e,t){const n=Ly(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const Iy=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},Ny=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?Iy(t,n):Ny()}function mp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function yp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! -======== - */function _e(){}const H0=(()=>{let e=0;return()=>e++})();function V(e){return e===null||typeof e>"u"}function G(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function N(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function ht(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Bt(e,t){return ht(e)?e:t}function j(e,t){return typeof e>"u"?t:e}const V0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function $(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function B(e,t,n,i){let r,s,o;if(G(e))if(s=e.length,i)for(r=s-1;r>=0;r--)t.call(n,e[r],r);else for(r=0;re,x:e=>e.x,y:e=>e.y};function U0(e){const t=e.split("."),n=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function Y0(e){const t=U0(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function fi(e,t){return(Mc[t]||(Mc[t]=Y0(t)))(e)}function eu(e){return e.charAt(0).toUpperCase()+e.slice(1)}const gr=e=>typeof e<"u",sn=e=>typeof e=="function",Pc=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function K0(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const yt=Math.PI,ve=2*yt,Ys=Number.POSITIVE_INFINITY,Q0=yt/180,zt=yt/2,cn=yt/4,Ec=yt*2/3,We=Math.log10,en=Math.sign;function gs(e,t,n){return Math.abs(e-t)r-s).pop(),t}function Ks(e){return!isNaN(parseFloat(e))&&isFinite(e)}function G0(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function ip(e,t,n){let i,r,s;for(i=0,r=e.length;ia&&u=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function iu(e,t,n){n=n||(o=>e[o]1;)s=r+i>>1,n(s)?r=s:i=s;return{lo:r,hi:i}}const Gl=(e,t,n,i)=>iu(e,n,i?r=>{const s=e[r][t];return se[r][t]iu(e,n,i=>e[i][t]>=n);function ny(e,t,n){let i=0,r=e.length;for(;ii&&e[r-1]>n;)r--;return i>0||r{const i="_onData"+eu(n),r=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return e._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),o}})})}function Oc(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(rp.forEach(s=>{delete e[s]}),delete e._chartjs)}function sp(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const op=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function lp(e,t){let n=[],i=!1;return function(...r){n=r,i||(i=!0,op.call(window,()=>{i=!1,e.apply(t,n)}))}}function ry(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const ru=e=>e==="start"?"left":e==="end"?"right":"center",wt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,sy=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t,Kr=e=>e===0||e===1,Dc=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ve/n)),zc=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ve/n)+1,Yi={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*zt)+1,easeOutSine:e=>Math.sin(e*zt),easeInOutSine:e=>-.5*(Math.cos(yt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>Kr(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Kr(e)?e:Dc(e,.075,.3),easeOutElastic:e=>Kr(e)?e:zc(e,.075,.3),easeInOutElastic(e){return Kr(e)?e:e<.5?.5*Dc(e*2,.1125,.45):.5+.5*zc(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Yi.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Yi.easeInBounce(e*2)*.5:Yi.easeOutBounce(e*2-1)*.5+.5};function ap(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Rc(e){return ap(e)?e:new dr(e)}function Ko(e){return ap(e)?e:new dr(e).saturate(.5).darken(.1).hexString()}const oy=["x","y","borderWidth","radius","tension"],ly=["color","borderColor","backgroundColor"];function ay(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:ly},numbers:{type:"number",properties:oy}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function uy(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fc=new Map;function cy(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Fc.get(n);return i||(i=new Intl.NumberFormat(e,t),Fc.set(n,i)),i}function su(e,t,n){return cy(t,n).format(e)}const up={values(e){return G(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let r,s=e;if(n.length>1){const u=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(u<1e-4||u>1e15)&&(r="scientific"),s=fy(e,n)}const o=We(Math.abs(s)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),a={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(a,this.options.ticks.format),su(e,i,a)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(We(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?up.numeric.call(this,e,t,n):""}};function fy(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var mo={formatters:up};function hy(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:mo.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Tn=Object.create(null),Zl=Object.create(null);function Ki(e,t){if(!t)return e;const n=t.split(".");for(let i=0,r=n.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Ko(r.backgroundColor),this.hoverBorderColor=(i,r)=>Ko(r.borderColor),this.hoverColor=(i,r)=>Ko(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return Qo(this,t,n)}get(t){return Ki(this,t)}describe(t,n){return Qo(Zl,t,n)}override(t,n){return Qo(Tn,t,n)}route(t,n,i,r){const s=Ki(this,t),o=Ki(this,i),l="_"+n;Object.defineProperties(s,{[l]:{value:s[n],writable:!0},[n]:{enumerable:!0,get(){const a=this[l],u=o[r];return N(a)?Object.assign({},u,a):j(a,u)},set(a){this[l]=a}}})}apply(t){t.forEach(n=>n(this))}}var nt=new dy({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[ay,uy,hy]);function py(e){return!e||V(e.size)||V(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Qs(e,t,n,i,r){let s=t[r];return s||(s=t[r]=e.measureText(r).width,n.push(r)),s>i&&(i=s),i}function gy(e,t,n,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),e.save(),e.font=t;let o=0;const l=n.length;let a,u,c,f,h;for(a=0;an.length){for(a=0;a0&&e.stroke()}}function Gn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&s.strokeColor!=="";let a,u;for(e.save(),e.font=r.string,my(e,s),a=0;a+e||0;function fp(e,t){const n={},i=N(t),r=i?Object.keys(t):t,s=N(e)?i?o=>j(e[o],e[t[o]]):o=>e[o]:()=>e;for(const o of r)n[o]=ky(s(o));return n}function hp(e){return fp(e,{top:"y",right:"x",bottom:"y",left:"x"})}function kn(e){return fp(e,["topLeft","topRight","bottomLeft","bottomRight"])}function bt(e){const t=hp(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function ut(e,t){e=e||{},t=t||nt.font;let n=j(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=j(e.style,t.style);i&&!(""+i).match(_y)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:j(e.family,t.family),lineHeight:wy(j(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:j(e.weight,t.weight),string:""};return r.string=py(r),r}function Qr(e,t,n,i){let r=!0,s,o,l;for(s=0,o=e.length;sn&&l===0?0:l+a;return{min:o(i,-Math.abs(s)),max:o(r,s)}}function zn(e,t){return Object.assign(Object.create(e),t)}function au(e,t=[""],n,i,r=()=>e[0]){const s=n||e;typeof i>"u"&&(i=mp("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>au([l,...e],t,s,i)};return new Proxy(o,{deleteProperty(l,a){return delete l[a],delete l._keys,delete e[0][a],!0},get(l,a){return pp(l,a,()=>Oy(a,t,e,l))},getOwnPropertyDescriptor(l,a){return Reflect.getOwnPropertyDescriptor(l._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(l,a){return jc(l).includes(a)},ownKeys(l){return jc(l)},set(l,a,u){const c=l._storage||(l._storage=r());return l[a]=c[a]=u,delete l._keys,!0}})}function hi(e,t,n,i){const r={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:dp(e,i),setContext:s=>hi(e,s,n,i),override:s=>hi(e.override(s),t,n,i)};return new Proxy(r,{deleteProperty(s,o){return delete s[o],delete e[o],!0},get(s,o,l){return pp(s,o,()=>Cy(s,o,l))},getOwnPropertyDescriptor(s,o){return s._descriptors.allKeys?Reflect.has(e,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,o)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(s,o){return Reflect.has(e,o)},ownKeys(){return Reflect.ownKeys(e)},set(s,o,l){return e[o]=l,delete s[o],!0}})}function dp(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=e;return{allKeys:r,scriptable:n,indexable:i,isScriptable:sn(n)?n:()=>n,isIndexable:sn(i)?i:()=>i}}const by=(e,t)=>e?e+eu(t):t,uu=(e,t)=>N(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function pp(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const i=n();return e[t]=i,i}function Cy(e,t,n){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=e;let l=i[t];return sn(l)&&o.isScriptable(t)&&(l=My(t,l,e,n)),G(l)&&l.length&&(l=Py(t,l,e,o.isIndexable)),uu(t,l)&&(l=hi(l,r,s&&s[t],o)),l}function My(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_stack:l}=n;if(l.has(e))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+e);l.add(e);let a=t(s,o||i);return l.delete(e),uu(e,a)&&(a=cu(r._scopes,r,e,a)),a}function Py(e,t,n,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:l}=n;if(typeof s.index<"u"&&i(e))return t[s.index%t.length];if(N(t[0])){const a=t,u=r._scopes.filter(c=>c!==a);t=[];for(const c of a){const f=cu(u,r,e,c);t.push(hi(f,s,o&&o[e],l))}}return t}function gp(e,t,n){return sn(e)?e(t,n):e}const Ey=(e,t)=>e===!0?t:typeof e=="string"?fi(t,e):void 0;function Ty(e,t,n,i,r){for(const s of t){const o=Ey(n,s);if(o){e.add(o);const l=gp(o._fallback,n,r);if(typeof l<"u"&&l!==n&&l!==i)return l}else if(o===!1&&typeof i<"u"&&n!==i)return null}return!1}function cu(e,t,n,i){const r=t._rootScopes,s=gp(t._fallback,n,i),o=[...e,...r],l=new Set;l.add(i);let a=Nc(l,o,n,s||n,i);return a===null||typeof s<"u"&&s!==n&&(a=Nc(l,o,s,a,i),a===null)?!1:au(Array.from(l),[""],r,s,()=>Ly(t,n,i))}function Nc(e,t,n,i,r){for(;n;)n=Ty(e,t,n,i,r);return n}function Ly(e,t,n){const i=e._getTarget();t in i||(i[t]={});const r=i[t];return G(r)&&N(n)?n:r||{}}function Oy(e,t,n,i){let r;for(const s of t)if(r=mp(by(s,e),n),typeof r<"u")return uu(e,r)?cu(n,i,e,r):r}function mp(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function jc(e){let t=e._keys;return t||(t=e._keys=Dy(e._scopes)),t}function Dy(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function yp(){return typeof window<"u"&&typeof document<"u"}function fu(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Xs(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const yo=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function zy(e,t){return yo(e).getPropertyValue(t)}const Ry=["top","right","bottom","left"];function Sn(e,t,n){const i={};n=n?"-"+n:"";for(let r=0;r<4;r++){const s=Ry[r];i[s]=parseFloat(e[t+"-"+s+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Fy=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function Iy(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:r,offsetY:s}=i;let o=!1,l,a;if(Fy(r,s,e.target))l=r,a=s;else{const u=t.getBoundingClientRect();l=i.clientX-u.left,a=i.clientY-u.top,o=!0}return{x:l,y:a,box:o}}function mn(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,r=yo(n),s=r.boxSizing==="border-box",o=Sn(r,"padding"),l=Sn(r,"border","width"),{x:a,y:u,box:c}=Iy(e,n),f=o.left+(c&&l.left),h=o.top+(c&&l.top);let{width:d,height:m}=t;return s&&(d-=o.width+l.width,m-=o.height+l.height),{x:Math.round((a-f)/d*n.width/i),y:Math.round((u-h)/m*n.height/i)}}function Ay(e,t,n){let i,r;if(t===void 0||n===void 0){const s=fu(e);if(!s)t=e.clientWidth,n=e.clientHeight;else{const o=s.getBoundingClientRect(),l=yo(s),a=Sn(l,"border","width"),u=Sn(l,"padding");t=o.width-u.width-a.width,n=o.height-u.height-a.height,i=Xs(l.maxWidth,s,"clientWidth"),r=Xs(l.maxHeight,s,"clientHeight")}}return{width:t,height:n,maxWidth:i||Ys,maxHeight:r||Ys}}const Xr=e=>Math.round(e*10)/10;function Ny(e,t,n,i){const r=yo(e),s=Sn(r,"margin"),o=Xs(r.maxWidth,e,"clientWidth")||Ys,l=Xs(r.maxHeight,e,"clientHeight")||Ys,a=Ay(e,t,n);let{width:u,height:c}=a;if(r.boxSizing==="content-box"){const h=Sn(r,"border","width"),d=Sn(r,"padding");u-=d.width+h.width,c-=d.height+h.height}return u=Math.max(0,u-s.width),c=Math.max(0,i?u/i:c-s.height),u=Xr(Math.min(u,o,a.maxWidth)),c=Xr(Math.min(c,l,a.maxHeight)),u&&!c&&(c=Xr(u/2)),(t!==void 0||n!==void 0)&&i&&a.height&&c>a.height&&(c=a.height,u=Xr(Math.floor(c*i))),{width:u,height:c}}function Bc(e,t,n){const i=t||1,r=Math.floor(e.height*i),s=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||o.height!==r||o.width!==s?(e.currentDevicePixelRatio=i,o.height=r,o.width=s,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const jy=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return e}();function Hc(e,t){const n=zy(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}const By=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},Hy=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ii(e,t,n){return e?By(t,n):Hy()}function vp(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function xp(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}/*! ->>>>>>>> dev:chrome-extension/dist/assets/panel-a9d3a4ab.js - * Chart.js v4.3.0 - * https://www.chartjs.org - * (c) 2023 Chart.js Contributors - * Released under the MIT License -<<<<<<<< HEAD:chrome-extension/dist/assets/panel-f8e9e358.js - */class jy{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,r){const s=n.listeners[r],o=n.duration;s.forEach(l=>l({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=rp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new jy;const Hc="transparent",By={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=zc(e||Hc),r=i.valid&&zc(t||Hc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Hy{constructor(t,n,i,r){const s=n[i];r=Kr([t.to,r,s,t.from]);const o=Kr([t.from,s,r]);this._active=!0,this._fn=t.fn||By[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Kr([t.to,n,r,t.from]),this._from=Kr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!N(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=Wy(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Vy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new Hy(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Vy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Yc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Ky(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Gy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Zy(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Xo=e=>e==="reset"||e==="none",Kc=(e,t)=>t?e:Object.assign({},e),Jy=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:xp(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=$c(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,y)=>f==="x"?h:f==="r"?y:d,s=n.xAxisID=j(i.xAxisID,Qo(t,"x")),o=n.yAxisID=j(i.yAxisID,Qo(t,"y")),l=n.rAxisID=j(i.rAxisID,Qo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Lc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(N(n))this._data=Yy(n);else if(i!==n){if(i){Lc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&ty(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=$c(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Yc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):N(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]m||f=0;--h)if(!y()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),m=u.resolveNamedOptions(h,d,y,f);return m.$shared&&(m.$shared=a,s[o]=Object.freeze(Kc(m,a))),m}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new vp(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Xo(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Xo(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Xo(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function tv(e){const t=e.iScale,n=qy(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(pr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function _p(e,t,n,i){return G(e)?iv(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Qc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function sv(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(V(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var pv={evaluateInteractionItems:br,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?Zo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function Jc(e,t){return e.filter(n=>wp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function gv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=Jc(t,"x"),a=Jc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function qc(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function kp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function xv(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!N(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&kp(o,s.getPadding());const l=Math.max(0,t.outerWidth-qc(o,e,"left","right")),a=Math.max(0,t.outerHeight-qc(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function _v(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function wv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof m.beforeLayout=="function"&&m.beforeLayout()});const c=a.reduce((m,x)=>x.box.options&&x.box.options.display===!1?m:m+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);kp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),y=yv(a.concat(u),f);Ri(l.fullSize,d,f,y),Ri(a,d,f,y),Ri(u,d,f,y)&&Ri(a,d,f,y),_v(d),tf(l.leftAndTop,d,f,y),d.x+=d.w,d.y+=d.h,tf(l.rightAndBottom,d,f,y),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},B(l.chartArea,m=>{const x=m.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class Sp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class kv extends Sp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ms="$chartjs",Sv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ef=e=>e===null||e==="";function bv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ms]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",ef(r)){const s=Bc(e,"width");s!==void 0&&(e.width=s)}if(ef(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Bc(e,"height");s!==void 0&&(e.height=s)}return e}const bp=Ay?{passive:!0}:!1;function Cv(e,t,n){e.addEventListener(t,n,bp)}function Mv(e,t,n){e.canvas.removeEventListener(t,n,bp)}function Pv(e,t){const n=Sv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Xs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Ev(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.addedNodes,i),o=o&&!Xs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Tv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Xs(l.removedNodes,i),o=o&&!Xs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const mr=new Map;let nf=0;function Cp(){const e=window.devicePixelRatio;e!==nf&&(nf=e,mr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Lv(e,t){mr.size||window.addEventListener("resize",Cp),mr.set(e,t)}function Ov(e){mr.delete(e),mr.size||window.removeEventListener("resize",Cp)}function Dv(e,t,n){const i=e.canvas,r=i&&cu(i);if(!r)return;const s=sp((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),Lv(e,s),o}function qo(e,t,n){n&&n.disconnect(),t==="resize"&&Ov(e)}function zv(e,t,n){const i=e.canvas,r=sp(s=>{e.ctx!==null&&n(Pv(s,e))},e);return Cv(i,t,r),r}class Rv extends Sp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(bv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ms])return!1;const i=n[ms].initial;["height","width"].forEach(s=>{const o=i[s];V(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ms],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Ev,detach:Tv,resize:Dv}[n]||zv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:qo,detach:qo,resize:qo}[n]||Mv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Fy(t,n,i,r)}isAttached(t){const n=cu(t);return!!(n&&n.isConnected)}}function Fv(e){return!gp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?kv:Rv}class on{constructor(){z(this,"x");z(this,"y");z(this,"active",!1);z(this,"options");z(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ys(this.x)&&Ys(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}z(on,"defaults",{}),z(on,"defaultRoutes");function Av(e,t){const n=e.options.ticks,i=Iv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?jv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Bv(t,u,s,o/r),u;const c=Nv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Gr(t,u,c,V(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function jv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,rf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,sf=(e,t)=>Math.min(t||e,e);function of(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function $v(e,t){B(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){$(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_y(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-lf(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=eu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){$(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){$(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=lf(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,y=$e(this.labelRotation),m=Math.cos(y),x=Math.sin(y);if(l){const p=i.mirror?0:x*f.width+m*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:m*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,m)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){$(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Z0(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],y=l.setContext(this.getContext()),m=y.display?y.width:0,x=m/2,p=function(it){return fn(i,it,m)};let g,v,_,w,k,S,b,T,E,L,R,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,R=t.right;else if(o==="right")g=p(this.left),E=t.left,R=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,R=t.right}const It=j(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/It));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function Zv(e){return"id"in e&&"defaults"in e}class Jv{constructor(){this.controllers=new Zr(Qi,"datasets",!0),this.elements=new Zr(on,"elements"),this.plugins=new Zr(Object,"plugins"),this.scales=new Zr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):B(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=tu(t);$(i["before"+r],[],i),n[t](i),$(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function t1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&af(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function uf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function l1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return uf(e,"x",n[0])||uf(e,"y",n[0])}return{}}function a1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=Zl(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!N(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=Jl(o,l,l1(o,e),nt.scales[l.type]),u=s1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||Zl(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=r1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Mp(e){const t=e.options||(e.options={});t.plugins=j(t.plugins,{}),t.scales=a1(e,t)}function Pp(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function u1(e){return e=e||{},e.data=Pp(e.data),Mp(e),e}const cf=new Map,Ep=new Set;function Jr(e,t){let n=cf.get(e);return n||(n=t(),cf.set(e,n),Ep.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class c1{constructor(t){this._config=u1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Pp(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Mp(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Gl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Ep.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Gl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=ff(this._resolverCache,t,r);let a=o;if(h1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=ff(this._resolverCache,t,i);return N(n)?hi(s,n,void 0,r):s}}function ff(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:lu(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const f1=e=>N(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function h1(e,t){const{isScriptable:n,isIndexable:i}=fp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||f1(l))||o&&G(l))return!0}return!1}var d1="4.3.0";const p1=["top","bottom","left","right","chartArea"];function hf(e,t){return e==="top"||e==="bottom"||p1.indexOf(e)===-1&&t==="x"}function df(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function pf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),$(n&&n.onComplete,[e],t)}function g1(e){const t=e.chart,n=t.options.animation;$(n&&n.onProgress,[e],t)}function Tp(e){return gp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const ys={},gf=e=>{const t=Tp(e);return Object.values(ys).filter(n=>n.canvas===t).pop()};function m1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function y1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function v1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let yo=(Fe=class{static register(...t){de.add(...t),mf()}static unregister(...t){de.remove(...t),mf()}constructor(t,n){const i=this.config=new c1(n),r=Tp(t),s=gf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Fv(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=N0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new qv,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ey(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],ys[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",pf),we.listen(this,"progress",g1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return V(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():jc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Fc(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,jc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),$(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};B(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=Jl(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),B(s,o=>{const l=o.options,a=l.id,u=Jl(a,l),c=j(l.type,o.dtype);(l.position===void 0||hf(l.position,u)!==hf(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),B(r,(o,l)=>{o||delete i[l]}),B(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(df("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){B(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Mc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;m1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],B(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=v1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&su(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&ou(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=pv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);pr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};B(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){B(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},B(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!Ws(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=$0(t),u=y1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,$(s.onHover,[t,l,this],this),a&&$(s.onClick,[t,l,this],this));const c=!Ws(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},z(Fe,"defaults",nt),z(Fe,"instances",ys),z(Fe,"overrides",Tn),z(Fe,"registry",de),z(Fe,"version",d1),z(Fe,"getChart",gf),Fe);function mf(){return B(yo.instances,e=>e._plugins.invalidate())}function Lp(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function x1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=cp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function _1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||N(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function w1(e){const t=Lp(e),n=t.right-t.left,i=t.bottom-t.top,r=x1(e,n/2,i/2),s=_1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function tl(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Lp(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function k1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function S1(e,t){e.rect(t.x,t.y,t.w,t.h)}function el(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class vs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=w1(this),l=k1(o.radius)?gr:S1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,el(o,n,s)),t.clip(),l(t,el(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,el(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return tl(this,t,n,i)}inXRange(t,n){return tl(this,t,null,n)}inYRange(t,n){return tl(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}z(vs,"id","bar"),z(vs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),z(vs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const yf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},b1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class vf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=$(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ut(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=yf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((y,m)=>{const x=i+n/2+s.measureText(y.text).width;(m===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(m>0?0:1)]=0,d+=c,h++),a[m]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,y=0,m=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=C1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),y+=h+l,m++,h=d=0),a[p]={left:y,top:d,col:m,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;su(t,this),this._draw(),ou(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ut(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:y,boxHeight:m,itemHeight:x}=yf(o,f),p=function(k,S,b){if(isNaN(y)||y<=0||isNaN(m)||m<0)return;r.save();const T=j(b.lineWidth,1);if(r.fillStyle=j(b.fillStyle,l),r.lineCap=j(b.lineCap,"butt"),r.lineDashOffset=j(b.lineDashOffset,0),r.lineJoin=j(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=j(b.strokeStyle,l),r.setLineDash(j(b.lineDash,[])),o.usePointStyle){const E={radius:m*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,y/2),R=S+h;ap(r,E,L,R,o.pointStyleWidth&&y)}else{const E=S+Math.max((f-m)/2,0),L=a.leftForLtr(k,y),R=kn(b.borderRadius);r.beginPath(),Object.values(R).some(st=>st!==0)?gr(r,{x:L,y:E,w:y,h:m,radius:R}):r.rect(L,E,y,m),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},mp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=y+h+b;let L=d.x,R=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(R=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&R+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,R=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,R,k),L=ny(T,L+y+h,v?L+E:this.right,t.rtl),g(a.x(L),R,k),v)d.x+=E+c;else if(typeof k.text!="string"){const It=u.lineHeight;d.y+=Op(k,It)}else d.y+=w}),yp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ut(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const y=this.columnSizes.reduce((m,x)=>Math.max(m,x.height),0);c=u+wt(t.align,this.top,this.bottom-y-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(iu(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ut(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function P1(e,t,n){let i=e;return typeof t.text!="string"&&(i=Op(t,n)),i}function Op(e,t){const n=e.text?e.text.length+.5:0;return t*n}function E1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var T1={id:"legend",_element:vf,start(e,t,n){const i=e.legend=new vf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class Dp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ut(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ut(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:iu(n.align),textBaseline:"middle",translation:[o,l]})}}function L1(e,t){const n=new Dp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var O1={id:"title",_element:Dp,start(e,t,n){L1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;t-1?e.split(` -`):e}function D1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function xf(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ut(t.bodyFont),u=ut(t.titleFont),c=ut(t.footerFont),f=s.length,h=r.length,d=i.length,y=bt(t.padding);let m=y.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(m+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;m+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(m+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,B(e.title,v),n.font=a.string,B(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,B(i,_=>{B(_.before,v),B(_.lines,v),B(_.after,v)}),g=0,n.font=c.string,B(e.footer,v),n.restore(),x+=y.width,{width:x,height:m}}function z1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function R1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function F1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),R1(u,e,t,n)&&(u="center"),u}function _f(e,t,n){const i=n.yAlign||t.yAlign||z1(e,n);return{xAlign:n.xAlign||t.xAlign||F1(e,t,n,i),yAlign:i}}function A1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function I1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function wf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let y=A1(t,l);const m=I1(t,a,u);return a==="center"?l==="left"?y+=u:l==="right"&&(y-=u):l==="left"?y-=Math.max(c,h)+r:l==="right"&&(y+=Math.max(f,d)+r),{x:se(y,0,i.width-t.width),y:se(m,0,i.height-t.height)}}function qr(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function kf(e){return fe([],ke(e))}function N1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function Sf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const zp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?zp[t].call(n,i):r}class ql extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new vp(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=N1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return kf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return B(t,s=>{const o={before:[],lines:[],after:[]},l=Sf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return kf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),B(l,c=>{const f=Sf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=xf(this,i),u=Object.assign({},l,a),c=_f(this.chart,i,u),f=wf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:y,height:m}=n;let x,p,g,v,_,w;return s==="center"?(_=d+m/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+y,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+y-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+m,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=qr(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ut(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,gr(t,{x:m,y,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),gr(t,{x,y:y+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(m,y,u,a),t.strokeRect(m,y,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,y+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ut(i.bodyFont);let h=f.lineHeight,d=0;const y=ii(i.rtl,this.x,this.width),m=function(b){n.fillText(b,y.x(t.x+d),t.y+h/2),t.y+=h+s},x=y.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=qr(this,x,i),n.fillStyle=i.bodyColor,B(this.beforeBody,m),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=xf(this,t),a=Object.assign({},o,this._size),u=_f(n,t,a),c=wf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),mp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),yp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!Ws(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!Ws(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}z(ql,"positioners",Fi);var j1={id:"tooltip",_element:ql,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ql({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:zp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const B1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function H1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return B1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const V1=(e,t)=>e===null?null:se(Math.round(e),0,t);function bf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}z(ta,"id","category"),z(ta,"defaults",{ticks:{callback:bf}});function W1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,y=c-1,{min:m,max:x}=t,p=!V(o),g=!V(l),v=!V(u),_=(x-m)/(f+1);let w=Ec((x-m)/y/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:m},{value:x}];T=Math.ceil(x/w)-Math.floor(m/w),T>y&&(w=Ec(T*w/y/d)*d),V(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(m/w)*w,b=Math.ceil(x/w)*w):(S=m,b=x),p&&g&&s&&K0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,ps(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Tc(w),Tc(S));k=Math.pow(10,V(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:R})}return g&&h&&b!==l?n.length&&ps(n[n.length-1].value,l,Cf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Cf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Gs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return V(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=W1(r,s);return t.bounds==="ticks"&&ep(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return ru(t,this.chart.options.locale,this.options.ticks.format)}}class ea extends Gs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?t:0,this.max=ft(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}z(ea,"id","linear"),z(ea,"defaults",{ticks:{callback:go.formatters.numeric}});const yr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,yr(e)+t);function Mf(e){return e/Math.pow(10,yr(e))===1}function Pf(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function $1(e,t){const n=t-e;let i=yr(n);for(;Pf(e,t,i)>10;)i++;for(;Pf(e,t,i)<10;)i--;return Math.min(i,yr(e))}function U1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=yr(t);let s=$1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Mf(d),significand:f}),i}class Ef extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Gs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ft(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ft(t)?Math.max(0,t):null,this.max=ft(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ft(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=U1(n,this);return t.bounds==="ticks"&&ep(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":ru(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}z(Ef,"id","logarithmic"),z(Ef,"defaults",{ticks:{callback:go.formatters.logarithmic,major:{enabled:!0}}});function na(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return j(t.font&&t.font.size,nt.font.size)+n.height}return 0}function Y1(e,t,n){return n=G(n)?n:[n],{w:hy(e,t.string,n),h:n.length*t.lineHeight}}function Tf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function K1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function X1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(eu(pe(a.angle+zt))),c=tx(a.y,l.h,u),f=J1(u),h=q1(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function G1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function Z1(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:na(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function ex(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!V(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(y=>y!==0)?(e.beginPath(),gr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function nx(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));ex(n,o,s);const l=ut(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Rp(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=$(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?K1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(V(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(V(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),y=s.setContext(h);ix(this,d,a,o,y)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ut(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}z(ts,"id","radialLinear"),z(ts,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:go.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),z(ts,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),z(ts,"descriptors",{angleLines:{_fallback:"grid"}});const vo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(vo);function sx(e,t){return e-t}function Lf(e,t){if(V(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ft(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ys(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Of(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(vo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function lx(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function ax(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function zf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Of(s.minUnit,n,i,this._getLabelCapacity(n)),l=j(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ys(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const y=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hm-x).map(m=>+m)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return $(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Xl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Xl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Rf extends Zs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=es(n,this.min),this._tableRange=es(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Fp;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function cx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Fp;const n={labels:[],datasets:[]};return Ap(n,e.labels),Ip(n,e.datasets,t),n}function fx(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=pt.useRef(null),y=pt.useRef(),m=()=>{d.current&&(y.current=new yo(d.current,{type:o,data:cx(l,s),options:a&&{...a},plugins:u}),Ff(t,y.current))},x=()=>{Ff(t,null),y.current&&(y.current.destroy(),y.current=null)};return pt.useEffect(()=>{!r&&y.current&&a&&ux(y.current,a)},[r,a]),pt.useEffect(()=>{!r&&y.current&&Ap(y.current.config.data,l.labels)},[r,l.labels]),pt.useEffect(()=>{!r&&y.current&&l.datasets&&Ip(y.current.config.data,l.datasets,s)},[r,l.datasets]),pt.useEffect(()=>{y.current&&(r?(x(),setTimeout(m)):y.current.update(f))},[r,a,l.labels,l.datasets,f]),pt.useEffect(()=>{y.current&&(x(),setTimeout(m))},[o]),pt.useEffect(()=>(m(),()=>x()),[]),Uf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const hx=pt.forwardRef(fx);function dx(e,t){return yo.register(t),pt.forwardRef((n,i)=>Uf.createElement(hx,Object.assign({},n,{ref:i,type:e})))}const px=dx("bar",gs);yo.register(ta,ea,vs,O1,j1,T1);const gx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}},maintainAspectRatio:!1},mx=({data:e})=>{const t=g0(e),n=p0(e),i={labels:t,datasets:[{label:"All Requests",data:n,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return I.jsx(px,{options:gx,data:i})};function yx(e,t){if(!("method"in t)||t.method==="")return;let{name:n,method:i,traceId:r,startTime:s,endTime:o,applicationType:l,originatingService:a,status:u,protocol:c}=t;if(!n.startsWith("/?key=")&&n!=="/"&&!(n.includes("GET")||n.includes("PATCH")||n.includes("PUT")||n.includes("DELETE")||n.includes("POST"))){if(n.startsWith("/_next/static/")){const f=n.lastIndexOf("/");n=n.slice(f+1)}e(f=>{const h=new Map([...f.entries()]),d=`${i}, ${n}, ${r}`;if(h.has(d)){const m=h.get(d);let x=!1;sm.trueEndTime&&(m.trueEndTime=o,x=!0),m.status===void 0&&"status"in t&&(m.status=t.status),m.protocol===void 0&&"protocol"in t&&(m.protocol=t.protocol),x&&(m.duration=m.trueEndTime-m.trueStartTime)}else{const m={traceId:r,applicationType:l,originatingService:a,method:i,status:u,protocol:c,relativeStartTime:0,trueStartTime:s,trueEndTime:o,duration:o-s,name:n};h.set(d,m)}return vx(h)})}}function vx(e){const t=Array.from(e.entries());t.sort((r,s)=>r[1].trueStartTime-s[1].trueStartTime);const n=new Map(t),i=n.entries().next().value;return n.forEach(r=>{r.relativeStartTime=r.trueStartTime-i[1].trueStartTime}),n}const xx=({setRelevant:e})=>{const t=()=>{e(new Map)};return I.jsx("button",{className:"bg-violet-800 border-[1px] border-slate-400 mb-5 p-2 ml-auto",onClick:t,children:"Clear History"})},_x=()=>I.jsxs("div",{className:"h-[67vh] p-56 flex flex-col justify-center text-center text-lg gap-5",children:[I.jsx("p",{children:" Recording network activity ... "}),I.jsxs("p",{children:[" Perform a request or hit",I.jsx("strong",{children:" ⌘ R "}),"to record the reload"]})]});function wx(){const[e,t]=pt.useState(new Map);return pt.useEffect(()=>{chrome.runtime.onMessage.addListener(n=>{})},[]),pt.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",i=>{try{yx(t,JSON.parse(i.data))}catch(r){console.log("failed",r)}})},[]),pt.useEffect(()=>{console.log(e)},[e]),I.jsxs("div",{className:"flex flex-col",children:[I.jsx("div",{className:e.size>0?"h-[33vh]":"h-[33vh] border-b-[1px] border-slate-400",children:I.jsx(mx,{data:e})}),e.size>0?I.jsxs("div",{children:[I.jsx(xx,{setRelevant:t}),I.jsx(d0,{data:e})]}):I.jsx(_x,{})]})}const kx=document.getElementById("root"),Sx=Gd(kx);console.log("panel/index.jsx reached");Sx.render(I.jsx(wx,{})); -======== - */class Vy{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,r){const s=n.listeners[r],o=n.duration;s.forEach(l=>l({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(i-n.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=op.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let o=s.length-1,l=!1,a;for(;o>=0;--o)a=s[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(t),l=!0):(s[o]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),n+=s.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var we=new Vy;const Vc="transparent",Wy={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Rc(e||Vc),r=i.valid&&Rc(t||Vc);return r&&r.valid?r.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class $y{constructor(t,n,i,r){const s=n[i];r=Qr([t.to,r,s,t.from]);const o=Qr([t.from,s,r]);this._active=!0,this._fn=t.fn||Wy[t.type||typeof o],this._easing=Yi[t.easing]||Yi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Qr([t.to,n,r,t.from]),this._from=Qr([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,l=this._to;let a;if(this._active=s!==l&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(s,l,a)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let r=0;r{const s=t[r];if(!N(s))return;const o={};for(const l of n)o[l]=s[l];(G(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,n){const i=n.options,r=Yy(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&Uy(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,n){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),o=Object.keys(n),l=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){r.push(...this._animateOptions(t,n));continue}const c=n[u];let f=s[u];const h=i.get(u);if(f)if(h&&f.active()){f.update(h,c,l);continue}else f.cancel();if(!h||!h.duration){t[u]=c;continue}s[u]=f=new $y(h,t,u,c),r.push(f)}return r}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return we.add(this._chart,i),!0}}function Uy(e,t){const n=[],i=Object.keys(t);for(let r=0;r0||!n&&s<0)return r.index}return null}function Kc(e,t){const{chart:n,_cachedMeta:i}=e,r=n._stacks||(n._stacks={}),{iScale:s,vScale:o,index:l}=i,a=s.axis,u=o.axis,c=Gy(s,o,i),f=t.length;let h;for(let d=0;dn[i].axis===t).shift()}function Jy(e,t){return zn(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function tv(e,t,n){return zn(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function bi(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][n]===void 0)return;delete s[i][n],s[i]._visualValues!==void 0&&s[i]._visualValues[n]!==void 0&&delete s[i]._visualValues[n]}}}const Go=e=>e==="reset"||e==="none",Qc=(e,t)=>t?e:Object.assign({},e),ev=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:wp(n,!0),values:null};class Qi{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Uc(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&bi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),r=(f,h,d,m)=>f==="x"?h:f==="r"?m:d,s=n.xAxisID=j(i.xAxisID,Xo(t,"x")),o=n.yAxisID=j(i.yAxisID,Xo(t,"y")),l=n.rAxisID=j(i.rAxisID,Xo(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,s,o,l),c=n.vAxisID=r(a,o,s,l);n.xScale=this.getScaleForId(s),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(l),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Oc(this._data,this),t._stacked&&bi(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(N(n))this._data=Xy(n);else if(i!==n){if(i){Oc(i,this);const r=this._cachedMeta;bi(r),r._parsed=[]}n&&Object.isExtensible(n)&&iy(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=n._stacked;n._stacked=Uc(n.vScale,n),n.stack!==i.stack&&(r=!0,bi(n),n.stack=i.stack),this._resyncElements(t),(r||s!==n._stacked)&&Kc(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:o}=i,l=s.axis;let a=t===0&&n===r.length?!0:i._sorted,u=t>0&&i._parsed[t-1],c,f,h;if(this._parsing===!1)i._parsed=r,i._sorted=!0,h=r;else{G(r[t])?h=this.parseArrayData(i,r,t,n):N(r[t])?h=this.parseObjectData(i,r,t,n):h=this.parsePrimitiveData(i,r,t,n);const d=()=>f[l]===null||u&&f[l]y||f=0;--h)if(!m()){this.updateRangeFromParsed(u,t,d,a);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let r,s,o;for(r=0,s=n.length;r=0&&tthis.getContext(i,r,n),y=u.resolveNamedOptions(h,d,m,f);return y.$shared&&(y.$shared=a,s[o]=Object.freeze(Qc(y,a))),y}_resolveAnimations(t,n,i){const r=this.chart,s=this._cachedDataOpts,o=`animation-${n}`,l=s[o];if(l)return l;let a;if(r.options.animation!==!1){const c=this.chart.config,f=c.datasetAnimationScopeKeys(this._type,n),h=c.getOptionScopes(this.getDataset(),f);a=c.createResolver(h,this.getContext(t,i,n))}const u=new _p(r,a&&a.animations);return a&&a._cacheable&&(s[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||Go(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),r=this._sharedOptions,s=this.getSharedOptions(i),o=this.includeOptions(n,s)||s!==r;return this.updateSharedOptions(s,n,i),{sharedOptions:s,includeOptions:o}}updateElement(t,n,i,r){Go(r)?Object.assign(t,i):this._resolveAnimations(n,r).update(t,i)}updateSharedOptions(t,n,i){t&&!Go(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,r){t.active=r;const s=this.getStyle(n,r);this._resolveAnimations(n,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[l,a,u]of this._syncList)this[l](a,u);this._syncList=[];const r=i.length,s=n.length,o=Math.min(s,r);o&&this.parse(0,o),s>r?this._insertElements(r,s-r,t):s{for(u.length+=n,l=u.length-1;l>=o;l--)u[l]=u[l-n]};for(a(s),l=t;lr-s))}return e._cache.$bar}function iv(e){const t=e.iScale,n=nv(t,e.type);let i=t._length,r,s,o,l;const a=()=>{o===32767||o===-32768||(gr(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,s=n.length;r0?r[e-1]:null,l=eMath.abs(l)&&(a=l,u=o),t[n.axis]=u,t._custom={barStart:a,barEnd:u,start:r,end:s,min:o,max:l}}function kp(e,t,n,i){return G(e)?ov(e,t,n,i):t[n.axis]=n.parse(e,i),t}function Xc(e,t,n,i){const r=e.iScale,s=e.vScale,o=r.getLabels(),l=r===s,a=[];let u,c,f,h;for(u=n,c=n+i;u=n?1:-1)}function av(e){let t,n,i,r,s;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.basea.controller.options.grouped),s=i.options.stacked,o=[],l=a=>{const u=a.controller.getParsed(n),c=u&&u[a.vScale.axis];if(V(c)||isNaN(c))return!0};for(const a of r)if(!(n!==void 0&&l(a))&&((s===!1||o.indexOf(a.stack)===-1||s===void 0&&a.stack===void 0)&&o.push(a.stack),a.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const r=this._getStacks(t,i),s=n!==void 0?r.indexOf(n):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,r=[];let s,o;for(s=0,o=n.data.length;s{a[o](t[n],r)&&(s.push({element:a,datasetIndex:u,index:c}),l=l||a.inRange(t.x,t.y,r))}),i&&!l?[]:s}var yv={evaluateInteractionItems:Cr,modes:{index(e,t,n,i){const r=mn(t,e),s=n.axis||"x",o=n.includeInvisible||!1,l=n.intersect?qo(e,r,s,i,o):Jo(e,r,s,!1,i,o),a=[];return l.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const c=l[0].index,f=u.data[c];f&&!f.skip&&a.push({element:f,datasetIndex:u.index,index:c})}),a):[]},dataset(e,t,n,i){const r=mn(t,e),s=n.axis||"xy",o=n.includeInvisible||!1;let l=n.intersect?qo(e,r,s,i,o):Jo(e,r,s,!1,i,o);if(l.length>0){const a=l[0].datasetIndex,u=e.getDatasetMeta(a).data;l=[];for(let c=0;cn.pos===t)}function Jc(e,t){return e.filter(n=>Sp.indexOf(n.pos)===-1&&n.box.axis===t)}function Mi(e,t){return e.sort((n,i)=>{const r=t?i:n,s=t?n:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function vv(e){const t=[];let n,i,r,s,o,l;for(n=0,i=(e||[]).length;nu.box.fullSize),!0),i=Mi(Ci(t,"left"),!0),r=Mi(Ci(t,"right")),s=Mi(Ci(t,"top"),!0),o=Mi(Ci(t,"bottom")),l=Jc(t,"x"),a=Jc(t,"y");return{fullSize:n,leftAndTop:i.concat(s),rightAndBottom:r.concat(a).concat(o).concat(l),chartArea:Ci(t,"chartArea"),vertical:i.concat(r).concat(a),horizontal:s.concat(o).concat(l)}}function tf(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function bp(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function kv(e,t,n,i){const{pos:r,box:s}=n,o=e.maxPadding;if(!N(r)){n.size&&(e[r]-=n.size);const f=i[n.stack]||{size:0,count:1};f.size=Math.max(f.size,n.horizontal?s.height:s.width),n.size=f.size/f.count,e[r]+=n.size}s.getPadding&&bp(o,s.getPadding());const l=Math.max(0,t.outerWidth-tf(o,e,"left","right")),a=Math.max(0,t.outerHeight-tf(o,e,"top","bottom")),u=l!==e.w,c=a!==e.h;return e.w=l,e.h=a,n.horizontal?{same:u,other:c}:{same:c,other:u}}function Sv(e){const t=e.maxPadding;function n(i){const r=Math.max(t[i]-e[i],0);return e[i]+=r,r}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function bv(e,t){const n=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(t[o],n[o])}),s}return i(e?["left","right"]:["top","bottom"])}function Ri(e,t,n,i){const r=[];let s,o,l,a,u,c;for(s=0,o=e.length,u=0;s{typeof y.beforeLayout=="function"&&y.beforeLayout()});const c=a.reduce((y,x)=>x.box.options&&x.box.options.display===!1?y:y+1,0)||1,f=Object.freeze({outerWidth:t,outerHeight:n,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/c,hBoxMaxHeight:o/2}),h=Object.assign({},r);bp(h,bt(i));const d=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),m=_v(a.concat(u),f);Ri(l.fullSize,d,f,m),Ri(a,d,f,m),Ri(u,d,f,m)&&Ri(a,d,f,m),Sv(d),ef(l.leftAndTop,d,f,m),d.x+=d.w,d.y+=d.h,ef(l.rightAndBottom,d,f,m),e.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},B(l.chartArea,y=>{const x=y.box;Object.assign(x,e.chartArea),x.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})})}};class Cp{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,r){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):i)}}isAttached(t){return!0}updateConfig(t){}}class Cv extends Cp{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ys="$chartjs",Mv={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},nf=e=>e===null||e==="";function Pv(e,t){const n=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[ys]={initial:{height:i,width:r,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",nf(r)){const s=Hc(e,"width");s!==void 0&&(e.width=s)}if(nf(i))if(e.style.height==="")e.height=e.width/(t||2);else{const s=Hc(e,"height");s!==void 0&&(e.height=s)}return e}const Mp=jy?{passive:!0}:!1;function Ev(e,t,n){e.addEventListener(t,n,Mp)}function Tv(e,t,n){e.canvas.removeEventListener(t,n,Mp)}function Lv(e,t){const n=Mv[e.type]||e.type,{x:i,y:r}=mn(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Gs(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Ov(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Gs(l.addedNodes,i),o=o&&!Gs(l.removedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}function Dv(e,t,n){const i=e.canvas,r=new MutationObserver(s=>{let o=!1;for(const l of s)o=o||Gs(l.removedNodes,i),o=o&&!Gs(l.addedNodes,i);o&&n()});return r.observe(document,{childList:!0,subtree:!0}),r}const yr=new Map;let rf=0;function Pp(){const e=window.devicePixelRatio;e!==rf&&(rf=e,yr.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function zv(e,t){yr.size||window.addEventListener("resize",Pp),yr.set(e,t)}function Rv(e){yr.delete(e),yr.size||window.removeEventListener("resize",Pp)}function Fv(e,t,n){const i=e.canvas,r=i&&fu(i);if(!r)return;const s=lp((l,a)=>{const u=r.clientWidth;n(l,a),u{const a=l[0],u=a.contentRect.width,c=a.contentRect.height;u===0&&c===0||s(u,c)});return o.observe(r),zv(e,s),o}function tl(e,t,n){n&&n.disconnect(),t==="resize"&&Rv(e)}function Iv(e,t,n){const i=e.canvas,r=lp(s=>{e.ctx!==null&&n(Lv(s,e))},e);return Ev(i,t,r),r}class Av extends Cp{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Pv(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[ys])return!1;const i=n[ys].initial;["height","width"].forEach(s=>{const o=i[s];V(o)?n.removeAttribute(s):n.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{n.style[s]=r[s]}),n.width=n.width,delete n[ys],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),o={attach:Ov,detach:Dv,resize:Fv}[n]||Iv;r[n]=o(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),r=i[n];if(!r)return;({attach:tl,detach:tl,resize:tl}[n]||Tv)(t,n,r),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,r){return Ny(t,n,i,r)}isAttached(t){const n=fu(t);return!!(n&&n.isConnected)}}function Nv(e){return!yp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?Cv:Av}class on{constructor(){R(this,"x");R(this,"y");R(this,"active",!1);R(this,"options");R(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Ks(this.x)&&Ks(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}R(on,"defaults",{}),R(on,"defaultRoutes");function jv(e,t){const n=e.options.ticks,i=Bv(e),r=Math.min(n.maxTicksLimit||i,i),s=n.major.enabled?Vv(t):[],o=s.length,l=s[0],a=s[o-1],u=[];if(o>r)return Wv(t,u,s,o/r),u;const c=Hv(s,t,r);if(o>0){let f,h;const d=o>1?Math.round((a-l)/(o-1)):null;for(Zr(t,u,c,V(d)?0:l-d,l),f=0,h=o-1;fr)return a}return Math.max(r,1)}function Vv(e){const t=[];let n,i;for(n=0,i=e.length;ne==="left"?"right":e==="right"?"left":e,sf=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,of=(e,t)=>Math.min(t||e,e);function lf(e,t){const n=[],i=e.length/t,r=e.length;let s=0;for(;so+l)))return a}function Kv(e,t){B(e,n=>{const i=n.gc,r=i.length/2;let s;if(r>t){for(s=0;si?i:n,i=r&&n>i?n:i,{min:Bt(n,Bt(i,n)),max:Bt(i,Bt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){$(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Sy(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=l=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const c=this._getLabelSizes(),f=c.widest.width,h=c.highest.height,d=se(this.chart.width-f,0,this.maxWidth);l=t.offset?this.maxWidth/i:d/(i-1),f+6>l&&(l=d/(i-(t.offset?.5:1)),a=this.maxHeight-Pi(t.grid)-n.padding-af(t.title,this.chart.options.font),u=Math.sqrt(f*f+h*h),o=nu(Math.min(Math.asin(se((c.highest.height+6)/l,-1,1)),Math.asin(se(a/u,-1,1))-Math.asin(se(h/u,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){$(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){$(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const a=af(r,n.options.font);if(l?(t.width=this.maxWidth,t.height=Pi(s)+a):(t.height=this.maxHeight,t.width=Pi(s)+a),i.display&&this.ticks.length){const{first:u,last:c,widest:f,highest:h}=this._getLabelSizes(),d=i.padding*2,m=$e(this.labelRotation),y=Math.cos(m),x=Math.sin(m);if(l){const p=i.mirror?0:x*f.width+y*h.height;t.height=Math.min(this.maxHeight,t.height+p+d)}else{const p=i.mirror?0:y*f.width+x*h.height;t.width=Math.min(this.maxWidth,t.width+p+d)}this._calculatePadding(u,c,x,y)}}this._handleMargins(),l?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,r){const{ticks:{align:s,padding:o},position:l}=this.options,a=this.labelRotation!==0,u=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const c=this.getPixelForTick(0)-this.left,f=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,d=0;a?u?(h=r*t.width,d=i*n.height):(h=i*t.height,d=r*n.width):s==="start"?d=n.width:s==="end"?h=t.width:s!=="inner"&&(h=t.width/2,d=n.width/2),this.paddingLeft=Math.max((h-c+o)*this.width/(this.width-c),0),this.paddingRight=Math.max((d-f+o)*this.width/(this.width-f),0)}else{let c=n.height/2,f=t.height/2;s==="start"?(c=0,f=t.height):s==="end"&&(c=n.height,f=0),this.paddingTop=c+o,this.paddingBottom=f+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){$(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n({width:o[T]||0,height:l[T]||0});return{first:b(0),last:b(n-1),widest:b(k),highest:b(S),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return ty(this._alignToPixels?fn(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&tl*r?l/i:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,i=this.chart,r=this.options,{grid:s,position:o,border:l}=r,a=s.offset,u=this.isHorizontal(),f=this.ticks.length+(a?1:0),h=Pi(s),d=[],m=l.setContext(this.getContext()),y=m.display?m.width:0,x=y/2,p=function(it){return fn(i,it,y)};let g,v,_,w,k,S,b,T,E,L,F,st;if(o==="top")g=p(this.bottom),S=this.bottom-h,T=g-x,L=p(t.top)+x,st=t.bottom;else if(o==="bottom")g=p(this.top),L=t.top,st=p(t.bottom)-x,S=g+x,T=this.top+h;else if(o==="left")g=p(this.right),k=this.right-h,b=g-x,E=p(t.left)+x,F=t.right;else if(o==="right")g=p(this.left),E=t.left,F=p(t.right)-x,k=g+x,b=this.left+h;else if(n==="x"){if(o==="center")g=p((t.top+t.bottom)/2+.5);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}L=t.top,st=t.bottom,S=g+x,T=S+h}else if(n==="y"){if(o==="center")g=p((t.left+t.right)/2);else if(N(o)){const it=Object.keys(o)[0],vt=o[it];g=p(this.chart.scales[it].getPixelForValue(vt))}k=g-x,b=k-h,E=t.left,F=t.right}const At=j(r.ticks.maxTicksLimit,f),Z=Math.max(1,Math.ceil(f/At));for(v=0;vs.value===t);return r>=0?n.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,o;const l=(a,u,c)=>{!c.width||!c.color||(i.save(),i.lineWidth=c.width,i.strokeStyle=c.color,i.setLineDash(c.borderDash||[]),i.lineDashOffset=c.borderDashOffset,i.beginPath(),i.moveTo(a.x,a.y),i.lineTo(u.x,u.y),i.stroke(),i.restore())};if(n.display)for(s=0,o=r.length;s{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:n,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=n.length;s{const i=n.split("."),r=i.pop(),s=[e].concat(i).join("."),o=t[n].split("."),l=o.pop(),a=o.join(".");nt.route(s,r,a,l)})}function t1(e){return"id"in e&&"defaults"in e}class e1{constructor(){this.controllers=new qr(Qi,"datasets",!0),this.elements=new qr(on,"elements"),this.plugins=new qr(Object,"plugins"),this.scales=new qr(Rn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):B(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,n,i){const r=eu(t);$(i["before"+r],[],i),n[t](i),$(i["after"+r],[],i)}_getRegistryForType(t){for(let n=0;ns.filter(l=>!o.some(a=>l.plugin.id===a.plugin.id));this._notify(r(n,i),t,"stop"),this._notify(r(i,n),t,"start")}}function i1(e){const t={},n=[],i=Object.keys(de.plugins.items);for(let s=0;s1&&uf(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function cf(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function c1(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return cf(e,"x",n[0])||cf(e,"y",n[0])}return{}}function f1(e,t){const n=Tn[e.type]||{scales:{}},i=t.scales||{},r=ql(e.type,t),s=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!N(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const a=Jl(o,l,c1(o,e),nt.scales[l.type]),u=a1(a,r),c=n.scales||{};s[o]=Ui(Object.create(null),[{axis:a},l,c[a],c[u]])}),e.data.datasets.forEach(o=>{const l=o.type||e.type,a=o.indexAxis||ql(l,t),c=(Tn[l]||{}).scales||{};Object.keys(c).forEach(f=>{const h=l1(f,a),d=o[h+"AxisID"]||h;s[d]=s[d]||Object.create(null),Ui(s[d],[{axis:h},i[d],c[f]])})}),Object.keys(s).forEach(o=>{const l=s[o];Ui(l,[nt.scales[l.type],nt.scale])}),s}function Ep(e){const t=e.options||(e.options={});t.plugins=j(t.plugins,{}),t.scales=f1(e,t)}function Tp(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function h1(e){return e=e||{},e.data=Tp(e.data),Ep(e),e}const ff=new Map,Lp=new Set;function Jr(e,t){let n=ff.get(e);return n||(n=t(),ff.set(e,n),Lp.add(n)),n}const Ei=(e,t,n)=>{const i=fi(t,n);i!==void 0&&e.add(i)};class d1{constructor(t){this._config=h1(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Tp(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Ep(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jr(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jr(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jr(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Jr(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let r=i.get(t);return(!r||n)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,n,i){const{options:r,type:s}=this,o=this._cachedScopes(t,i),l=o.get(n);if(l)return l;const a=new Set;n.forEach(c=>{t&&(a.add(t),c.forEach(f=>Ei(a,t,f))),c.forEach(f=>Ei(a,r,f)),c.forEach(f=>Ei(a,Tn[s]||{},f)),c.forEach(f=>Ei(a,nt,f)),c.forEach(f=>Ei(a,Zl,f))});const u=Array.from(a);return u.length===0&&u.push(Object.create(null)),Lp.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Tn[n]||{},nt.datasets[n]||{},{type:n},nt,Zl]}resolveNamedOptions(t,n,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:l}=hf(this._resolverCache,t,r);let a=o;if(g1(o,n)){s.$shared=!1,i=sn(i)?i():i;const u=this.createResolver(t,i,l);a=hi(o,i,u)}for(const u of n)s[u]=a[u];return s}createResolver(t,n,i=[""],r){const{resolver:s}=hf(this._resolverCache,t,i);return N(n)?hi(s,n,void 0,r):s}}function hf(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const r=n.join();let s=i.get(r);return s||(s={resolver:au(t,n),subPrefixes:n.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const p1=e=>N(e)&&Object.getOwnPropertyNames(e).reduce((t,n)=>t||sn(e[n]),!1);function g1(e,t){const{isScriptable:n,isIndexable:i}=dp(e);for(const r of t){const s=n(r),o=i(r),l=(o||s)&&e[r];if(s&&(sn(l)||p1(l))||o&&G(l))return!0}return!1}var m1="4.3.0";const y1=["top","bottom","left","right","chartArea"];function df(e,t){return e==="top"||e==="bottom"||y1.indexOf(e)===-1&&t==="x"}function pf(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function gf(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),$(n&&n.onComplete,[e],t)}function v1(e){const t=e.chart,n=t.options.animation;$(n&&n.onProgress,[e],t)}function Op(e){return yp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const vs={},mf=e=>{const t=Op(e);return Object.values(vs).filter(n=>n.canvas===t).pop()};function x1(e,t,n){const i=Object.keys(e);for(const r of i){const s=+r;if(s>=t){const o=e[r];delete e[r],(n>0||s>t)&&(e[s+n]=o)}}}function _1(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function w1(e){const{xScale:t,yScale:n}=e;if(t&&n)return{left:t.left,right:t.right,top:n.top,bottom:n.bottom}}var Fe;let vo=(Fe=class{static register(...t){de.add(...t),yf()}static unregister(...t){de.remove(...t),yf()}constructor(t,n){const i=this.config=new d1(n),r=Op(t),s=mf(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Nv(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),a=l&&l.canvas,u=a&&a.height,c=a&&a.width;if(this.id=H0(),this.ctx=l,this.canvas=a,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new n1,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ry(f=>this.update(f),o.resizeDelay||0),this._dataChanges=[],vs[this.id]=this,!l||!a){console.error("Failed to create chart: can't acquire context from the given item");return}we.listen(this,"complete",gf),we.listen(this,"progress",v1),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:r,_aspectRatio:s}=this;return V(t)?n&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return de}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bc(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ic(this.canvas,this.ctx),this}stop(){return we.stop(this),this}resize(t,n){we.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bc(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),$(i.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};B(n,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let s=[];n&&(s=s.concat(Object.keys(n).map(o=>{const l=n[o],a=Jl(o,l),u=a==="r",c=a==="x";return{options:l,dposition:u?"chartArea":c?"bottom":"left",dtype:u?"radialLinear":c?"category":"linear"}}))),B(s,o=>{const l=o.options,a=l.id,u=Jl(a,l),c=j(l.type,o.dtype);(l.position===void 0||df(l.position,u)!==df(o.dposition))&&(l.position=o.dposition),r[a]=!0;let f=null;if(a in i&&i[a].type===c)f=i[a];else{const h=de.getScale(c);f=new h({id:a,type:c,ctx:this.ctx,chart:this}),i[f.id]=f}f.init(l,t)}),B(r,(o,l)=>{o||delete i[l]}),B(i,o=>{Zt.configure(this,o,o.options),Zt.addBox(this,o)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>n){for(let r=n;rn.length&&delete this._stacks,t.forEach((i,r)=>{n.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=n.length;i{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let u=0,c=this.data.datasets.length;u{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(pf("z","_idx"));const{_active:l,_lastEvent:a}=this;a?this._eventHandler(a,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){B(this.scales,t=>{Zt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pc(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of n){const o=i==="_removeElements"?-s:s;x1(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=s=>new Set(t.filter(o=>o[0]===s).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let s=1;ss.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Zt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],B(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,r=!i.disabled,s=w1(t)||this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&ou(n,{left:i.left===!1?0:s.left-i.left,right:i.right===!1?this.width:s.right+i.right,top:i.top===!1?0:s.top-i.top,bottom:i.bottom===!1?this.height:s.bottom+i.bottom}),t.controller.draw(),r&&lu(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Gn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,r){const s=yv.modes[n];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===n).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=zn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),o=s.controller._resolveAnimations(void 0,r);gr(n)?(s.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),we.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,s,o),t[s]=o},r=(s,o,l)=>{s.offsetX=o,s.offsetY=l,this._eventHandler(s)};B(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(a,u)=>{n.addEventListener(this,a,u),t[a]=u},r=(a,u)=>{t[a]&&(n.removeEventListener(this,a,u),delete t[a])},s=(a,u)=>{this.canvas&&this.resize(a,u)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},n.isAttached(this.canvas)?l():o()}unbindEvents(){B(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},B(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const r=i?"set":"remove";let s,o,l,a;for(n==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,a=t.length;l{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[o],index:o}});!$s(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const r=this.options.hover,s=(a,u)=>a.filter(c=>!u.some(f=>c.datasetIndex===f.datasetIndex&&c.index===f.index)),o=s(n,t),l=i?t:s(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:r=[],options:s}=this,o=n,l=this._getActiveElements(t,r,i,o),a=K0(t),u=_1(t,this._lastEvent,i,a);i&&(this._lastEvent=null,$(s.onHover,[t,l,this],this),a&&$(s.onClick,[t,l,this],this));const c=!$s(l,r);return(c||n)&&(this._active=l,this._updateHoverStyles(l,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,i,r){if(t.type==="mouseout")return[];if(!i)return n;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}},R(Fe,"defaults",nt),R(Fe,"instances",vs),R(Fe,"overrides",Tn),R(Fe,"registry",de),R(Fe,"version",m1),R(Fe,"getChart",mf),Fe);function yf(){return B(vo.instances,e=>e._plugins.invalidate())}function Dp(e,t){const{x:n,y:i,base:r,width:s,height:o}=e.getProps(["x","y","base","width","height"],t);let l,a,u,c,f;return e.horizontal?(f=o/2,l=Math.min(n,r),a=Math.max(n,r),u=i-f,c=i+f):(f=s/2,l=n-f,a=n+f,u=Math.min(i,r),c=Math.max(i,r)),{left:l,top:u,right:a,bottom:c}}function Ue(e,t,n,i){return e?0:se(t,n,i)}function k1(e,t,n){const i=e.options.borderWidth,r=e.borderSkipped,s=hp(i);return{t:Ue(r.top,s.top,0,n),r:Ue(r.right,s.right,0,t),b:Ue(r.bottom,s.bottom,0,n),l:Ue(r.left,s.left,0,t)}}function S1(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,s=kn(r),o=Math.min(t,n),l=e.borderSkipped,a=i||N(r);return{topLeft:Ue(!a||l.top||l.left,s.topLeft,0,o),topRight:Ue(!a||l.top||l.right,s.topRight,0,o),bottomLeft:Ue(!a||l.bottom||l.left,s.bottomLeft,0,o),bottomRight:Ue(!a||l.bottom||l.right,s.bottomRight,0,o)}}function b1(e){const t=Dp(e),n=t.right-t.left,i=t.bottom-t.top,r=k1(e,n/2,i/2),s=S1(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:n-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function el(e,t,n,i){const r=t===null,s=n===null,l=e&&!(r&&s)&&Dp(e,i);return l&&(r||Xn(t,l.left,l.right))&&(s||Xn(n,l.top,l.bottom))}function C1(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function M1(e,t){e.rect(t.x,t.y,t.w,t.h)}function nl(e,t,n={}){const i=e.x!==n.x?-t:0,r=e.y!==n.y?-t:0,s=(e.x+e.w!==n.x+n.w?t:0)-i,o=(e.y+e.h!==n.y+n.h?t:0)-r;return{x:e.x+i,y:e.y+r,w:e.w+s,h:e.h+o,radius:e.radius}}class xs extends on{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=b1(this),l=C1(o.radius)?mr:M1;t.save(),(o.w!==s.w||o.h!==s.h)&&(t.beginPath(),l(t,nl(o,n,s)),t.clip(),l(t,nl(s,-n,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,nl(s,n)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,n,i){return el(this,t,n,i)}inXRange(t,n){return el(this,t,null,n)}inYRange(t,n){return el(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(n+r)/2:n,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}R(xs,"id","bar"),R(xs,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),R(xs,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const vf=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},P1=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class xf extends on{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=$(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=ut(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:a}=vf(i,s);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,s,l,a)+10):(c=this.maxHeight,u=this._fitCols(o,r,l,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+l;let f=t;s.textAlign="left",s.textBaseline="middle";let h=-1,d=-c;return this.legendItems.forEach((m,y)=>{const x=i+n/2+s.measureText(m.text).width;(y===0||u[u.length-1]+x+2*l>o)&&(f+=c,u[u.length-(y>0?0:1)]=0,d+=c,h++),a[y]={left:0,top:d,row:h,width:x,height:r},u[u.length-1]+=x+l}),f}_fitCols(t,n,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:l}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let f=l,h=0,d=0,m=0,y=0;return this.legendItems.forEach((x,p)=>{const{itemWidth:g,itemHeight:v}=E1(i,n,s,x,r);p>0&&d+v+2*l>c&&(f+=h+l,u.push({width:h,height:d}),m+=h+l,y++,h=d=0),a[p]={left:m,top:d,col:y,width:g,height:v},h=Math.max(h,g),d+=v+l}),f+=h,u.push({width:h,height:d}),f}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:r},rtl:s}}=this,o=ii(s,this.left,this.width);if(this.isHorizontal()){let l=0,a=wt(i,this.left+r,this.right-this.lineWidths[l]);for(const u of n)l!==u.row&&(l=u.row,a=wt(i,this.left+r,this.right-this.lineWidths[l])),u.top+=this.top+t+r,u.left=o.leftForLtr(o.x(a),u.width),a+=u.width+r}else{let l=0,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const u of n)u.col!==l&&(l=u.col,a=wt(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),u.top=a,u.left+=this.left+r,u.left=o.leftForLtr(o.x(u.left),u.width),a+=u.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;ou(t,this),this._draw(),lu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:r}=this,{align:s,labels:o}=t,l=nt.color,a=ii(t.rtl,this.left,this.width),u=ut(o.font),{padding:c}=o,f=u.size,h=f/2;let d;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:m,boxHeight:y,itemHeight:x}=vf(o,f),p=function(k,S,b){if(isNaN(m)||m<=0||isNaN(y)||y<0)return;r.save();const T=j(b.lineWidth,1);if(r.fillStyle=j(b.fillStyle,l),r.lineCap=j(b.lineCap,"butt"),r.lineDashOffset=j(b.lineDashOffset,0),r.lineJoin=j(b.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=j(b.strokeStyle,l),r.setLineDash(j(b.lineDash,[])),o.usePointStyle){const E={radius:y*Math.SQRT2/2,pointStyle:b.pointStyle,rotation:b.rotation,borderWidth:T},L=a.xPlus(k,m/2),F=S+h;cp(r,E,L,F,o.pointStyleWidth&&m)}else{const E=S+Math.max((f-y)/2,0),L=a.leftForLtr(k,m),F=kn(b.borderRadius);r.beginPath(),Object.values(F).some(st=>st!==0)?mr(r,{x:L,y:E,w:m,h:y,radius:F}):r.rect(L,E,m,y),r.fill(),T!==0&&r.stroke()}r.restore()},g=function(k,S,b){Ln(r,b.text,k,S+x/2,u,{strikethrough:b.hidden,textAlign:a.textAlign(b.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?d={x:wt(s,this.left+c,this.right-i[0]),y:this.top+c+_,line:0}:d={x:this.left+c,y:wt(s,this.top+_+c,this.bottom-n[0].height),line:0},vp(this.ctx,t.textDirection);const w=x+c;this.legendItems.forEach((k,S)=>{r.strokeStyle=k.fontColor,r.fillStyle=k.fontColor;const b=r.measureText(k.text).width,T=a.textAlign(k.textAlign||(k.textAlign=o.textAlign)),E=m+h+b;let L=d.x,F=d.y;a.setWidth(this.width),v?S>0&&L+E+c>this.right&&(F=d.y+=w,d.line++,L=d.x=wt(s,this.left+c,this.right-i[d.line])):S>0&&F+w>this.bottom&&(L=d.x=L+n[d.line].width+c,d.line++,F=d.y=wt(s,this.top+_+c,this.bottom-n[d.line].height));const st=a.x(L);if(p(st,F,k),L=sy(T,L+m+h,v?L+E:this.right,t.rtl),g(a.x(L),F,k),v)d.x+=E+c;else if(typeof k.text!="string"){const At=u.lineHeight;d.y+=zp(k,At)}else d.y+=w}),xp(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=ut(n.font),r=bt(n.padding);if(!n.display)return;const s=ii(t.rtl,this.left,this.width),o=this.ctx,l=n.position,a=i.size/2,u=r.top+a;let c,f=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,f=wt(t.align,f,this.right-h);else{const m=this.columnSizes.reduce((y,x)=>Math.max(y,x.height),0);c=u+wt(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const d=wt(l,f,f+h);o.textAlign=s.textAlign(ru(l)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=i.string,Ln(o,n.text,d,c,i)}_computeTitleHeight(){const t=this.options.title,n=ut(t.font),i=bt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,r,s;if(Xn(t,this.left,this.right)&&Xn(n,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;is.length>o.length?s:o)),t+n.size/2+i.measureText(r).width}function L1(e,t,n){let i=e;return typeof t.text!="string"&&(i=zp(t,n)),i}function zp(e,t){const n=e.text?e.text.length+.5:0;return t*n}function O1(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var D1={id:"legend",_element:xf,start(e,t,n){const i=e.legend=new xf({ctx:e.ctx,options:n,chart:e});Zt.configure(e,i,n),Zt.addBox(e,i)},stop(e){Zt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;Zt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,r=n.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:r,color:s,useBorderRadius:o,borderRadius:l}}=e.legend.options;return e._getSortedDatasetMetas().map(a=>{const u=a.controller.getStyle(n?0:void 0),c=bt(u.borderWidth);return{text:t[a.index].label,fillStyle:u.backgroundColor,fontColor:s,hidden:!a.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:u.borderColor,pointStyle:i||u.pointStyle,rotation:u.rotation,textAlign:r||u.textAlign,borderRadius:o&&(l||u.borderRadius),datasetIndex:a.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class Rp extends on{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const r=G(i.text)?i.text.length:1;this._padding=bt(i.padding);const s=r*ut(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:r,right:s,options:o}=this,l=o.align;let a=0,u,c,f;return this.isHorizontal()?(c=wt(l,i,s),f=n+t,u=s-i):(o.position==="left"?(c=i+t,f=wt(l,r,n),a=yt*-.5):(c=s-t,f=wt(l,n,r),a=yt*.5),u=r-n),{titleX:c,titleY:f,maxWidth:u,rotation:a}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=ut(n.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:l,maxWidth:a,rotation:u}=this._drawArgs(s);Ln(t,n.text,0,0,i,{color:n.color,maxWidth:a,rotation:u,textAlign:ru(n.align),textBaseline:"middle",translation:[o,l]})}}function z1(e,t){const n=new Rp({ctx:e.ctx,options:t,chart:e});Zt.configure(e,n,t),Zt.addBox(e,n),e.titleBlock=n}var R1={id:"title",_element:Rp,start(e,t,n){z1(e,n)},stop(e){const t=e.titleBlock;Zt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;Zt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Fi={average(e){if(!e.length)return!1;let t,n,i=0,r=0,s=0;for(t=0,n=e.length;t-1?e.split(` -`):e}function F1(e,t){const{element:n,datasetIndex:i,index:r}=t,s=e.getDatasetMeta(i).controller,{label:o,value:l}=s.getLabelAndValue(r);return{chart:e,label:o,parsed:s.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:n}}function _f(e,t){const n=e.chart.ctx,{body:i,footer:r,title:s}=e,{boxWidth:o,boxHeight:l}=t,a=ut(t.bodyFont),u=ut(t.titleFont),c=ut(t.footerFont),f=s.length,h=r.length,d=i.length,m=bt(t.padding);let y=m.height,x=0,p=i.reduce((_,w)=>_+w.before.length+w.lines.length+w.after.length,0);if(p+=e.beforeBody.length+e.afterBody.length,f&&(y+=f*u.lineHeight+(f-1)*t.titleSpacing+t.titleMarginBottom),p){const _=t.displayColors?Math.max(l,a.lineHeight):a.lineHeight;y+=d*_+(p-d)*a.lineHeight+(p-1)*t.bodySpacing}h&&(y+=t.footerMarginTop+h*c.lineHeight+(h-1)*t.footerSpacing);let g=0;const v=function(_){x=Math.max(x,n.measureText(_).width+g)};return n.save(),n.font=u.string,B(e.title,v),n.font=a.string,B(e.beforeBody.concat(e.afterBody),v),g=t.displayColors?o+2+t.boxPadding:0,B(i,_=>{B(_.before,v),B(_.lines,v),B(_.after,v)}),g=0,n.font=c.string,B(e.footer,v),n.restore(),x+=m.width,{width:x,height:y}}function I1(e,t){const{y:n,height:i}=t;return ne.height-i/2?"bottom":"center"}function A1(e,t,n,i){const{x:r,width:s}=i,o=n.caretSize+n.caretPadding;if(e==="left"&&r+s+o>t.width||e==="right"&&r-s-o<0)return!0}function N1(e,t,n,i){const{x:r,width:s}=n,{width:o,chartArea:{left:l,right:a}}=e;let u="center";return i==="center"?u=r<=(l+a)/2?"left":"right":r<=s/2?u="left":r>=o-s/2&&(u="right"),A1(u,e,t,n)&&(u="center"),u}function wf(e,t,n){const i=n.yAlign||t.yAlign||I1(e,n);return{xAlign:n.xAlign||t.xAlign||N1(e,t,n,i),yAlign:i}}function j1(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function B1(e,t,n){let{y:i,height:r}=e;return t==="top"?i+=n:t==="bottom"?i-=r+n:i-=r/2,i}function kf(e,t,n,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=e,{xAlign:l,yAlign:a}=n,u=r+s,{topLeft:c,topRight:f,bottomLeft:h,bottomRight:d}=kn(o);let m=j1(t,l);const y=B1(t,a,u);return a==="center"?l==="left"?m+=u:l==="right"&&(m-=u):l==="left"?m-=Math.max(c,h)+r:l==="right"&&(m+=Math.max(f,d)+r),{x:se(m,0,i.width-t.width),y:se(y,0,i.height-t.height)}}function ts(e,t,n){const i=bt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function Sf(e){return fe([],ke(e))}function H1(e,t,n){return zn(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function bf(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Fp={beforeTitle:_e,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Fp[t].call(n,i):r}class ta extends on{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&n.options.animation&&i.animations,s=new _p(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=H1(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,r=Tt(i,"beforeTitle",this,t),s=Tt(i,"title",this,t),o=Tt(i,"afterTitle",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}getBeforeBody(t,n){return Sf(Tt(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,r=[];return B(t,s=>{const o={before:[],lines:[],after:[]},l=bf(i,s);fe(o.before,ke(Tt(l,"beforeLabel",this,s))),fe(o.lines,Tt(l,"label",this,s)),fe(o.after,ke(Tt(l,"afterLabel",this,s))),r.push(o)}),r}getAfterBody(t,n){return Sf(Tt(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,r=Tt(i,"beforeFooter",this,t),s=Tt(i,"footer",this,t),o=Tt(i,"afterFooter",this,t);let l=[];return l=fe(l,ke(r)),l=fe(l,ke(s)),l=fe(l,ke(o)),l}_createItems(t){const n=this._active,i=this.chart.data,r=[],s=[],o=[];let l=[],a,u;for(a=0,u=n.length;at.filter(c,f,h,i))),t.itemSort&&(l=l.sort((c,f)=>t.itemSort(c,f,i))),B(l,c=>{const f=bf(t.callbacks,c);r.push(Tt(f,"labelColor",this,c)),s.push(Tt(f,"labelPointStyle",this,c)),o.push(Tt(f,"labelTextColor",this,c))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=o,this.dataPoints=l,l}update(t,n){const i=this.options.setContext(this.getContext()),r=this._active;let s,o=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=Fi[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const a=this._size=_f(this,i),u=Object.assign({},l,a),c=wf(this.chart,i,u),f=kf(i,u,c,this.chart);this.xAlign=c.xAlign,this.yAlign=c.yAlign,s={opacity:1,x:f.x,y:f.y,width:a.width,height:a.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,r){const s=this.getCaretPosition(t,i,r);n.lineTo(s.x1,s.y1),n.lineTo(s.x2,s.y2),n.lineTo(s.x3,s.y3)}getCaretPosition(t,n,i){const{xAlign:r,yAlign:s}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:f}=kn(l),{x:h,y:d}=t,{width:m,height:y}=n;let x,p,g,v,_,w;return s==="center"?(_=d+y/2,r==="left"?(x=h,p=x-o,v=_+o,w=_-o):(x=h+m,p=x+o,v=_-o,w=_+o),g=x):(r==="left"?p=h+Math.max(a,c)+o:r==="right"?p=h+m-Math.max(u,f)-o:p=this.caretX,s==="top"?(v=d,_=v-o,x=p-o,g=p+o):(v=d+y,_=v+o,x=p+o,g=p-o),w=v),{x1:x,x2:p,x3:g,y1:v,y2:_,y3:w}}drawTitle(t,n,i){const r=this.title,s=r.length;let o,l,a;if(s){const u=ii(i.rtl,this.x,this.width);for(t.x=ts(this,i.titleAlign,i),n.textAlign=u.textAlign(i.titleAlign),n.textBaseline="middle",o=ut(i.titleFont),l=i.titleSpacing,n.fillStyle=i.titleColor,n.font=o.string,a=0;ag!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,mr(t,{x:y,y:m,w:u,h:a,radius:p}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),mr(t,{x,y:m+1,w:u-2,h:a-2,radius:p}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(y,m,u,a),t.strokeRect(y,m,u,a),t.fillStyle=o.backgroundColor,t.fillRect(x,m+1,u-2,a-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:r}=this,{bodySpacing:s,bodyAlign:o,displayColors:l,boxHeight:a,boxWidth:u,boxPadding:c}=i,f=ut(i.bodyFont);let h=f.lineHeight,d=0;const m=ii(i.rtl,this.x,this.width),y=function(b){n.fillText(b,m.x(t.x+d),t.y+h/2),t.y+=h+s},x=m.textAlign(o);let p,g,v,_,w,k,S;for(n.textAlign=o,n.textBaseline="middle",n.font=f.string,t.x=ts(this,x,i),n.fillStyle=i.bodyColor,B(this.beforeBody,y),d=l&&x!=="right"?o==="center"?u/2+c:u+2+c:0,_=0,k=r.length;_0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const o=Fi[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=_f(this,t),a=Object.assign({},o,this._size),u=wf(n,t,a),c=kf(t,a,u,n);(r._to!==c.x||s._to!==c.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=bt(n.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,n),vp(t,n.textDirection),s.y+=o.top,this.drawTitle(s,t,n),this.drawBody(s,t,n),this.drawFooter(s,t,n),xp(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,r=t.map(({datasetIndex:l,index:a})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[a],index:a}}),s=!$s(i,r),o=this._positionChanged(r,n);(s||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],o=this._getActiveElements(t,s,n,i),l=this._positionChanged(o,t),a=n||!$s(o,s)||l;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:i,caretY:r,options:s}=this,o=Fi[s.position].call(this,t,n);return o!==!1&&(i!==o.x||r!==o.y)}}R(ta,"positioners",Fi);var V1={id:"tooltip",_element:ta,positioners:Fi,afterInit(e,t,n){n&&(e.tooltip=new ta({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Fp},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const W1=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function $1(e,t,n,i){const r=e.indexOf(t);if(r===-1)return W1(e,t,n,i);const s=e.lastIndexOf(t);return r!==s?n:r}const U1=(e,t)=>e===null?null:se(Math.round(e),0,t);function Cf(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}R(ea,"id","category"),R(ea,"defaults",{ticks:{callback:Cf}});function Y1(e,t){const n=[],{bounds:r,step:s,min:o,max:l,precision:a,count:u,maxTicks:c,maxDigits:f,includeBounds:h}=e,d=s||1,m=c-1,{min:y,max:x}=t,p=!V(o),g=!V(l),v=!V(u),_=(x-y)/(f+1);let w=Tc((x-y)/m/d)*d,k,S,b,T;if(w<1e-14&&!p&&!g)return[{value:y},{value:x}];T=Math.ceil(x/w)-Math.floor(y/w),T>m&&(w=Tc(T*w/m/d)*d),V(a)||(k=Math.pow(10,a),w=Math.ceil(w*k)/k),r==="ticks"?(S=Math.floor(y/w)*w,b=Math.ceil(x/w)*w):(S=y,b=x),p&&g&&s&&G0((l-o)/s,w/1e3)?(T=Math.round(Math.min((l-o)/w,c)),w=(l-o)/T,S=o,b=l):v?(S=p?o:S,b=g?l:b,T=u-1,w=(b-S)/T):(T=(b-S)/w,gs(T,Math.round(T),w/1e3)?T=Math.round(T):T=Math.ceil(T));const E=Math.max(Lc(w),Lc(S));k=Math.pow(10,V(a)?E:a),S=Math.round(S*k)/k,b=Math.round(b*k)/k;let L=0;for(p&&(h&&S!==o?(n.push({value:o}),Sl)break;n.push({value:F})}return g&&h&&b!==l?n.length&&gs(n[n.length-1].value,l,Mf(l,_,e))?n[n.length-1].value=l:n.push({value:l}):(!g||b===l)&&n.push({value:b}),n}function Mf(e,t,{horizontal:n,minRotation:i}){const r=$e(i),s=(n?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+e).length;return Math.min(t/s,o)}class Zs extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return V(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=a=>r=n?r:a,l=a=>s=i?s:a;if(t){const a=en(r),u=en(s);a<0&&u<0?l(0):a>0&&u>0&&o(0)}if(r===s){let a=s===0?1:Math.abs(s*.05);l(s+a),t||o(r-a)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),n=n||11),n&&(r=Math.min(n,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},s=this._range||this,o=Y1(r,s);return t.bounds==="ticks"&&ip(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-n)/Math.max(t.length-1,1)/2;n-=r,i+=r}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return su(t,this.chart.options.locale,this.options.ticks.format)}}class na extends Zs{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?t:0,this.max=ht(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=$e(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}R(na,"id","linear"),R(na,"defaults",{ticks:{callback:mo.formatters.numeric}});const vr=e=>Math.floor(We(e)),dn=(e,t)=>Math.pow(10,vr(e)+t);function Pf(e){return e/Math.pow(10,vr(e))===1}function Ef(e,t,n){const i=Math.pow(10,n),r=Math.floor(e/i);return Math.ceil(t/i)-r}function K1(e,t){const n=t-e;let i=vr(n);for(;Ef(e,t,i)>10;)i++;for(;Ef(e,t,i)<10;)i--;return Math.min(i,vr(e))}function Q1(e,{min:t,max:n}){t=Bt(e.min,t);const i=[],r=vr(t);let s=K1(t,n),o=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),a=r>s?Math.pow(10,r):0,u=Math.round((t-a)*o)/o,c=Math.floor((t-a)/l/10)*l*10;let f=Math.floor((u-c)/Math.pow(10,s)),h=Bt(e.min,Math.round((a+c+f*Math.pow(10,s))*o)/o);for(;h=10?f=f<15?15:20:f++,f>=20&&(s++,f=2,o=s>=0?1:o),h=Math.round((a+c+f*Math.pow(10,s))*o)/o;const d=Bt(e.max,h);return i.push({value:d,major:Pf(d),significand:f}),i}class Tf extends Rn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const i=Zs.prototype.parse.apply(this,[t,n]);if(i===0){this._zero=!0;return}return ht(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=ht(t)?Math.max(0,t):null,this.max=ht(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ht(this._userMin)&&(this.min=t===dn(this.min,0)?dn(this.min,-1):dn(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,o=l=>r=n?r:l;i===r&&(i<=0?(s(1),o(10)):(s(dn(i,-1)),o(dn(r,1)))),i<=0&&s(dn(r,-1)),r<=0&&o(dn(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},i=Q1(n,this);return t.bounds==="ticks"&&ip(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":su(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=We(t),this._valueRange=We(this.max)-We(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(We(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}R(Tf,"id","logarithmic"),R(Tf,"defaults",{ticks:{callback:mo.formatters.logarithmic,major:{enabled:!0}}});function ia(e){const t=e.ticks;if(t.display&&e.display){const n=bt(t.backdropPadding);return j(t.font&&t.font.size,nt.font.size)+n.height}return 0}function X1(e,t,n){return n=G(n)?n:[n],{w:gy(e,t.string,n),h:n.length*t.lineHeight}}function Lf(e,t,n,i,r){return e===i||e===r?{start:t-n/2,end:t+n/2}:er?{start:t-n,end:t}:{start:t,end:t+n}}function G1(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),i=[],r=[],s=e._pointLabels.length,o=e.options.pointLabels,l=o.centerPointLabels?yt/s:0;for(let a=0;at.r&&(l=(i.end-t.r)/s,e.r=Math.max(e.r,t.r+l)),r.startt.b&&(a=(r.end-t.b)/o,e.b=Math.max(e.b,t.b+a))}function q1(e,t,n){const i=e.drawingArea,{extra:r,additionalAngle:s,padding:o,size:l}=n,a=e.getPointPosition(t,i+r+o,s),u=Math.round(nu(pe(a.angle+zt))),c=ix(a.y,l.h,u),f=ex(u),h=nx(a.x,l.w,f);return{visible:!0,x:a.x,y:c,textAlign:f,left:h,top:c,right:h+l.w,bottom:c+l.h}}function J1(e,t){if(!t)return!0;const{left:n,top:i,right:r,bottom:s}=e;return!(Gn({x:n,y:i},t)||Gn({x:n,y:s},t)||Gn({x:r,y:i},t)||Gn({x:r,y:s},t))}function tx(e,t,n){const i=[],r=e._pointLabels.length,s=e.options,{centerPointLabels:o,display:l}=s.pointLabels,a={extra:ia(s)/2,additionalAngle:o?yt/r:0};let u;for(let c=0;c270||n<90)&&(e-=t),e}function rx(e,t,n){const{left:i,top:r,right:s,bottom:o}=n,{backdropColor:l}=t;if(!V(l)){const a=kn(t.borderRadius),u=bt(t.backdropPadding);e.fillStyle=l;const c=i-u.left,f=r-u.top,h=s-i+u.width,d=o-r+u.height;Object.values(a).some(m=>m!==0)?(e.beginPath(),mr(e,{x:c,y:f,w:h,h:d,radius:a}),e.fill()):e.fillRect(c,f,h,d)}}function sx(e,t){const{ctx:n,options:{pointLabels:i}}=e;for(let r=t-1;r>=0;r--){const s=e._pointLabelItems[r];if(!s.visible)continue;const o=i.setContext(e.getPointLabelContext(r));rx(n,o,s);const l=ut(o.font),{x:a,y:u,textAlign:c}=s;Ln(n,e._pointLabels[r],a,u+l.lineHeight/2,l,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Ip(e,t,n,i){const{ctx:r}=e;if(n)r.arc(e.xCenter,e.yCenter,t,0,ve);else{let s=e.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let o=1;o{const r=$(this.options.pointLabels.callback,[n,i],this);return r||r===0?r:""}).filter((n,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?G1(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,i,r){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,i,r))}getIndexAngle(t){const n=ve/(this._pointLabels.length||1),i=this.options.startAngle||0;return pe(t*n+$e(i))}getDistanceFromCenterForValue(t){if(V(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(V(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(f!==0){a=this.getDistanceFromCenterForValue(c.value);const h=this.getContext(f),d=r.setContext(h),m=s.setContext(h);ox(this,d,a,o,m)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const c=i.setContext(this.getPointLabelContext(l)),{color:f,lineWidth:h}=c;!h||!f||(t.lineWidth=h,t.strokeStyle=f,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(l,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,i=n.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,a)=>{if(a===0&&!n.reverse)return;const u=i.setContext(this.getContext(a)),c=ut(u.font);if(s=this.getDistanceFromCenterForValue(this.ticks[a].value),u.showLabelBackdrop){t.font=c.string,o=t.measureText(l.label).width,t.fillStyle=u.backdropColor;const f=bt(u.backdropPadding);t.fillRect(-o/2-f.left,-s-c.size/2-f.top,o+f.width,c.size+f.height)}Ln(t,l.label,0,-s,c,{color:u.color})}),t.restore()}drawTitle(){}}R(es,"id","radialLinear"),R(es,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:mo.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),R(es,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),R(es,"descriptors",{angleLines:{_fallback:"grid"}});const xo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Ot=Object.keys(xo);function ax(e,t){return e-t}function Of(e,t){if(V(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),ht(o)||(o=typeof i=="string"?n.parse(o,i):n.parse(o)),o===null?null:(r&&(o=r==="week"&&(Ks(s)||s===!0)?n.startOf(o,"isoWeek",s):n.startOf(o,r)),+o)}function Df(e,t,n,i){const r=Ot.length;for(let s=Ot.indexOf(e);s=Ot.indexOf(n);s--){const o=Ot[s];if(xo[o].common&&e._adapter.diff(r,i,o)>=t-1)return o}return Ot[n?Ot.indexOf(n):0]}function cx(e){for(let t=Ot.indexOf(e)+1,n=Ot.length;t=t?n[i]:n[r];e[s]=!0}}function fx(e,t,n,i){const r=e._adapter,s=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,a;for(l=s;l<=o;l=+r.add(l,1,i))a=n[l],a>=0&&(t[a].major=!0);return t}function Rf(e,t,n){const i=[],r={},s=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let n=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?n=1-r:n=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;n=se(n,0,o),i=se(i,0,o),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,r=this.options,s=r.time,o=s.unit||Df(s.minUnit,n,i,this._getLabelCapacity(n)),l=j(r.ticks.stepSize,1),a=o==="week"?s.isoWeekday:!1,u=Ks(a)||a===!0,c={};let f=n,h,d;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(i,n,o)>1e5*l)throw new Error(n+" and "+i+" are too far apart with stepSize of "+l+" "+o);const m=r.ticks.source==="data"&&this.getDataTimestamps();for(h=f,d=0;hy-x).map(y=>+y)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const r=this.options.time.displayFormats,s=this._unit,o=n||r[s];return this._adapter.format(t,o)}_tickFormatFunction(t,n,i,r){const s=this.options,o=s.ticks.callback;if(o)return $(o,[t,n,i],this);const l=s.time.displayFormats,a=this._unit,u=this._majorUnit,c=a&&l[a],f=u&&l[u],h=i[n],d=u&&f&&h&&h.major;return this._adapter.format(t,r||(d?f:c))}generateTickLabels(t){let n,i,r;for(n=0,i=t.length;n0?l:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(n=0,i=r.length;n=e[i].pos&&t<=e[r].pos&&({lo:i,hi:r}=Gl(e,"pos",t)),{pos:s,time:l}=e[i],{pos:o,time:a}=e[r]):(t>=e[i].time&&t<=e[r].time&&({lo:i,hi:r}=Gl(e,"time",t)),{time:s,pos:l}=e[i],{time:o,pos:a}=e[r]);const u=o-s;return u?l+(a-l)*(t-s)/u:l}class Ff extends qs{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=ns(n,this.min),this._tableRange=ns(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,r=[],s=[];let o,l,a,u,c;for(o=0,l=t.length;o=n&&u<=i&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(o=0,l=r.length;o2&&arguments[2]!==void 0?arguments[2]:Ap;const i=[];e.datasets=t.map(r=>{const s=e.datasets.find(o=>o[n]===r[n]);return!s||!r.data||i.includes(s)?{...r}:(i.push(s),Object.assign(s,r),s)})}function dx(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ap;const n={labels:[],datasets:[]};return Np(n,e.labels),jp(n,e.datasets,t),n}function px(e,t){const{height:n=150,width:i=300,redraw:r=!1,datasetIdKey:s,type:o,data:l,options:a,plugins:u=[],fallbackContent:c,updateMode:f,...h}=e,d=ct.useRef(null),m=ct.useRef(),y=()=>{d.current&&(m.current=new vo(d.current,{type:o,data:dx(l,s),options:a&&{...a},plugins:u}),If(t,m.current))},x=()=>{If(t,null),m.current&&(m.current.destroy(),m.current=null)};return ct.useEffect(()=>{!r&&m.current&&a&&hx(m.current,a)},[r,a]),ct.useEffect(()=>{!r&&m.current&&Np(m.current.config.data,l.labels)},[r,l.labels]),ct.useEffect(()=>{!r&&m.current&&l.datasets&&jp(m.current.config.data,l.datasets,s)},[r,l.datasets]),ct.useEffect(()=>{m.current&&(r?(x(),setTimeout(y)):m.current.update(f))},[r,a,l.labels,l.datasets,f]),ct.useEffect(()=>{m.current&&(x(),setTimeout(y))},[o]),ct.useEffect(()=>(y(),()=>x()),[]),Yf.createElement("canvas",Object.assign({ref:d,role:"img",height:n,width:i},h),c)}const gx=ct.forwardRef(px);function mx(e,t){return vo.register(t),ct.forwardRef((n,i)=>Yf.createElement(gx,Object.assign({},n,{ref:i,type:e})))}const yx=mx("bar",ms);vo.register(ea,na,xs,R1,V1,D1);const vx={indexAxis:"y",scales:{y:{ticks:{display:!1},grid:{display:!1}},x:{position:"top"}},elements:{bar:{borderWidth:2}},responsive:!0,barThickness:3,plugins:{legend:{position:"right",display:!1},title:{display:!1}}},xx=({data:e})=>{const t=p0(e),n=v0(t.allTracesTimeInfo),i=y0(t.allTracesTimeInfo,t.earliestTime),r={labels:n,datasets:[{label:"Trace",data:i,borderColor:"rgb(119, 219, 137)",backgroundColor:"rgba(1, 19, 1, 0.5)"}]};return z.jsx(yx,{options:vx,data:r})};function _x(e){let t="",n=!1,i=[];const r=[];return e.map((s,o)=>{o===0&&(t=e[0].traceId),n&&(i=[],n=!1),i.push(s),e[o+1]?e[o+1].traceId!==t&&(t=e[o+1].traceId,n=!0,r.push(i)):r.push(i)}),r.slice(0,13)}function wx(){const[e,t]=ct.useState([]);ct.useEffect(()=>{chrome.runtime.onMessage.addListener(i=>{console.log("received chrome message",i)})},[]),ct.useEffect(()=>{new EventSource("http://localhost:3002/stream/sse").addEventListener("message",r=>{try{t(s=>[...s,JSON.parse(r.data)])}catch(s){console.log("failed",s)}})},[]),ct.useEffect(()=>{},[e]);const n=_x(e);return z.jsxs(z.Fragment,{children:[z.jsx(xx,{data:n}),z.jsx(m0,{data:n})]})}const kx=document.getElementById("root"),Sx=Zd(kx);console.log("panel/index.jsx reached");Sx.render(z.jsx(wx,{})); ->>>>>>>> dev:chrome-extension/dist/assets/panel-a9d3a4ab.js diff --git a/chrome-extension/dist/src/pages/devtools/index.html b/chrome-extension/dist/src/pages/devtools/index.html index 3f42b0a..4176f60 100644 --- a/chrome-extension/dist/src/pages/devtools/index.html +++ b/chrome-extension/dist/src/pages/devtools/index.html @@ -2,7 +2,7 @@ - + diff --git a/chrome-extension/dist/src/pages/panel/index.html b/chrome-extension/dist/src/pages/panel/index.html index 7c5cd2c..978088f 100644 --- a/chrome-extension/dist/src/pages/panel/index.html +++ b/chrome-extension/dist/src/pages/panel/index.html @@ -2,9 +2,9 @@ - + - +
diff --git a/chrome-extension/src/pages/app/app.tsx b/chrome-extension/src/pages/app/app.tsx index b5204a8..0649b4b 100644 --- a/chrome-extension/src/pages/app/app.tsx +++ b/chrome-extension/src/pages/app/app.tsx @@ -2,28 +2,19 @@ import { useEffect, useState } from 'react'; import './App.css' import NetworkTable from './components/NetworkTable.tsx' import WaterfallChart from './components/WaterfallGraph.tsx'; -import {IRelevant} from '../../types/types.ts'; -import {isRelevant} from './functions/isRelevant.ts'; +import {IRelevantData} from '../../types/types.ts'; +import {aggregateAndSort} from './functions/aggregateAndSort.ts'; import ClearState from './components/ClearState.tsx'; import Reload from './components/Reload.tsx'; function App() { - const [relevant, setRelevant] = useState(new Map()); - - - // testing uses only: to cross-reference incoming client data with otel data - useEffect(() => { - chrome.runtime.onMessage.addListener((message) => { - // console.log(`chromeApiRequestData: ${message.type}, startTime ${message.startTime}`, message); - }) - }, []); - - + const [relevantData, setRelevantData] = useState(new Map()); + useEffect(() => { const sseStream = new EventSource('http://localhost:3002/stream/sse'); sseStream.addEventListener('message', (e) => { try { - isRelevant(setRelevant, JSON.parse(e.data)); + aggregateAndSort(setRelevantData, JSON.parse(e.data)); } catch (err) { console.log('failed', err); } @@ -31,21 +22,16 @@ function App() { }, []); - // useEffect(() => { - // console.log(relevant); - // }, [relevant]); - - return (
-
0 ? 'h-[33vh]' : 'h-[33vh] border-b-[1px] border-slate-400'}> - +
0 ? 'h-[33vh]' : 'h-[33vh] border-b-[1px] border-slate-400'}> +
- {relevant.size > 0 ? + {relevantData.size > 0 ?
- - + +
: diff --git a/chrome-extension/src/pages/app/components/NetworkTable.tsx b/chrome-extension/src/pages/app/components/NetworkTable.tsx index 4f43c94..350b4a3 100644 --- a/chrome-extension/src/pages/app/components/NetworkTable.tsx +++ b/chrome-extension/src/pages/app/components/NetworkTable.tsx @@ -1,15 +1,11 @@ import TableRow from './TableRow'; - import { IRelevant } from '../../../types/types'; - - interface NetworkTableProps { data: IRelevant; } - const NetworkTable = ({data} : NetworkTableProps) => { return ( diff --git a/chrome-extension/src/pages/app/components/TableRow.tsx b/chrome-extension/src/pages/app/components/TableRow.tsx index 177963c..4381b8d 100644 --- a/chrome-extension/src/pages/app/components/TableRow.tsx +++ b/chrome-extension/src/pages/app/components/TableRow.tsx @@ -1,4 +1,3 @@ -// import { IMockData } from '../mockData'; import { IUpdatedData } from '../../../types/types'; diff --git a/chrome-extension/src/pages/app/components/WaterfallGraph.tsx b/chrome-extension/src/pages/app/components/WaterfallGraph.tsx index fa7a253..db26945 100644 --- a/chrome-extension/src/pages/app/components/WaterfallGraph.tsx +++ b/chrome-extension/src/pages/app/components/WaterfallGraph.tsx @@ -1,7 +1,4 @@ -// import { IMockData } from "../mockData"; -// import { getAllTracesTimeInfo, getTraceTimeInfo,IAllTracesTimeInfo,ITotalTimes } from "../functions/getTraceInfo"; - -import { getChartJSLabels, getChartJSTraceData } from "../functions/chartJSData"; +import { getChartJSData, getChartJSLabels} from "../functions/chartJSData"; import { Chart as ChartJS, @@ -18,7 +15,6 @@ import { ILengthsOfChartBars, IRelevant } from "../../../types/types"; interface WaterfallChartProps { - // data: IMockData[][]; data: IRelevant; } @@ -74,7 +70,7 @@ const WaterfallChart = ({data} : WaterfallChartProps) => { const labels: string[]= getChartJSLabels(data); - const chartJSData: ILengthsOfChartBars = getChartJSTraceData(data); + const chartJSData: ILengthsOfChartBars = getChartJSData(data); const chartData = { labels, diff --git a/chrome-extension/src/pages/app/functions/isRelevant.ts b/chrome-extension/src/pages/app/functions/aggregateAndSort.ts similarity index 74% rename from chrome-extension/src/pages/app/functions/isRelevant.ts rename to chrome-extension/src/pages/app/functions/aggregateAndSort.ts index 3595ffa..2abeeed 100644 --- a/chrome-extension/src/pages/app/functions/isRelevant.ts +++ b/chrome-extension/src/pages/app/functions/aggregateAndSort.ts @@ -1,22 +1,18 @@ -import { OtelData, IRelevant, ISetRelevantState } from '../../../types/types'; +import { IOtelData, IRelevantData, ISetRelevantData } from '../../../types/types'; -export function isRelevant(setRelevant:ISetRelevantState, incomingSpanData: OtelData): void { - // if there is no method attached, return +export function aggregateAndSort(setRelevant:ISetRelevantData, incomingSpanData: IOtelData): void { + if(!('method' in incomingSpanData) || incomingSpanData.method === ""){ return; } - - // destructure name let {name, method, traceId, startTime, endTime, applicationType, originatingService, status, protocol} = incomingSpanData; - // check if name starts with "/?key=" , return + if(name.startsWith("/?key=")) return; - // ISSUE: look even closer into spans with name === "/" to make sure if it is relevant if(name === "/")return; - // ISSUE: for now gets rid of repeat data but look into this more. should also be connected to the "/" names if(name.includes("GET") || name.includes("PATCH")|| name.includes("PUT") || name.includes("DELETE") || name.includes("POST")) return; if(name.startsWith("/_next/static/")){ @@ -26,13 +22,12 @@ export function isRelevant(setRelevant:ISetRelevantState, incomingSpanData: Ote setRelevant(prevRelevant => { - const newRelevant: IRelevant = new Map([...prevRelevant.entries()]); + const newRelevant: IRelevantData = new Map([...prevRelevant.entries()]); const newKeyName: string = `${method}, ${name}, ${traceId}`; if(newRelevant.has(newKeyName)){ const existingData = newRelevant.get(newKeyName); - // if incoming data has an earlier startTime, update true start time on existingdata let hasUpdatedTime: boolean = false; if(startTime < existingData!.trueStartTime) { @@ -70,13 +65,13 @@ export function isRelevant(setRelevant:ISetRelevantState, incomingSpanData: Ote newRelevant.set(newKeyName,updatedData); } - const sortedRelevant: IRelevant = sortRelevant(newRelevant); + const sortedRelevant: IRelevantData = sortRelevant(newRelevant); return sortedRelevant; }); } -function sortRelevant(relevant: IRelevant): IRelevant{ +function sortRelevant(relevant: IRelevantData): IRelevantData{ const entries = Array.from(relevant.entries()); entries.sort((a, b) => a[1].trueStartTime - b[1].trueStartTime); diff --git a/chrome-extension/src/pages/app/functions/calcTotalTime.ts b/chrome-extension/src/pages/app/functions/calcTotalTime.ts deleted file mode 100644 index 794298a..0000000 --- a/chrome-extension/src/pages/app/functions/calcTotalTime.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function calcTotalTime(sTime: number, eTime: number): number{ - return eTime - sTime; -} \ No newline at end of file diff --git a/chrome-extension/src/pages/app/functions/chartJSData.ts b/chrome-extension/src/pages/app/functions/chartJSData.ts index 4327ac9..30bd9c3 100644 --- a/chrome-extension/src/pages/app/functions/chartJSData.ts +++ b/chrome-extension/src/pages/app/functions/chartJSData.ts @@ -1,12 +1,9 @@ import { ILengthsOfChartBars, IRelevant } from "../../../types/types"; -export function getChartJSTraceData(allRequestData: IRelevant): ILengthsOfChartBars{ +export function getChartJSData(allRequestData: IRelevant): ILengthsOfChartBars{ const output: ILengthsOfChartBars= []; allRequestData.forEach((request) => { - // console.log('relative start time',request.relativeStartTime); - // console.log('relative start time',request.duration); - const singleChartJSData: number[] = [request.relativeStartTime, request.relativeStartTime + request.duration]; output.push(singleChartJSData) }) diff --git a/chrome-extension/src/pages/app/functions/checkTraceId.ts b/chrome-extension/src/pages/app/functions/checkTraceId.ts deleted file mode 100644 index 18d006c..0000000 --- a/chrome-extension/src/pages/app/functions/checkTraceId.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { OtelData, ITraceIdData } from '../../../types/types'; - - -export default function checkTraceId(prevTraceIdData:ITraceIdData, incomingSpanData: OtelData): ITraceIdData { - const newTraceIdData: ITraceIdData = new Map([...prevTraceIdData.entries()]); - - if(newTraceIdData.has(incomingSpanData.traceId)){ - const existingData = newTraceIdData.get(incomingSpanData.traceId); - existingData?.push(incomingSpanData); - }else{ - newTraceIdData.set(incomingSpanData.traceId,[incomingSpanData]); - } - return newTraceIdData; -} -// import {IMockData} from '../mockData'; - -// need to refactor to take async requests into account - -// export default function checkTraceId(arrOfDataObj: IMockData[]): IMockData[][]{ -// export default function checkTraceId(arrOfDataObj: OtelData[]): OtelData[][]{ -// let singleTrace = ''; // storing current traceId -// let singleTraceData: OtelData[] = []; // storing all spanId objects that share one traceId -// const output: OtelData[][] = []; - -// arrOfDataObj.map((obj, index) => { -// if(index === 0){ -// singleTrace = arrOfDataObj[0].traceId; -// } -// if(newTrace){ -// singleTraceData = []; -// newTrace = false; -// } -// singleTraceData.push(obj); - -// if(!arrOfDataObj[index+1]){ -// output.push(singleTraceData); -// }else if(arrOfDataObj[index + 1].traceId !== singleTrace){ -// singleTrace = arrOfDataObj[index + 1].traceId; -// newTrace = true; -// // console.log(singleTraceData) -// output.push(singleTraceData); -// } -// }) - -// // current sliced output is only due to complications in mockData -// return output.slice(0, 13); -// } \ No newline at end of file diff --git a/chrome-extension/src/pages/app/functions/createBarClassName.ts b/chrome-extension/src/pages/app/functions/createBarClassName.ts deleted file mode 100644 index 2406dcc..0000000 --- a/chrome-extension/src/pages/app/functions/createBarClassName.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { ITotalTimes } from "./getTraceInfo"; -import { calcTotalTime } from "./calcTotalTime"; - -export function createBarClassName(totalTimes: ITotalTimes, earliestTime: number, totalDuration: number): string{ - // position start time based on margin - // duration based on percentage of view width - // height is fixed - // for now color is fixed - console.log('current start:', totalTimes.start) - console.log('current end:', totalTimes.end) - console.log('current duration', totalTimes.duration) - console.log('total duration', totalDuration) - const marginLeft:number = ((totalTimes.start - earliestTime)/1000 )* 100; - const width:number = Math.floor((totalTimes.duration/1000)* 100); - - console.log({width}); - const outputClassName = `h-5 m-3 bg-green-400 w-[${width}vw]`; - const copiedStr:string = outputClassName; - return copiedStr; -} \ No newline at end of file diff --git a/chrome-extension/src/pages/app/functions/getTraceInfo.ts b/chrome-extension/src/pages/app/functions/getTraceInfo.ts deleted file mode 100644 index 53c5f2b..0000000 --- a/chrome-extension/src/pages/app/functions/getTraceInfo.ts +++ /dev/null @@ -1,152 +0,0 @@ -// check how long the total traceDuration is by mapping over in one array of objects that share one traceId, all times and checking which time is smallest and biggest then getting the difference -// return an object with traceDuration, traceStart, traceEnd -import { OtelData, IRelevantData } from "../../../types/types"; -// import { IMockData } from "../mockData"; -import { calcTotalTime } from "./calcTotalTime"; - -// export interface ITraceTimeInfo{ -// traceDuration: number, -// traceStart: number, -// traceEnd: number -// } - - - -export interface ITotalTimes{ - id: string, - duration: number, - start: number, - end: number -} - - - -// export function getTraceTimeInfo(singleTraceData: IMockData[]): ITotalTimes[]{ -export function getTraceTimeInfo(singleTraceData: OtelData[]): ITotalTimes[]{ - // return an array of totaltimes of each span in each singular trace - const totalTimesSingleTrace: ITotalTimes[] = []; - // while also keeping track of totals - - let traceStart!: number; - let traceEnd!: number; - - singleTraceData.map((spanData, index) => { - const spanDuration: number = calcTotalTime(spanData.startTime, spanData.endTime); - - const spanTotalTimes: ITotalTimes = { - id: spanData.spanId, - duration: spanDuration, - start: spanData.startTime, - end: spanData.endTime - } - - totalTimesSingleTrace.push(spanTotalTimes); - - if(index === 0){ - traceStart = spanData.startTime; - traceEnd = spanData.endTime; - }else{ - if(spanData.startTime < traceStart){ - traceStart = spanData.startTime; - } - if(spanData.endTime > traceEnd){ - traceEnd = spanData.endTime; - } - } - }) - - - const traceDuration:number = calcTotalTime(traceStart, traceEnd); - - const traceTotalTimes: ITotalTimes = { - id: singleTraceData[0].traceId, - duration: traceDuration, - start: traceStart, - end: traceEnd - } - - totalTimesSingleTrace.unshift(traceTotalTimes) - return totalTimesSingleTrace; -} - -export interface IAllTracesTimeInfo{ - allTracesTimeInfo: ITotalTimes[][], - earliestTime: number, - earliestTimeSpanId: string -} - -// function that creates each traceTimeInfo and pushes it into a bigger array -// export function getAllTracesTimeInfo(data: IMockData[][]): IAllTracesTimeInfo{ -// export function getAllTracesTimeInfo(data: OtelData[][]): IAllTracesTimeInfo{ -// const allTracesTimeInfo: ITotalTimes[][] = []; -// let earliestTime!: number; -// let earliestTimeSpanId!:string; - -// // data.map((singleTraceData: IMockData[], index: number) => { -// data.map((singleTraceData: OtelData[], index: number) => { - -// // if condition for testing purposes only -// if(index < 13){ -// const traceTimeInfo:ITotalTimes[] = getTraceTimeInfo(singleTraceData) // first elem of output gives aggregated data of total times in single trace -// allTracesTimeInfo.push(traceTimeInfo); -// if(index === 0){ -// earliestTime = traceTimeInfo[0].start; -// earliestTimeSpanId = traceTimeInfo[0].id -// } - -// if(traceTimeInfo[0].start < earliestTime){ -// earliestTime = traceTimeInfo[0].start; -// earliestTimeSpanId = traceTimeInfo[0].id; -// } -// } -// }) - -// const output = { -// allTracesTimeInfo, -// earliestTime, -// earliestTimeSpanId -// } - -// return output; -// } - -// export function getAllTracesTimeInfo(data: IRelevantData): IAllTracesTimeInfo{ -// const allSpansTimeInfo: ITotalTimes[] = []; -// let earliestTime!: number; -// let earliestTimeSpanId!:string; - -// //map over the array of span objects -// data.map((spanData: OtelData, index: number) => { -// // get the span duration time of each span -// const spanDuration: number = calcTotalTime(spanData.startTime, spanData.endTime); - -// // store it into an object -// const spanTotalTimes: ITotalTimes = { -// id: spanData.spanId, -// duration: spanDuration, -// start: spanData.startTime, -// end: spanData.endTime -// } -// //push span time object into the array of total spantimesinfo -// allSpansTimeInfo.push(spanTotalTimes); - -// // if there are no objects, set earliest time -// if(index === 0){ -// earliestTime = allSpansTimeInfo[0].start; -// earliestTimeSpanId = allSpansTimeInfo[0].id -// } -// if(allSpansTimeInfo[0].start < earliestTime){ -// earliestTime = spanTotalTimes[0].start; -// earliestTimeSpanId = spanTotalTimes[0].id; -// } -// }) - -// const output = { -// allSpansTimeInfo, -// earliestTime, -// earliestTimeSpanId -// } - -// return output; -// } - diff --git a/chrome-extension/src/pages/app/mockData.tsx b/chrome-extension/src/pages/app/mockData.tsx deleted file mode 100644 index 1c233e3..0000000 --- a/chrome-extension/src/pages/app/mockData.tsx +++ /dev/null @@ -1,2107 +0,0 @@ -export interface IMockData{ - traceId: string, - spanId: string, - name?: string - applicationType: string, - originatingService: string, - method: string, - status?: number, - protocol?: string, - startTime: number, - endTime: number, - size?: number, - type?: string, - urlEndpoint?: string - } - -export const updatedMockData: IMockData[] = [ { - traceId: 'c4ec8c6ee711b29abb41e3313bb2c2cf', - spanId: 'd032351f36d40d0f', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370496972, - endTime: 1686370497135 - }, - { - traceId: 'c4ec8c6ee711b29abb41e3313bb2c2cf', - spanId: '3ea172ed614cccb7', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/member', - status: 201, - startTime: 1686370496972, - endTime: 1686370497135 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: 'f5ad2fb2472970b4', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'PATCH', - name: '/api/renderCount', - status: 201, - protocol: '1.1', - startTime: 1686370496950, - endTime: 1686370497232 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: 'cab3319cba741293', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370496931, - endTime: 1686370497232 - }, - { - traceId: 'c4ec8c6ee711b29abb41e3313bb2c2cf', - spanId: 'd90a4347e6587342', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370496924, - endTime: 1686370497148 - }, - { - traceId: 'c4ec8c6ee711b29abb41e3313bb2c2cf', - spanId: 'e4fc6ac89e7c9a82', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370496924, - endTime: 1686370497148 - }, - { - traceId: 'c4ec8c6ee711b29abb41e3313bb2c2cf', - spanId: '9d6d28cb6eac8dae', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/member', - protocol: '1.1', - status: 201, - startTime: 1686370496924, - endTime: 1686370497183 - }, - { - traceId: 'c4ec8c6ee711b29abb41e3313bb2c2cf', - spanId: '4c1065d4044a65ef', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370496972, - endTime: 1686370497135 - }, - { - traceId: 'c4ec8c6ee711b29abb41e3313bb2c2cf', - spanId: '198090b9bfc29993', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370496971, - endTime: 1686370497134 - }, - { - traceId: 'c4ec8c6ee711b29abb41e3313bb2c2cf', - spanId: '2ae4e5da6fd64e6d', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/member', - protocol: '1.1', - status: 201, - startTime: 1686370496971, - endTime: 1686370497135 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: 'b45e5c0f73f88eba', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'PATCH', - name: 'fetch PATCH http://localhost:3000/api/renderCount', - startTime: 1686370496886, - endTime: 1686370497310 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: 'a2aaa978520ffb19', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'rendering page', - startTime: 1686370496995, - endTime: 1686370497201 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: '0726b26e7c0ac852', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.pipe', - startTime: 1686370496995, - endTime: 1686370497201 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: '278d095817ed912f', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.render', - startTime: 1686370496995, - endTime: 1686370497201 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: 'dff545fd9f128f61', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370496974, - endTime: 1686370497202 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: 'd137c651f0663108', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370496973, - endTime: 1686370497201 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: '8163213c4470ccc8', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370496927, - endTime: 1686370497232 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: '5c842096a546697a', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'PATCH', - name: '/api/renderCount', - status: 201, - startTime: 1686370496972, - endTime: 1686370497201 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: 'be3b8d7ba11fa192', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370496926, - endTime: 1686370497233 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: '535759d544cb6393', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370496972, - endTime: 1686370497201 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: 'd5c9b6d2d63c4ede', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370496926, - endTime: 1686370497233 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: '67a4e2c9de6002c8', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370496972, - endTime: 1686370497201 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: 'c2830c615a465ef4', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'PATCH', - name: '/api/renderCount', - size: 0, - protocol: '1.1', - status: 201, - startTime: 1686370496925, - endTime: 1686370497237 - }, - { - traceId: '5eb692495438875cd07cc1b56cf795d1', - spanId: 'de8fce2ddde0a98d', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'PATCH', - name: '/api/renderCount', - size: 0, - protocol: '1.1', - status: 201, - startTime: 1686370496972, - endTime: 1686370497202 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '0953469e21f80725', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370497342, - endTime: 1686370497342 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '73cf7119333f745e', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=237f1f0b59144f7366d95f96c73479faae3b4bd4281ba9c6143609306fbb3cf2&method=ensurePage&args=%5B%7B%22match%22%3A%7B%22definition%22%3A%7B%22kind%22%3A%22APP_ROUTE%22%2C%22pathname%22%3A%22%2Fapi%2FrenderCount%22%2C%22page%22%3A%22%2Fapi%2FrenderCount%2Froute%22%2C%22bundlePath%22%3A%22app%2Fapi%2FrenderCount%2Froute%22%2C%22filename%22%3A%22%2FUsers%2Fwilliam%2FDesktop%2Fnext-inspect-testing-app%2Fapp%2Fapi%2FrenderCount%2Froute.js%22%7D%7D%2C%22page%22%3A%22%2Fapi%2FrenderCount%2Froute%22%2C%22clientOnly%22%3Afalse%7D%5D', - protocol: '1.1', - status: 200, - startTime: 1686370497377, - endTime: 1686370497378 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: 'e612889aa394d60d', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=237f1f0b59144f7366d95f96c73479faae3b4bd4281ba9c6143609306fbb3cf2&method=ensurePage&args=%5B%7B%22match%22%3A%7B%22definition%22%3A%7B%22kind%22%3A%22APP_ROUTE%22%2C%22pathname%22%3A%22%2Fapi%2FrenderCount%22%2C%22page%22%3A%22%2Fapi%2FrenderCount%2Froute%22%2C%22bundlePath%22%3A%22app%2Fapi%2FrenderCount%2Froute%22%2C%22filename%22%3A%22%2FUsers%2Fwilliam%2FDesktop%2Fnext-inspect-testing-app%2Fapp%2Fapi%2FrenderCount%2Froute.js%22%7D%7D%2C%22page%22%3A%22%2Fapi%2FrenderCount%2Froute%22%2C%22clientOnly%22%3Afalse%7D%5D', - status: 200, - protocol: '1.1', - startTime: 1686370497365, - endTime: 1686370497377 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: 'd861d1313bdbf3a1', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=237f1f0b59144f7366d95f96c73479faae3b4bd4281ba9c6143609306fbb3cf2&method=ensurePage&args=%5B%7B%22match%22%3A%7B%22definition%22%3A%7B%22kind%22%3A%22APP_ROUTE%22%2C%22pathname%22%3A%22%2Fapi%2FrenderCount%22%2C%22page%22%3A%22%2Fapi%2FrenderCount%2Froute%22%2C%22bundlePath%22%3A%22app%2Fapi%2FrenderCount%2Froute%22%2C%22filename%22%3A%22%2FUsers%2Fwilliam%2FDesktop%2Fnext-inspect-testing-app%2Fapp%2Fapi%2FrenderCount%2Froute.js%22%7D%7D%2C%22page%22%3A%22%2Fapi%2FrenderCount%2Froute%22%2C%22clientOnly%22%3Afalse%7D%5D', - protocol: '1.1', - status: 200, - startTime: 1686370497392, - endTime: 1686370497392 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '4c01294c66d028e3', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=237f1f0b59144f7366d95f96c73479faae3b4bd4281ba9c6143609306fbb3cf2&method=ensurePage&args=%5B%7B%22match%22%3A%7B%22definition%22%3A%7B%22kind%22%3A%22APP_ROUTE%22%2C%22pathname%22%3A%22%2Fapi%2FrenderCount%22%2C%22page%22%3A%22%2Fapi%2FrenderCount%2Froute%22%2C%22bundlePath%22%3A%22app%2Fapi%2FrenderCount%2Froute%22%2C%22filename%22%3A%22%2FUsers%2Fwilliam%2FDesktop%2Fnext-inspect-testing-app%2Fapp%2Fapi%2FrenderCount%2Froute.js%22%7D%7D%2C%22page%22%3A%22%2Fapi%2FrenderCount%2Froute%22%2C%22clientOnly%22%3Afalse%7D%5D', - status: 200, - protocol: '1.1', - startTime: 1686370497381, - endTime: 1686370497393 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: 'ac0f6a9fe5491ae5', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=237f1f0b59144f7366d95f96c73479faae3b4bd4281ba9c6143609306fbb3cf2&method=getCompilationError&args=%5B%22%2Fapi%2FrenderCount%2Froute%22%5D', - protocol: '1.1', - status: 200, - startTime: 1686370497405, - endTime: 1686370497405 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '8569715f142ee5ef', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=237f1f0b59144f7366d95f96c73479faae3b4bd4281ba9c6143609306fbb3cf2&method=getCompilationError&args=%5B%22%2Fapi%2FrenderCount%2Froute%22%5D', - status: 200, - protocol: '1.1', - startTime: 1686370497393, - endTime: 1686370497406 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '33fb40a5c2cca128', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'LoadComponents.loadComponents', - startTime: 1686370497406, - endTime: 1686370497406 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '046fed2a6543f8ea', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'resolving page into components', - startTime: 1686370497406, - endTime: 1686370497407 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: 'bcf2ffefc9e7aab2', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'executing api route (app) /api/renderCount/route', - startTime: 1686370497408, - endTime: 1686370497435 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '592193502c214b0d', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.renderToResponseWithComponents', - startTime: 1686370497407, - endTime: 1686370497434 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: 'b102415c5b371c7f', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'rendering page', - startTime: 1686370497379, - endTime: 1686370497435 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: 'cad08886d597739b', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.pipe', - startTime: 1686370497379, - endTime: 1686370497435 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '5b65c23dd2e3fe54', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.render', - startTime: 1686370497379, - endTime: 1686370497435 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: 'e838ea9143184b82', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370497364, - endTime: 1686370497435 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: 'ca984b646a18e3bc', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370497364, - endTime: 1686370497435 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '06302b0b7ebc3ff4', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/renderCount', - status: 201, - startTime: 1686370497364, - endTime: 1686370497436 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '0118f1c182dfdd24', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370497364, - endTime: 1686370497436 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: 'f008918a1197ba05', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370497363, - endTime: 1686370497435 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: 'd60ce5f9e34868d8', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/renderCount', - protocol: '1.1', - status: 201, - startTime: 1686370497363, - endTime: 1686370497436 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '90b2939f6fae9ba3', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/renderCount', - status: 201, - protocol: '1.1', - startTime: 1686370497350, - endTime: 1686370497435 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '73ec5fd5593ea7c3', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: 'fetch GET http://localhost:3000/api/renderCount', - startTime: 1686370497311, - endTime: 1686370497441 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '718b94b22edb4afd', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370497343, - endTime: 1686370497436 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: 'fc7e0599ba20b637', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370497342, - endTime: 1686370497439 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '6d5855b75d903732', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370497341, - endTime: 1686370497438 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: '1f740a38a990338e', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370497341, - endTime: 1686370497439 - }, - { - traceId: '6805722af7c47a4d72e64fda71b0d1e9', - spanId: 'c41f85e4b961c104', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/renderCount', - protocol: '1.1', - status: 201, - startTime: 1686370497341, - endTime: 1686370497440 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: 'dc6e512e0b142d68', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'AppRender.renderToReadableStream', - startTime: 1686370496867, - endTime: 1686370497445 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '281be0a16377c61f', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'render route (app) /', - startTime: 1686370496865, - endTime: 1686370497446 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '3c57a2f844da8f88', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextNodeServer.renderHTML', - startTime: 1686370496865, - endTime: 1686370497446 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: 'fc9e8676bcdbef3d', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.renderToResponseWithComponents', - startTime: 1686370496766, - endTime: 1686370497447 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '4eedac14d35b17db', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'rendering page', - startTime: 1686370496731, - endTime: 1686370497447 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '43f5f86deb7f98c2', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'AppRender.renderToString', - startTime: 1686370497449, - endTime: 1686370497449 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: 'ced18b9efc49776c', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/', - status: 200, - protocol: '1.1', - startTime: 1686370496693, - endTime: 1686370497451 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '11346b7353477752', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'AppRender.renderToString', - startTime: 1686370497449, - endTime: 1686370497450 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '34a2e8fd704b66ca', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.pipe', - startTime: 1686370496731, - endTime: 1686370497451 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '6bbe721821c154a5', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.render', - startTime: 1686370496731, - endTime: 1686370497451 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: 'fd8518314e44f8ec', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370496708, - endTime: 1686370497451 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '2095067bc5d34d42', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370496707, - endTime: 1686370497451 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: 'bee63ade447dd3bf', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/', - status: 200, - startTime: 1686370496705, - endTime: 1686370497451 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '6ac92d85bb587b6d', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370496705, - endTime: 1686370497451 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: 'cf79a189677609f5', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370496705, - endTime: 1686370497451 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '851987a584e0f2cf', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370496671, - endTime: 1686370497452 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: 'f97bc1a9450cd41a', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370496649, - endTime: 1686370497451 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '9cc1f48bb11fddd2', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370496638, - endTime: 1686370497452 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '1db83e74c4acf2d8', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370496637, - endTime: 1686370497452 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '597d4a84528c2650', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/', - protocol: '1.1', - status: 200, - startTime: 1686370496705, - endTime: 1686370497451 - }, - { - traceId: '741c6c8fd6527df79294ba61b55ed5e3', - spanId: '6a349dc359b6aea1', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/', - protocol: '1.1', - status: 200, - startTime: 1686370496631, - endTime: 1686370497452 - }, - { - traceId: 'b0f28dbcfc382ea6034ea09f52ead15b', - spanId: '716d7e701fac0517', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/_next/static/css/app/layout.css?v=1686370496882', - protocol: '1.1', - status: 200, - startTime: 1686370497529, - endTime: 1686370497548 - }, - { - traceId: 'b0f28dbcfc382ea6034ea09f52ead15b', - spanId: 'f2f510a2563dbfee', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370497534, - endTime: 1686370497548 - }, - { - traceId: 'b0f28dbcfc382ea6034ea09f52ead15b', - spanId: 'f075259453faba13', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370497534, - endTime: 1686370497549 - }, - { - traceId: 'b0f28dbcfc382ea6034ea09f52ead15b', - spanId: 'f2b537ee8f71ded5', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370497529, - endTime: 1686370497549 - }, - { - traceId: 'b0f28dbcfc382ea6034ea09f52ead15b', - spanId: '12df0686174318ae', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370497529, - endTime: 1686370497549 - }, - { - traceId: 'c289904ce988785c9bd2ef617aeb6e11', - spanId: 'e1f7de8a050e0965', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/_next/static/chunks/webpack.js', - protocol: '1.1', - status: 200, - startTime: 1686370497569, - endTime: 1686370497572 - }, - { - traceId: 'c289904ce988785c9bd2ef617aeb6e11', - spanId: 'd5caba52256ab467', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370497569, - endTime: 1686370497573 - }, - { - traceId: 'c289904ce988785c9bd2ef617aeb6e11', - spanId: '3fc769abc377099a', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370497569, - endTime: 1686370497573 - }, - { - traceId: 'c289904ce988785c9bd2ef617aeb6e11', - spanId: 'b63fc359d7769d48', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370497569, - endTime: 1686370497574 - }, - { - traceId: 'c289904ce988785c9bd2ef617aeb6e11', - spanId: 'dfc2b27dc57a28c0', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370497569, - endTime: 1686370497574 - }, - { - traceId: '467b51e3f8912c2e96dba05004d4fed5', - spanId: '1e6586fea9b526c1', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/_next/static/chunks/main-app.js', - protocol: '1.1', - status: 200, - startTime: 1686370497569, - endTime: 1686370497812 - }, - { - traceId: '467b51e3f8912c2e96dba05004d4fed5', - spanId: 'd3906aba5452b2d2', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370497569, - endTime: 1686370497812 - }, - { - traceId: '467b51e3f8912c2e96dba05004d4fed5', - spanId: '602dd321eeeca957', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370497569, - endTime: 1686370497813 - }, - { - traceId: '467b51e3f8912c2e96dba05004d4fed5', - spanId: 'dbe828cd31f57056', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370497569, - endTime: 1686370497814 - }, - { - traceId: '467b51e3f8912c2e96dba05004d4fed5', - spanId: '7c58afdcc1525173', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370497569, - endTime: 1686370497815 - }, - { - traceId: '83e83e7fe3e14a7a123a0ae4a6eb10ae', - spanId: 'e122d2cd5d5c61d0', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/_next/static/chunks/app/layout.js', - protocol: '1.1', - status: 200, - startTime: 1686370497975, - endTime: 1686370497983 - }, - { - traceId: '83e83e7fe3e14a7a123a0ae4a6eb10ae', - spanId: '0847f3f0c2f66809', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370497976, - endTime: 1686370497983 - }, - { - traceId: '83e83e7fe3e14a7a123a0ae4a6eb10ae', - spanId: '3e120fb3ce6f5579', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370497976, - endTime: 1686370497984 - }, - { - traceId: '83e83e7fe3e14a7a123a0ae4a6eb10ae', - spanId: 'ab3615814cb146ac', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370497975, - endTime: 1686370497984 - }, - { - traceId: '83e83e7fe3e14a7a123a0ae4a6eb10ae', - spanId: 'da3a46ddb1eb459a', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370497975, - endTime: 1686370497984 - }, - { - traceId: '189fc8d3df7967abf0ad7e6e6c169687', - spanId: '635d2b53127dab67', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/_next/static/chunks/app-client-internals.js', - protocol: '1.1', - status: 200, - startTime: 1686370497977, - endTime: 1686370497990 - }, - { - traceId: '189fc8d3df7967abf0ad7e6e6c169687', - spanId: '4b2b0fe86cbfda69', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370497977, - endTime: 1686370497990 - }, - { - traceId: '189fc8d3df7967abf0ad7e6e6c169687', - spanId: 'ac3d774a137b0f84', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370497977, - endTime: 1686370497990 - }, - { - traceId: '189fc8d3df7967abf0ad7e6e6c169687', - spanId: '7474f0917d20fa9a', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370497977, - endTime: 1686370497992 - }, - { - traceId: '189fc8d3df7967abf0ad7e6e6c169687', - spanId: '7882b5c8444b32a1', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370497977, - endTime: 1686370497993 - }, - { - traceId: 'd623820a35bd22f6eb586e1184f978b4', - spanId: 'c8ca4219d35e7fb4', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/renderCount', - status: 201, - startTime: 1686370654990, - endTime: 1686370655222 - }, - { - traceId: 'd623820a35bd22f6eb586e1184f978b4', - spanId: '058f125ac1f7c1ce', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370654990, - endTime: 1686370655223 - }, - { - traceId: 'd623820a35bd22f6eb586e1184f978b4', - spanId: '0bcdab4a232e9d06', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370654990, - endTime: 1686370655223 - }, - { - traceId: 'd623820a35bd22f6eb586e1184f978b4', - spanId: '055e74c6abf26ae3', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/renderCount', - protocol: '1.1', - status: 201, - startTime: 1686370654990, - endTime: 1686370655223 - }, - { - traceId: 'd623820a35bd22f6eb586e1184f978b4', - spanId: '3956addedc299e42', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/renderCount', - status: 201, - protocol: '1.1', - startTime: 1686370654969, - endTime: 1686370655225 - }, - { - traceId: 'd623820a35bd22f6eb586e1184f978b4', - spanId: '009e52d383aa55f4', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370654909, - endTime: 1686370655226 - }, - { - traceId: 'd623820a35bd22f6eb586e1184f978b4', - spanId: '087a6bea4118825c', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370654907, - endTime: 1686370655227 - }, - { - traceId: 'd623820a35bd22f6eb586e1184f978b4', - spanId: '9a0fb85d673c673c', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370654905, - endTime: 1686370655226 - }, - { - traceId: 'd623820a35bd22f6eb586e1184f978b4', - spanId: 'd7fdbf7063058060', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370654905, - endTime: 1686370655227 - }, - { - traceId: 'd623820a35bd22f6eb586e1184f978b4', - spanId: '4be9b8da98830593', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/renderCount', - protocol: '1.1', - status: 201, - startTime: 1686370654905, - endTime: 1686370655228 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: '209e3d8bac7f88a9', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/ramen/64791f884e52c2c903b866f0', - protocol: '1.1', - status: 201, - startTime: 1686370654905, - endTime: 1686370655230 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: 'd58bdaa11d71a786', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'executing api route (app) /api/ramen/[id]/route', - startTime: 1686370655198, - endTime: 1686370655227 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: '8ebd4b930bb87a6a', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.renderToResponseWithComponents', - startTime: 1686370655161, - endTime: 1686370655228 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: '4ed395601d19c588', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'rendering page', - startTime: 1686370655025, - endTime: 1686370655229 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: '691dcd3b9793c137', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.pipe', - startTime: 1686370655025, - endTime: 1686370655229 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: '91c2b8ec653c1ad5', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.render', - startTime: 1686370655025, - endTime: 1686370655229 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: 'b9568dfadf5785eb', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370654989, - endTime: 1686370655229 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: 'd7f2c46e9389e0ee', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370654988, - endTime: 1686370655229 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: 'd3a0f3cc332224ff', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/ramen/64791f884e52c2c903b866f0', - status: 201, - startTime: 1686370654988, - endTime: 1686370655231 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: 'aab420449f670bfc', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370654987, - endTime: 1686370655230 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: '4304c158cbc9e482', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370654987, - endTime: 1686370655231 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: '4f3e932f8dddbe3b', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/ramen/64791f884e52c2c903b866f0', - protocol: '1.1', - status: 201, - startTime: 1686370654987, - endTime: 1686370655232 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: '07a51483df1bde81', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: 'fetch GET http://localhost:3000/api/renderCount', - startTime: 1686370654782, - endTime: 1686370655234 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: 'ff5f6d700a01ee12', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.pipe', - startTime: 1686370653977, - endTime: 1686370655248 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: 'bb3c4b42fc4a3727', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.render', - startTime: 1686370653977, - endTime: 1686370655249 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: 'e4ca6ba10dd7fb83', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370653939, - endTime: 1686370655249 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: '1c827fed28bdc1d0', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370653937, - endTime: 1686370655250 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: '367ba933dc48b7a6', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/', - status: 200, - startTime: 1686370653932, - endTime: 1686370655250 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: '96fc8bb73969a12b', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370653932, - endTime: 1686370655251 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: '7771e7bd3a31c2ab', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370653932, - endTime: 1686370655252 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: 'b135ffe9189b620c', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/', - protocol: '1.1', - status: 200, - startTime: 1686370653932, - endTime: 1686370655253 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: '1216ef2fc4193ba6', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/ramen/64791f884e52c2c903b866f0', - status: 201, - protocol: '1.1', - startTime: 1686370654939, - endTime: 1686370655228 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: '16e23ea28a0c6377', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/', - status: 200, - protocol: '1.1', - startTime: 1686370653905, - endTime: 1686370655257 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: '5a11ec80236fd3bc', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370653542, - endTime: 1686370655258 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: '82856dd9bd006e54', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370653531, - endTime: 1686370655257 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: '7bfc286f15f35159', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370653529, - endTime: 1686370655258 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: '8e8d6f00c2b2346b', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370653528, - endTime: 1686370655258 - }, - { - traceId: '4ecdf5702c73b925770c0a2b79bc0e45', - spanId: '06b55d53f024dea3', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/', - protocol: '1.1', - status: 200, - startTime: 1686370653527, - endTime: 1686370655259 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: '80e4280705531a0c', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370654929, - endTime: 1686370655229 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: '7202f62c0f64d46d', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370654905, - endTime: 1686370655229 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: '2fb57e1b4bc4cb98', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370654905, - endTime: 1686370655229 - }, - { - traceId: '32c7917ca2f3c8783d0ed95a4ad367aa', - spanId: '8a041bfba84bfed1', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370654905, - endTime: 1686370655229 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '171dffc2c5cc7d9f', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370655326, - endTime: 1686370655326 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: 'efea3e6dcee48dc2', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=7638160cbc94c368072e67d0cdfc15f999ac88325855513d08e249cd9da0e832&method=ensurePage&args=%5B%7B%22match%22%3A%7B%22definition%22%3A%7B%22kind%22%3A%22APP_ROUTE%22%2C%22pathname%22%3A%22%2Fapi%2Framen%22%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22bundlePath%22%3A%22app%2Fapi%2Framen%2Froute%22%2C%22filename%22%3A%22%2FUsers%2Fwilliam%2FDesktop%2Fnext-inspect-testing-app%2Fapp%2Fapi%2Framen%2Froute.js%22%7D%7D%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22clientOnly%22%3Afalse%7D%5D', - protocol: '1.1', - status: 200, - startTime: 1686370655379, - endTime: 1686370655380 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '67ad10923800e175', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=7638160cbc94c368072e67d0cdfc15f999ac88325855513d08e249cd9da0e832&method=ensurePage&args=%5B%7B%22match%22%3A%7B%22definition%22%3A%7B%22kind%22%3A%22APP_ROUTE%22%2C%22pathname%22%3A%22%2Fapi%2Framen%22%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22bundlePath%22%3A%22app%2Fapi%2Framen%2Froute%22%2C%22filename%22%3A%22%2FUsers%2Fwilliam%2FDesktop%2Fnext-inspect-testing-app%2Fapp%2Fapi%2Framen%2Froute.js%22%7D%7D%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22clientOnly%22%3Afalse%7D%5D', - status: 200, - protocol: '1.1', - startTime: 1686370655363, - endTime: 1686370655382 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '7bfa92aef2301c75', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=7638160cbc94c368072e67d0cdfc15f999ac88325855513d08e249cd9da0e832&method=ensurePage&args=%5B%7B%22match%22%3A%7B%22definition%22%3A%7B%22kind%22%3A%22APP_ROUTE%22%2C%22pathname%22%3A%22%2Fapi%2Framen%22%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22bundlePath%22%3A%22app%2Fapi%2Framen%2Froute%22%2C%22filename%22%3A%22%2FUsers%2Fwilliam%2FDesktop%2Fnext-inspect-testing-app%2Fapp%2Fapi%2Framen%2Froute.js%22%7D%7D%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22clientOnly%22%3Afalse%7D%5D', - status: 200, - protocol: '1.1', - startTime: 1686370655389, - endTime: 1686370655402 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: 'd4898febe23e85f0', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=7638160cbc94c368072e67d0cdfc15f999ac88325855513d08e249cd9da0e832&method=ensurePage&args=%5B%7B%22match%22%3A%7B%22definition%22%3A%7B%22kind%22%3A%22APP_ROUTE%22%2C%22pathname%22%3A%22%2Fapi%2Framen%22%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22bundlePath%22%3A%22app%2Fapi%2Framen%2Froute%22%2C%22filename%22%3A%22%2FUsers%2Fwilliam%2FDesktop%2Fnext-inspect-testing-app%2Fapp%2Fapi%2Framen%2Froute.js%22%7D%7D%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22clientOnly%22%3Afalse%7D%5D', - protocol: '1.1', - status: 200, - startTime: 1686370655401, - endTime: 1686370655402 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: 'd57df9c7338c5209', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=7638160cbc94c368072e67d0cdfc15f999ac88325855513d08e249cd9da0e832&method=getCompilationError&args=%5B%22%2Fapi%2Framen%2Froute%22%5D', - protocol: '1.1', - status: 200, - startTime: 1686370655412, - endTime: 1686370655412 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: 'debedaaec04859d9', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=7638160cbc94c368072e67d0cdfc15f999ac88325855513d08e249cd9da0e832&method=getCompilationError&args=%5B%22%2Fapi%2Framen%2Froute%22%5D', - status: 200, - protocol: '1.1', - startTime: 1686370655403, - endTime: 1686370655412 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '5e0a9fd9bfbc9f4e', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'LoadComponents.loadComponents', - startTime: 1686370655414, - endTime: 1686370655422 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: 'f43811d546b806e5', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'resolving page into components', - startTime: 1686370655413, - endTime: 1686370655421 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '2c945b50b437e102', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'executing api route (app) /api/ramen/route', - startTime: 1686370655448, - endTime: 1686370655488 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '9d0ce0f919f9da76', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.renderToResponseWithComponents', - startTime: 1686370655423, - endTime: 1686370655491 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '9fe07dfab32282dd', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'rendering page', - startTime: 1686370655387, - endTime: 1686370655491 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '20886c7b42159059', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.pipe', - startTime: 1686370655387, - endTime: 1686370655491 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '5365b4194e2f2a4a', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.render', - startTime: 1686370655387, - endTime: 1686370655491 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: 'cbde0eb0e50d1425', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370655358, - endTime: 1686370655492 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: 'af92e8933c15c522', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370655355, - endTime: 1686370655492 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: 'e4c2ad8e02c6650c', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/ramen', - status: 201, - startTime: 1686370655353, - endTime: 1686370655492 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '439fc9266069dd4c', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370655353, - endTime: 1686370655492 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '5543a7ee85e936ea', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370655353, - endTime: 1686370655493 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '7beb3b664556ee47', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/ramen', - protocol: '1.1', - status: 201, - startTime: 1686370655351, - endTime: 1686370655493 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '1943cd3cc001391b', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/ramen', - status: 201, - protocol: '1.1', - startTime: 1686370655337, - endTime: 1686370655493 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: 'd3deb00254a34085', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370655327, - endTime: 1686370655494 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: 'eb3616211d22a47f', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370655324, - endTime: 1686370655494 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '3232be28c9cb60ba', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370655320, - endTime: 1686370655494 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: '80bb77a1a6d1971a', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370655320, - endTime: 1686370655494 - }, - { - traceId: '01fd0d0bc7f87315fb093c7aab543f2f', - spanId: 'c89c73ed4c95ba20', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/ramen', - protocol: '1.1', - status: 201, - startTime: 1686370655319, - endTime: 1686370655495 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: 'ff2b65505d4958c6', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370655541, - endTime: 1686370655557 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: 'e989e6734ee2ec15', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=7638160cbc94c368072e67d0cdfc15f999ac88325855513d08e249cd9da0e832&method=ensurePage&args=%5B%7B%22match%22%3A%7B%22definition%22%3A%7B%22kind%22%3A%22APP_ROUTE%22%2C%22pathname%22%3A%22%2Fapi%2Framen%22%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22bundlePath%22%3A%22app%2Fapi%2Framen%2Froute%22%2C%22filename%22%3A%22%2FUsers%2Fwilliam%2FDesktop%2Fnext-inspect-testing-app%2Fapp%2Fapi%2Framen%2Froute.js%22%7D%7D%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22clientOnly%22%3Afalse%7D%5D', - protocol: '1.1', - status: 200, - startTime: 1686370655640, - endTime: 1686370655641 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '45657fc5c232d602', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=7638160cbc94c368072e67d0cdfc15f999ac88325855513d08e249cd9da0e832&method=ensurePage&args=%5B%7B%22match%22%3A%7B%22definition%22%3A%7B%22kind%22%3A%22APP_ROUTE%22%2C%22pathname%22%3A%22%2Fapi%2Framen%22%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22bundlePath%22%3A%22app%2Fapi%2Framen%2Froute%22%2C%22filename%22%3A%22%2FUsers%2Fwilliam%2FDesktop%2Fnext-inspect-testing-app%2Fapp%2Fapi%2Framen%2Froute.js%22%7D%7D%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22clientOnly%22%3Afalse%7D%5D', - status: 200, - protocol: '1.1', - startTime: 1686370655621, - endTime: 1686370655642 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '3a8f193b219634ab', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=7638160cbc94c368072e67d0cdfc15f999ac88325855513d08e249cd9da0e832&method=ensurePage&args=%5B%7B%22match%22%3A%7B%22definition%22%3A%7B%22kind%22%3A%22APP_ROUTE%22%2C%22pathname%22%3A%22%2Fapi%2Framen%22%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22bundlePath%22%3A%22app%2Fapi%2Framen%2Froute%22%2C%22filename%22%3A%22%2FUsers%2Fwilliam%2FDesktop%2Fnext-inspect-testing-app%2Fapp%2Fapi%2Framen%2Froute.js%22%7D%7D%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22clientOnly%22%3Afalse%7D%5D', - protocol: '1.1', - status: 200, - startTime: 1686370655661, - endTime: 1686370655662 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '9b37b5b08e44d7ff', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=7638160cbc94c368072e67d0cdfc15f999ac88325855513d08e249cd9da0e832&method=ensurePage&args=%5B%7B%22match%22%3A%7B%22definition%22%3A%7B%22kind%22%3A%22APP_ROUTE%22%2C%22pathname%22%3A%22%2Fapi%2Framen%22%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22bundlePath%22%3A%22app%2Fapi%2Framen%2Froute%22%2C%22filename%22%3A%22%2FUsers%2Fwilliam%2FDesktop%2Fnext-inspect-testing-app%2Fapp%2Fapi%2Framen%2Froute.js%22%7D%7D%2C%22page%22%3A%22%2Fapi%2Framen%2Froute%22%2C%22clientOnly%22%3Afalse%7D%5D', - status: 200, - protocol: '1.1', - startTime: 1686370655646, - endTime: 1686370655663 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '61bbd8f54e30601c', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=7638160cbc94c368072e67d0cdfc15f999ac88325855513d08e249cd9da0e832&method=getCompilationError&args=%5B%22%2Fapi%2Framen%2Froute%22%5D', - protocol: '1.1', - status: 200, - startTime: 1686370655680, - endTime: 1686370655680 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '00f39e2bdf5472a3', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/?key=7638160cbc94c368072e67d0cdfc15f999ac88325855513d08e249cd9da0e832&method=getCompilationError&args=%5B%22%2Fapi%2Framen%2Froute%22%5D', - status: 200, - protocol: '1.1', - startTime: 1686370655665, - endTime: 1686370655679 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '637868ab7e0b4936', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'LoadComponents.loadComponents', - startTime: 1686370655681, - endTime: 1686370655683 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: 'b0c45cde864397d3', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'resolving page into components', - startTime: 1686370655681, - endTime: 1686370655684 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: 'ba236077dac26d08', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'executing api route (app) /api/ramen/route', - startTime: 1686370655686, - endTime: 1686370655712 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '654534f0e48057ff', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.renderToResponseWithComponents', - startTime: 1686370655684, - endTime: 1686370655713 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: 'a9af17d2eaf50072', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'rendering page', - startTime: 1686370655644, - endTime: 1686370655713 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '3ab1a78b7a5a90ef', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.pipe', - startTime: 1686370655644, - endTime: 1686370655713 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: 'c855389e370e467a', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.render', - startTime: 1686370655644, - endTime: 1686370655714 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '21d17b458625b700', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370655620, - endTime: 1686370655714 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: 'a49fc4b127fe6281', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370655617, - endTime: 1686370655714 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '3fc3ddf7c3bdbd3f', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/ramen', - status: 201, - startTime: 1686370655617, - endTime: 1686370655714 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: 'a7876d3e638e493e', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370655617, - endTime: 1686370655715 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '63c6fed95b74c5ca', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370655617, - endTime: 1686370655715 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: 'd2b69894dd84b576', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/ramen', - protocol: '1.1', - status: 201, - startTime: 1686370655616, - endTime: 1686370655715 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '7de20b4dad9eb5af', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/ramen', - status: 201, - protocol: '1.1', - startTime: 1686370655599, - endTime: 1686370655715 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: 'dc997efd07f5e90c', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'Router.executeRoute', - startTime: 1686370655559, - endTime: 1686370655716 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '966a7934c124a9cf', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'BaseServer.run', - startTime: 1686370655541, - endTime: 1686370655716 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: 'bcf92ca9b0985381', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getServerRequestHandler', - startTime: 1686370655539, - endTime: 1686370655716 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '249958fbcc97e26f', - applicationType: 'next.js', - originatingService: 'next-app', - method: '', - name: 'NextServer.getRequestHandler', - startTime: 1686370655539, - endTime: 1686370655717 - }, - { - traceId: '6141dcf86680369786d28502dfe7527f', - spanId: '5149e16f4c3b765d', - applicationType: 'next.js', - originatingService: 'next-app', - method: 'GET', - name: '/api/ramen', - protocol: '1.1', - status: 201, - startTime: 1686370655537, - endTime: 1686370655717 - }, - // { - // traceId: 'c3915245672b2a5a3501db23f6c4cd49', - // spanId: '9d3e1cb811768839', - // applicationType: 'node.js', - // originatingService: 'items-service', - // method: 'HTTP GET', - // status: 200, - // protocol: '1.1', - // size: 38, - // urlEndpoint: 'http://localhost:8090/user', - // startTime: 1686105694647, - // endTime: 1686105694990 - // }, - // { - // traceId: 'c3915245672b2a5a3501db23f6c4cd49', - // spanId: '935c7ee5734436fb', - // applicationType: 'node.js', - // originatingService: 'users-services', - // method: 'HTTPS GET', - // status: 200, - // protocol: '1.1', - // size: 156, - // urlEndpoint: 'https://mocki.io/v1/d4867d8b-b5d5-4a48-a4ab-79131b5809b8', - // startTime: 1686105694680, - // endTime: 1686105694975 - // }, - // { - // traceId: 'c3915245672b2a5a3501db23f6c4cd49', - // spanId: '14ae32e64ce3b480', - // applicationType: 'node.js', - // originatingService: 'users-services', - // method: 'HTTP GET', - // status: 200, - // protocol: '1.1', - // urlEndpoint: 'http://localhost:8090/user', - // startTime: 1686105694664, - // endTime: 1686105694987 - // }, - // { - // traceId: 'c3915245672b2a5a3501db23f6c4cd49', - // spanId: '7c4422489da2db5a', - // applicationType: 'node.js', - // originatingService: 'users-services', - // method: 'GET /user', - // type: 'application/json', - // startTime: 1686105694666, - // endTime: 1686105694990 - // }, - // { - // traceId: 'c3915245672b2a5a3501db23f6c4cd49', - // spanId: '51b1a7249084786f', - // applicationType: 'node.js', - // originatingService: 'items-service', - // method: 'GET /data', - // type: 'text/html', - // startTime: 1686105694628, - // endTime: 1686105695000 - // }, - // { - // traceId: 'c3915245672b2a5a3501db23f6c4cd49', - // spanId: '68bbbd1189a0da58', - // applicationType: 'node.js', - // originatingService: 'items-service', - // method: 'HTTP GET', - // status: 304, - // protocol: '1.1', - // urlEndpoint: 'http://localhost:8080/data', - // startTime: 1686105694622, - // endTime: 1686105694998 - // } -] - \ No newline at end of file diff --git a/chrome-extension/src/types/types.ts b/chrome-extension/src/types/types.ts index f055aeb..341dbbd 100644 --- a/chrome-extension/src/types/types.ts +++ b/chrome-extension/src/types/types.ts @@ -1,6 +1,6 @@ import { Dispatch, SetStateAction } from 'react'; -export interface OtelData { +export interface IOtelData { traceId: string, spanId: string, applicationType: string, @@ -16,28 +16,14 @@ export interface OtelData { name: string } -export type IChromeApiNetworkObject = { - method?: string, - protocol?: string, - size?: number, - status?: number, - startTime?: number, - time?: number, - urlEndpoint?: string, - type?: string | null, - initiator?: string | null, -} - -export type IRelevant = Map; -// key includes method, name, and traceId as a string - +export type IRelevantData = Map; -export type ISetRelevantState= Dispatch>; +export type ISetRelevantData= Dispatch>; export type ILengthsOfChartBars = number[][]; -export interface IUpdatedData { +export interface IAggregatedSortedData { traceId: string, applicationType: string, originatingService: string, From a8a39ce4de45aeb4bbaba0d190c5342bb2a6aa3b Mon Sep 17 00:00:00 2001 From: li-lucia <106473996+li-lucia@users.noreply.github.com> Date: Tue, 11 Jul 2023 22:02:32 -0400 Subject: [PATCH 18/18] updated file imports and deleted unused code in panel and devtools --- .../dist/assets/devtools-11f8aa67.js | 1 + .../dist/assets/devtools-1aa0f94a.js | 1 - .../dist/src/pages/devtools/index.html | 3 +- .../src/pages/app/components/ClearState.tsx | 4 +-- .../src/pages/app/components/NetworkTable.tsx | 4 +-- .../src/pages/app/components/TableRow.tsx | 4 +-- .../pages/app/components/WaterfallGraph.tsx | 7 ++--- .../src/pages/app/functions/chartJSData.ts | 6 ++-- .../src/pages/devtools/index.html | 1 - chrome-extension/src/pages/devtools/index.ts | 29 ------------------- chrome-extension/src/pages/panel/index.tsx | 4 --- chrome-extension/src/types/types.ts | 1 - 12 files changed, 13 insertions(+), 52 deletions(-) create mode 100644 chrome-extension/dist/assets/devtools-11f8aa67.js delete mode 100644 chrome-extension/dist/assets/devtools-1aa0f94a.js diff --git a/chrome-extension/dist/assets/devtools-11f8aa67.js b/chrome-extension/dist/assets/devtools-11f8aa67.js new file mode 100644 index 0000000..a366985 --- /dev/null +++ b/chrome-extension/dist/assets/devtools-11f8aa67.js @@ -0,0 +1 @@ +import"./modulepreload-polyfill-3cfb730f.js";try{chrome.devtools.panels.create("NextInspect","icon.png","src/pages/panel/index.html")}catch(e){console.log(e)} diff --git a/chrome-extension/dist/assets/devtools-1aa0f94a.js b/chrome-extension/dist/assets/devtools-1aa0f94a.js deleted file mode 100644 index e837666..0000000 --- a/chrome-extension/dist/assets/devtools-1aa0f94a.js +++ /dev/null @@ -1 +0,0 @@ -import"./modulepreload-polyfill-3cfb730f.js";function o(e){return new Date(e).getTime()}try{chrome.devtools.panels.create("NextInspect","icon.png","src/pages/panel/index.html"),chrome.devtools.network.onRequestFinished.addListener(function(e){const t={};e.request.httpVersion!=="chrome-extension"&&(t.method=e.request.method,t.protocol=e.request.httpVersion,t.size=e.response.bodySize,t.status=e.response.status,t.startTime=o(e.startedDateTime),t.time=e.time,t.urlEndpoint=e.request.url,t.type=e._resourceType,t.initiator=e._initiator,chrome.runtime.sendMessage(t))})}catch(e){console.log(e)} diff --git a/chrome-extension/dist/src/pages/devtools/index.html b/chrome-extension/dist/src/pages/devtools/index.html index 4176f60..4d470d7 100644 --- a/chrome-extension/dist/src/pages/devtools/index.html +++ b/chrome-extension/dist/src/pages/devtools/index.html @@ -2,11 +2,10 @@ - + -

hello from index

diff --git a/chrome-extension/src/pages/app/components/ClearState.tsx b/chrome-extension/src/pages/app/components/ClearState.tsx index beb75ae..1e18fcf 100644 --- a/chrome-extension/src/pages/app/components/ClearState.tsx +++ b/chrome-extension/src/pages/app/components/ClearState.tsx @@ -1,7 +1,7 @@ -import { ISetRelevantState } from "../../../types/types"; +import { ISetRelevantData } from "../../../types/types"; interface ClearStateProps { - setRelevant: ISetRelevantState; + setRelevant: ISetRelevantData; } const ClearState = ({setRelevant} : ClearStateProps) => { diff --git a/chrome-extension/src/pages/app/components/NetworkTable.tsx b/chrome-extension/src/pages/app/components/NetworkTable.tsx index 350b4a3..1458d46 100644 --- a/chrome-extension/src/pages/app/components/NetworkTable.tsx +++ b/chrome-extension/src/pages/app/components/NetworkTable.tsx @@ -1,9 +1,9 @@ import TableRow from './TableRow'; -import { IRelevant } from '../../../types/types'; +import { IRelevantData } from '../../../types/types'; interface NetworkTableProps { - data: IRelevant; + data: IRelevantData; } const NetworkTable = ({data} : NetworkTableProps) => { diff --git a/chrome-extension/src/pages/app/components/TableRow.tsx b/chrome-extension/src/pages/app/components/TableRow.tsx index 4381b8d..f5c475b 100644 --- a/chrome-extension/src/pages/app/components/TableRow.tsx +++ b/chrome-extension/src/pages/app/components/TableRow.tsx @@ -1,8 +1,8 @@ -import { IUpdatedData } from '../../../types/types'; +import { IAggregatedSortedData } from '../../../types/types'; interface TableRowProps { - data: IUpdatedData; + data: IAggregatedSortedData; } const TableRow = ({data} : TableRowProps) => { diff --git a/chrome-extension/src/pages/app/components/WaterfallGraph.tsx b/chrome-extension/src/pages/app/components/WaterfallGraph.tsx index db26945..1f68838 100644 --- a/chrome-extension/src/pages/app/components/WaterfallGraph.tsx +++ b/chrome-extension/src/pages/app/components/WaterfallGraph.tsx @@ -10,12 +10,12 @@ import { Legend, } from 'chart.js'; import { Bar } from 'react-chartjs-2'; -import { ILengthsOfChartBars, IRelevant } from "../../../types/types"; +import { ILengthsOfChartBars, IRelevantData } from "../../../types/types"; interface WaterfallChartProps { - data: IRelevant; + data: IRelevantData; } @@ -65,9 +65,6 @@ const options = { const WaterfallChart = ({data} : WaterfallChartProps) => { - - // const tracesTimeInfo: IAllTracesTimeInfo = getAllTracesTimeInfo(data); - const labels: string[]= getChartJSLabels(data); const chartJSData: ILengthsOfChartBars = getChartJSData(data); diff --git a/chrome-extension/src/pages/app/functions/chartJSData.ts b/chrome-extension/src/pages/app/functions/chartJSData.ts index 30bd9c3..37fbad2 100644 --- a/chrome-extension/src/pages/app/functions/chartJSData.ts +++ b/chrome-extension/src/pages/app/functions/chartJSData.ts @@ -1,6 +1,6 @@ -import { ILengthsOfChartBars, IRelevant } from "../../../types/types"; +import { ILengthsOfChartBars, IRelevantData } from "../../../types/types"; -export function getChartJSData(allRequestData: IRelevant): ILengthsOfChartBars{ +export function getChartJSData(allRequestData: IRelevantData): ILengthsOfChartBars{ const output: ILengthsOfChartBars= []; allRequestData.forEach((request) => { @@ -11,7 +11,7 @@ export function getChartJSData(allRequestData: IRelevant): ILengthsOfChartBars{ return output; } -export function getChartJSLabels(allRequestData: IRelevant):string[]{ +export function getChartJSLabels(allRequestData: IRelevantData):string[]{ const labelsArr:string[] = []; allRequestData.forEach((request) => { labelsArr.push(request.name); diff --git a/chrome-extension/src/pages/devtools/index.html b/chrome-extension/src/pages/devtools/index.html index 0151772..df6e9f4 100644 --- a/chrome-extension/src/pages/devtools/index.html +++ b/chrome-extension/src/pages/devtools/index.html @@ -5,6 +5,5 @@ -

hello from index

diff --git a/chrome-extension/src/pages/devtools/index.ts b/chrome-extension/src/pages/devtools/index.ts index 4bb6b75..bd0e076 100644 --- a/chrome-extension/src/pages/devtools/index.ts +++ b/chrome-extension/src/pages/devtools/index.ts @@ -1,11 +1,3 @@ -import { IChromeApiNetworkObject } from "../../types/types"; - -function convertToEpoch(dateString: string):number { - const date = new Date(dateString); - const epochTime = date.getTime(); - return epochTime; -} - try { chrome.devtools.panels.create( 'NextInspect', @@ -13,27 +5,6 @@ try { 'src/pages/panel/index.html' ); - //panel.onShown - - - chrome.devtools.network.onRequestFinished.addListener( - function(request) { - const networkObject: IChromeApiNetworkObject = {}; - if (request.request.httpVersion === 'chrome-extension') return; - // console.log(request); - networkObject.method = request.request.method; - networkObject.protocol = request.request.httpVersion; - networkObject.size = request.response.bodySize; - networkObject.status = request.response.status; - networkObject.startTime = convertToEpoch(request.startedDateTime); - networkObject.time = request.time; - networkObject.urlEndpoint = request.request.url; - networkObject.type = request._resourceType as string;; - networkObject.initiator = request._initiator; - chrome.runtime.sendMessage(networkObject); - } - ) - } catch (error) { console.log(error); } diff --git a/chrome-extension/src/pages/panel/index.tsx b/chrome-extension/src/pages/panel/index.tsx index c519bfe..a4c1c5e 100644 --- a/chrome-extension/src/pages/panel/index.tsx +++ b/chrome-extension/src/pages/panel/index.tsx @@ -1,11 +1,7 @@ import { createRoot } from 'react-dom/client' import App from '../app/app.tsx' -// import '../../assets/styles.css' - const domNode: HTMLElement = document.getElementById('root')! const root = createRoot(domNode) -// console.log('panel/index.jsx reached') - root.render() diff --git a/chrome-extension/src/types/types.ts b/chrome-extension/src/types/types.ts index 341dbbd..a9cb7c4 100644 --- a/chrome-extension/src/types/types.ts +++ b/chrome-extension/src/types/types.ts @@ -20,7 +20,6 @@ export type IRelevantData = Map; export type ISetRelevantData= Dispatch>; - export type ILengthsOfChartBars = number[][]; export interface IAggregatedSortedData {

7=7lDG&*Yh#`OhK#2^6H@FXQpYJ}&UBfr54+Ld*_t~dXu?XOQn};(mx+9uUSjAqeqCRbm#}pD8$MEhQZjeY>hrsta+Qfl z+k5f6=B3whT!M>yn$rftrl1j=dZ1)wI{M?KKglT&2ZwSnA21ckaIf1!r;F?ID6sG{~8{fK&Mb*b80T9S{c#f#@_Gd3P{8>C#(_1l|T z(6bLcYC_HPvHE&?=G1Uap6Fv0)%^4^;%YR}$7-p=p~AlDJ%4;Vo$c?~P!)9f@Sb)w zV0V>kAKuu1j>=|hx$eQ;?Wn5vmrE$TegRc;8-BYq5UipUEqV>r)!S<1jj?GT9+0@O zZ{S(eQ)-k*LZ$Pm8rLSlbe$N^A$;zYL1DVe9_^}7w(h!tjN*JZI1hf|q<^a^1oS6f zdZApAd;RhFfeV#(>|3fK?PlyQB)S zoem`xq~(aIV;Q1Wuu%uNmEw+Zptg))OPM|TyYl~l@ zxeAnok*Y9nY$~^%r0*lL+_&ot40&WwR96kXX0{)7Z zIX(eKe?*38(BM2MhW=n(mq~u~l-c zV%n{3yLsaVx~4Gji6h@`=fbJ2-XKG^YaPLW(u?>K<)v$r5JcsJRGo&Iky@rO7JaPk zR~k{6Lo-dVW+bVZOgoKKOheCNZwh*s-Xb6Pe|Khb^rTqeKwr>vtFpio@0w;aPEM3J zkbOmo_~^R6VG#x}3~-k&dc8{w%!~II0atiD=0Lmp0iY-jfl~SiHYanVPv;zs4LOtx z%o=6#44^@<{(`T4_1Whmg)$@zz9t@W`G8)7rqfa#8zu-6lie86#uZh%>P_MDa}e$; zf71G0Ar66eY??RiZF?bQFBj3RE9W#)bM@3T7@CG`jd+1q7X$TjvnuP_R{toq9`{I` z;9@K*vFbP3SN$rN=R_!;lRd>VbY&a<8}0>@pcwQX$7Z@0M?ZItK61!0EisJCrW*Az z;g|A@fLo4@U5qY=b@95m$B+#b>gR}vf3kE_oACMVt2jr3$HcxlLOKk4|MZhx(tLV^ z{SJ?Qq=Ys{tFpLD=gHBh`1aGIqCEOk4+fs-v=4t1CvUybvI|raUerboiPA)k`IN`1 z06E#%1jXh9N!JDbn$syW>Np=XhDf9HbhzQ(u&;-Qbhx#TK5H$NPmvZX;%G7b8wZB_ zhsEXRt$NnrQj9YmyBF(SZd0-CR2XR}mzF>QAb-F2GIN;lW057pgm?KB(=$gjildo| z1V);KBWRP~hex06ism;C{V=@3oHyHcd-pMbiQit`_@lj5t3{6?0e2K1*aL;2@grL{CUAhTn8~-WomVfaW}njg$ic3*WL6H2rJEoH&Q-in(& zP$T<{gm1&+@&ZHxCjV^ zLX&^W6n6R`m02QrpB0e=8*xn=Oc&vf1ZVui`+$X!oIMS79iq!I?GFH%l)l?o3I${dN>SjAM%#_gEqT7Qp> zS2%(>+xU7&XD~;ir{t(XO6MDjfsR<*FzpZ8?If)`$8tmBoW{pd5a}z;|4xHAbZg zp*C;_4zz)vs0}L9ZbNTkP2wvJV-7T>zEW$2RXTN*QR7kv_TVzGd||EQ2)bG(F2$V2 z4DckcvqvWl#w%a#+B?M+Y&1`~Q-AtfqppFZF!eb9hDs+?IbK}+X29DgySn);09x_V z)P1INPKic@4>mOO8`c_X0=9_vSNjG zN*obNtx9IFxrUj!!8$Y4Z=>l2!7{{}5+A<6#O3J4=XZT5@k7V^cc_OZh~E7@uMd3q zCc_UV+2J~RR+jO0xG0NTFMqcBWJL;c{>wGHhZmL)O6y5O>iqSwd#?{ zSUDA$3&9{NXi8;8D19_YH%Nc6aFf#{Mutqm-Sw?Yj2_j>Y;smTDl1TRcT20mh6Z3~ z%!so!Ck~Zcl1m|1=6`Z?K$6a~^&AdYZ;6`Y9_Byg+g}E#+O8D6u^3~@tM7qSIXSVK z{U7dg%u1M)^%f6M1)qnok?UEalk?UO53r$_Sj(p@i)KxhlGWLz)mtlsfE}q`87V{x zn}8ISU}j5)nXRH6b4C?Wihr`mE1*vpW^z#y8-sy1UF_;J+xeE8XL)KlBA8p8=eo;}d)dY}y9wS{`mM27EOia9R!WD6av|HH#-Y(#8{ z7P0B5Nv5&6+nDj$BP6R;S~N%QQ zE=%d(Brs(3<{|imbA1;1R|Q5Y!q~^jr9+tCj6c3J(;6JC8#ve1UTg1{%tZkiKl%36 z94dzi(#0llQbNh#fP}}loKBbDss~HlZ;?3(ZWeeK%zS7(E%us(MwPd%j8-I%&U2CD z*JtB`#vYd2mn233B`K;t=CAb|aVEB7o9{|ph+Olpcp7hub(IwBy2p~*bXrRp?Va7^ z-R7;Aaz+6te=nJk*%p!aGKq+**;Q!#I5RpnrIVdA^Ft58?E;otl@lg8rlhn&;KD6S ztQKLV7$yYXvoU2x#FIecmz#yh`9nMGk~nQGss-Z=z{Pxv7Co@8!y__WKe|ur<wf5lT4@bUPtlCNo;)n_=(-QOxVbI^!>;L^RG8irsMk4MT`S$kr&OJ0GeyX zL216Of6$TQ?Rban(E5t83Aa!f~i97*XE;}0E&!5ziUrN$zx1A((LGuJANq=UaL~e zbUsgV!1FLe`#M&crETUao89>9w4#*1&Y)VUf1-4DbDUiE- zrjOJ(kC0KIn|lKbogblQ&sYL9_kfmY?N#dOnL??(U$W~lA+y>wvcI^0M&o6!#`oskku8C)C?0j+G|j#1PGl#!T?Y&_SLJB z=zVn1OY&-6D(kmz8XrbIxWqC7C{D`dBsI`e~IV>E)Z%Kn32A?B$w8Tyt>F9*iBvvCu`+sJMxPH z4S`tIgbJmYb-hS;s94pCu+{K03+BebX+0GjVmOh{r_VBP= zi1)$TKaL`J1(l437>}H&DnA9~MT~YJD#tBCcFMz!1a5kAf+iN4m6-X92%je+Z2K}| z+Z8q?odLf?1jN$YrSmXmQP+%o9yP>L33mx9`9XTIAWXez;4kKjMEzQW3snZ{DD2=i zE0!pQLqQ)?TE$;$kspe$e@9?e)DM0oDeUt?|8x#fcc6R z&@(o%RgJ5HB#zOoTuELv)G&f9bn8Yj2UBd&y6;F^A6bqz$dLxfb^|XiJ2y?|pCL|M z3(K`e^6CN)xO$VfMu*iCk4Y>;$QU0Q`IrxnaaY`>*+v8@am4e%XBO> zH45#5ha(hr-oAWL#49`Zw+f;Q)_aXYBw&dZU=eop02Ftw+UOm@Uplk$&8%^Zo3hJ^ zo3SwFc4QUqOk3d3{Gh8NJo2*G8X=XO4Z*&c!3|m%DtkM*e=v<3&8`iOf|@8Q(+3{# z=idIQ4wR&J*L5lY5sDS2=74ihnUmC`iEZrk)k&ICnVwBW+4e$Y#b<7K6xZ$9@Zxz} za*=hTtR z^vN3>FhxcgRw<&fdO5|o#d6bB64ru}@gjM(hD)(Fe}~@PVKtG;SW9#+*`7TAS zXMMOA{X!G4W9_gR^n3#4DbTCJjD0+*p5|n~j-!U1F9Qskt+jkw1|`(>C3i*pELWfS= zmlGqF`yVEu#ClEst=8QM19Ypi|W*j(OP))u0|u$vc4Y0p#kbp^>&t_*)re!6P%ZEhFK|Xm59T zJW9L0cS-fI?h~@w5mHYpK|5}XMNdvhjtaMkpFv@k`$A^Y6Dx6tGVz@6*5#ejj?Y=l@( zt)zf5t^A2_tlzJFdg6dJ4*2s0i;kZSc<@DIA86t5fx_vq&nibtal)kR`JuU@7Bn_u zreCMAEhA2}s`ITptw^S0aC?r5e8R$pbAR^HgHAbMX(ljj9*^F#=b7Cx_G9ubbk^(R zpy@~Nunn01$WR4fv|*Jd`8jO*V4%UE7$)WH`UqI3H_oZrW3FWS4S-Jwa#<8b} zLxf$rL+fZQhB3IdP|&Z|(2x0>9Q{Y7hQtRs?WRov|v;u1!1}rDB#=iuq z^)g_*njeAS1B^z2&8+RyHzuZ=-GnyJC*vSg&zOUHS(M)u^Q4u`5=h6@-4GEL`H1U# z!X`x(&_CM5r8lh=T3uVrwIRylGshGHuk6{CUGwmNg#FHsTb-~ZI6e6AR@ z^3l@3nJG&H0n(hKjXv^!-E*~ijJAZ(MCjO8%ox4%=lmZTWr|x=kp@1NGF?kvfAch*chB zphy&~rd&DQ_!z?gNR;OX5<6e?u6q5l-&0lWaC(=hbju=45NQk@vZpa%g3RAx(7jBH zjn|R3+-mh*xE+gbC+m}w^#%0nbXaIdzQC=iwbDN2mVHM06`>k`b=YIpzMw1~39?q% zJ;ZBE6YEG4Y*!jrDJr^Xd||TFHQS2p#*edo!}0HnBh}{70t3k&#Xt>Wt4F=Q2?Wya zRxL%y1Phul>45;$I{vw$2sOrDK$#AwdzQl%yLD)kDCKnHA~na0KrO0Pe~O?@%G&@L zJ^J_}Cr*1WkesfUS5*NjIOoO5$xPWk;1@n`M9X@3qtU={3LG?hX&0`pZtp4=K}lRG zl8S*Na$wmh?I$Xq#K9{*w0Um$86nZe`njv$zJ*2W3JPUmPS6nuZOM0iP}ACd-z&%G_8Fx7dGMCVDjO^NW8 zd%cogmY6PL8>Yc^j1l%bQoST9T=S~(E--El#;WOIY4}5>;V+l&p-&!B6Bq@LaypoZ zOt9`c=Jga{Cgx$tl+^|%oyLn5TPqHFUPtL*5zL~rzo29e71hb%T^!~8g-L&9k3r2i zii@eAl9xKmNHdacu9ZAA*22u0aB}-8X*;lJ|H`QmE*?0iRbCMLYIG9XQ%gz^e%mxmpfnn2Ge`5JZ{aV5Wk%5EkumLMZdTH z%9z>cHEtA4;y9*=@5KuLsQIYRFeT&!i`5(2$97@8WV!$s=T&lB=Xat5TS!)Fbz^Jk zo}88v<-?`PEnlv>S}?86b!rQvstH3skw{x7j6{H@{tYu$p`7;~*gb~^^< zCAI{u_+oR~73gid2HsGyKTaL{Ue>x+{m2dKsJ7SJHJ7kh0VO;he!;V@j#H*nl_B3m zp8%(G&MuwlRe+QCPBbCCw&Y){RtzA)t0VD~O;oI@VWMqRcm)uza9DnwG6%2Azyg3QpQuXBZkd`mz^BxuGXtrWP zPt+}ST_+=4ljd)bqHc4EnadOAznD^8W$?!4SnQvNi!tAd#gN9L{656Rc!x+Ldy+Jz z{s={63o|uju0S>Q@_y-`o>Ak~G!4C!o=NnehHD3_qEp%<3Khla#A<(fcU6EH1%I$} z47$KCEP1+f5O1g=&IW=`p&WvO2tXcBp4J}P#`c00t`F^=QfM@-&Nzny_Sibbz19oe zyZ&k)dPZcrT~HV^l!^c?36t1-t2_iFOr@x@8v*)kM8wY_FatlDVN!%oL0#5p3z`h= zJbvaBd4hnfkzll~2cp{m{c+WUL4PZBf|}rZtOuKzFtN4ymF($+T9SdpNCuRFfQra= zxA<7tcNNd)!ZkWeZlKn;Y5m;s9ls*BCz)fKFCn>^7wem4zOIqmF-?$W6~@C6IUE3M zf^%54Mos1sqHoS$=s2Yp+4?r8WUJ15lU&Vx4XgX@J_y!nt(=!=ui!e&lYf1J(+L_# z$QR{a(;WbRA1hql#wB^M%a_I?(y6=O+yYh{=kJPWom4(%esy~l^40*9C=L~tDR8Y7 zyEhBdYL)Fty;`JbsopBRQ}P=()1H{RGbXW;&QO@-5vyt&&}vn+w(gYd=DE!wnI!j7 zw4i*n^wc`-!cEA=9V;#J=r|Kh0*1ozSY^Yjf(v`bl~{w!tF_@VK@Q_omPY5sA~_Ye zgQGkWVnbU8Rf!$-*fCAH?P2oMu4+*d%QpqF#(_s1ifYS^BuwJi=v zrJ{J&y12a92JWwe+H|I*l={(kfP<+q;~Lzdt@5oprDmkAJrQL&tZZ(+!jgf!_Tf%v zt&oBdp??u!m)oDje`%XyW#Ekv=yl|OK<&); zSw9M#+`W;^SFDo8x3?G0PFZIrbv#CpLkj_e00k7WiV7Esv3(3HIPYtXH&_BAkmaCt zhcB{A8P7{aE6jkFTo2)xqmMoR`q!KFVd+um6KTBL$2x1q=mq_GS(LBq5?IEK7h`dr zVG#Et^}Am-d?IT zeS7lUB+R~XciB-!wiCtMpneBGt6&e>tiPS8-XL-3m;;=eRBNU5F%gQ`wzj}TOHHF5 z_vr+?QkaCpoDaAI2>nVeZQzSh>5GB6-cjmatL(Bd-Ur~@>#X}u0PsV9e@R6{m}@m_ zq9RzpauP+cj25S71PbSDmL;>mmI86b_P57KOn=|QVnHdAH4ndlMw!-^~+$+SKrDzKU0-D*OgUe_it$w34suLL&M4NEiDXaJ{AgJ_N94 zHHB%EYxXW6(#)i`#v0<82UUrj@UqX~;*w$oI9#|syf31i67k(WA^h<6zu&w&J3W(f zg=@i_+q}isL;cf{TD)t5*KjsAKW6I+wq}dc@;A}j{&EtpyfS!y5xfrG1Vx+OKRMa@ zjfes80%{m^=$XY+unj?OC-2#ioZ z2ZP&f!q>qzd=cEk8C=5IQ%m!v@xzj(x36IaNMr@27L>g^rXUu2gMgnah3G7}**mDO zbLi@tvqZzI{syyun+H3*3-1#&BLTi2R+nvJMRI6);jZm(jFA!CMIFd4xOxNuPwuAk z2qp}GT%geYOrool!fb9s1LtS`D*{j9s0pdIthg0zVc{#?m_iDeL_=c%-AZt~@-*}W z;vFaTb&3m(0cz9@y$2F;HaSdv!5Xp~qP!vR3B-`}Dv+0dS-e-xUjy4C>Erj3J`UbF zaPGbR{qP{4REBll5I=YkZTrjqHG$FB(R{dpLpmRBCox`9I`E!^%XibaNDRL2zv$1- z?fL`4rE2}?KA6*W2Evb;iyq%KE)2Imq;}u*@6W|XK(pM)>wd0_Dmr3j`=Oqr5ACR~ zu93Ue>(>Z>0=(A*OIL8w;Lg9t+naB_cfspEtPV^X<{R2^2ZXu&;Kt*sT;pMS}W~)7J>ZcR0coWrz>b z$mXL4PW>7mbY^>YL+GZEs}Eu9!g@IYqPL-*0M!$Jx<=3uk*c~M(`lOlCbvy3h1BN| zMJ)INv`ls>R9|!X*uxsyzDETX(ILS?9=fFy!ezV1Wtkvfx4{N(tLYLR4NMrp@rl-b z(S`2XId$8C7K-RK9vlX9Dk|*J97mqPm>2yensV8jE0}RFU1OB#pg2Ir6b^{V71>n? z@FL!SA%&A_feOIcd`O}nF_+rPhY?`B(k1Ek>!7;~Lf+V9TL@N$q1vZn2KNS9jPux}q<}%76*AV$Lnq zPGEa0$C_N`HC@{$GTy~hY5NvYt~H|+{s&cbJ;o>qu$?C-#}!(9VPx&s2@tGk@l`q& zVSDwXG)QGVV@a0EdJFTBMloC!=5>#UbFIl zkV?|>h3Mit5y+Yy>=L>v#)ZyA3@5FhjWwshCZSNbpDTC?cR^zN zQXzVgm1x`w{@?Npt6O*neclnj)TB*KZ9_k-+~i<9rz!tY!|M;f2(5tWiO6&J!p*vP z?0I{qt97tQd#rXHkDfX>KL4hDrZDM$7$E{5oEFwA3>k;vy5Ef>jNsSfE7c3Gv`zBe zf@5mzTUl{Y3g~i&&ha%`6(G*iEN-qs|0Rt-aYFY2>ckUd zJsEci{h|qE2&O{=?Cjd4HjVNo5K(~K2>7ajx~;?+wnbyA4F)%~fjET~#Vyu<%?uro z#3r{;Q7ebTor2+L*J~nDay|o=0Q6?08t(;KcZDUDegd;VvX(0xC!YmsN+Xv z9qkbCO&tN=roa!AlN?1h)6RM*hwX)vC>YyRa90?r2S-!|P{FajD_lK%)->io z7zAQe-3L7NIYv!vMDuH)kA;IDRw8rod^*y8i9mS)ieF39MQfG^!w&0z zLqe$K>h=S}^`QNza$=2je1bs9FhboM{8oYmB||V@NTA?KGn{Wqz@f!|8Ri>4*d}>v zy_se^G)_PLJP;I?9S%)FZrsDex>G2zwn7Q9wOHCby1QARR1?2D;)B3(%TUYQ=s0@t z7YVWto?&y1$Ko36t4mwh>os`qO+w~ycO{a$Lc_-@4oUTM3Or-4$a}uILG7X!J@ zf*z|!;Rh-_dzaR#KS7ILJ7v%C_3C5o8UAhSgDZ7~{|5{NKFUVyKeq+wj&N;wDjKMm z*C^mX6pt!<#f;>V*W&s`qKPzvnmw9FZI)CvLiY&MidR74IzOA1OhF_45yc(E~%FZ4>!Z+mV z2T*uNkmi?g#vtdP;lk>v*B0!>O(RtcLM0J&a5@Ks5snZ8gSFeO2eR4SeB{UU*a|(i z%#JM`D*^+?iz^UiFcYYw5_0TZulz)&g~pTk1muvD@C`M6snyThyn(Z+K|JouWJ8f@bqx<4~u9hHH_u z3K43e^(^_!bjhZR8qfA-Y=4V*7-2#`S27(sqBxrJ%QV^n1zMtqKBx6Q*7>Atd=M2m zL4|=v%j%I1X%*y=E^h)Oh|Ep(rS@T^0M8iPc^Oy#Ky3r6oVEXG0oSI;>U8y^S^>|W zr2Qxx0s)SHwn4vN=_tXwO_-im!8R;U;az}{tme-6ZS-qNE^|XM=ne5szOs;Y!#~FO~CWrKF z%VZY`*k49)&DVfgo|eR}&j94ca1AMur0FB;SQpeU;zZ)%)-DK{{vzRGGxa4-k~I{W ze}m!mIB4VwKu3XWJ1rSE4CB=*+fw8)=J zMSoa$zx}V5+-Lzcf3tkf`(zz@6f6sLEfpDv&8F!$dI|xg4qFV>MamxKn3@cI;o}+u z_Hdsjl#z6g_Lz$1IhE}xnz;*@yjipbCQMZ$G~QhobF}+j6a`w^mx=_hfEN>XZiUbs zXSjSZ%S^HIOTuewenGYQ%}k3`v0;9-h)e|3WmM{)b3}>!e{=LRm- z3QB9))KzfrN9R}l`yoSRE&RDB6kFLxk{#$yMyx&Qqn8#{dk(YEWfLwdUIhy{{I~sR z@kFXW`rcwN_MfO3zg@*M7;s-ben+;Q&slyOtn|uXMMjKFoL4n9;`%IzrHn6>PZQ{T z{^Y9ftp;=de@W~NV#R~NeNba)mONa&@;sJz#j3x2GIQ!Kxh@w|wRy>J07CPS@2r;f z%HM6QN&^TWN8Wd(oa#Pd%Rn5|NeBK6Z)8|LMdD&vsh2l)3Yg|?l1?&mx~POrAd;aCzI!nZ*+D2%bk@yHJ0<>N!h z_0kl9e+g0-YA;pgpNf(nwwaCe6pgz&iB)MnJtdTGj%-B@dI(O3S%lfJ!-oX(|i!6e_<_F1r4#`9omBkG50GeZQpI3sHn*v z12_e8DGwzRI86sp*@uC`A9ThPj-HG5ew*`!!ai}nfHRyGWo~6cgjCc*WqK)MJR`8P z{VFitmow{ExsVQ%OUDm#-k^m_!7ytZJ;TTVnP#_dqgVKhK`iuiV|kV`%S>+j(K^iJ ze`)u&gJ|uCvdqB3zFDyJ`(?XE-xgQ|b12}W-Ak2tTjay|QVnXYfZpPlTl%7IdTp%! z?OOj)wojs~0+;)!C#Jj>wf~ejI^xSf#lU1QMG~_Ja%~|zG=UPlxD1Gb6E2nCo8zU5 z{h7myouW4}BRBsd%^{p=j$f!=_8QUB58D=T0;Hx9qKluJl>wu&huSK^lFVd0pU6r>Ap8vtc6Z(g|Q~8h^! z8n;z~vaV9Xz@L_`qV>XTu&Ym?t#n>7S>e3e?!Vf&1^#uHNTP3k*?;v+6^u(E=l)y-z46wSB6bC$#6uaJbLS-E@Kp09p7BsZTR_Jzy+pI;RQSx(DWK z$Mzf}P8t1up$RmMsZC5e{-8Nxm~j~GTjgR2qb@X44}*V)s-B*pW7L2!?@d5undRql znOlMjuo%F!Wf6^Rs(&>322^nGXBt3#Xsrw+bC-&-(nlW-F1~*{7OnTr@n}{0kIu&x zr<|kHeJBK^1_zdArY#Q${S-R!1C9XsGm@8+lF(*P`czNCQI%fqXpoq7S(s$=tEV_UN5w?_~U~~}$1@QYst8WCgw^^7BnCr+5z_V+}+Z&GO)k0p96r&$6qI(3F zsC~DemyU1&aeseTc(Af#xa`|8%8Ko~GkkaEzWWT{ea1m~T5U>ksy3uk0y7;tQ^?&4 zSJ0NByY6+V>M>UTU-EOT^J7SxTO|S}Xg1g`5ro(N(_)?xU+g;eUttzQ4sUeflz>FZ}|g@f);- zv`ws_q>-}4015j=SPBUje&5Q(x)#lR2bJCF3>pK1e>#P6>L5WZ-VVOybHEx;Z?BxEWB@oe@j=GUDkV4 zM*YR1#(yaeHNeQqDt^<{ORWdX#&NScd z28YBDy1Xn(9Yt4=%fMLtiKQ7zc~WTQ3E*`=<`p4xuEgfyfWm|IaD%fze7x-!j#&)9 zi{#5bEKz@q$q~sQ8@{Id+O|Qa-GOO1l%tccaSu>g%YruUL~n^qycOsZKbMMf0Uv)) zr4DZD$)^FTH9`!JfFb4PbR4>!OK**HsR-(UwWTd*)+tNLy1h%s4IK1Rx_~YLfArVb zWVG$ar)L;rO*rXP!`n5$&%YC$|LtCI=^9m+*TmG5AN6vvL=8MZUeyifIrA^ zjL+Vx@nu*$?WX&I&2#%#%>%yK_Q%-4;0(Kfe>*zC_(~rdFBf=&F2y)xycU0EZ0)y? z57V>*ql2;G$Y5MRd&`Plq%}H9Aq3J)p~d86Yhj`e2&H{k1^C4Hy$Bq|c9;d-@Fx(u z?iphI1;cFvj8u@Dg@7>_e?^C!dkn(_w^s3g?e7HSz7Dnww)=Ai(n|xam;DOC$W|a6 zrJOUw0y<`Mz6I&ydk_;TY_fka@skA3+c2V&c*uyaO)^(QyrXOR9Aj-@)K5(=6pnKF z^sGM%*M0nV1jv6BythdD>gjtxVOQ*nw~ES(t4lON=-PewB1eVx11l}4fI-|vD_9986!CXL-!_XMn0Z}VwxELHW?Cv0{=ulg6#U5p&Y$Wzc8;7uo|3$)vTQ!u8Li{b;7Kh-8 z9fC*H{~*O9ZI#@U#b3HfoD8m1MkG$=k~rCA5dUi=PU>3YFfD1JTRVi4;tVRy8EE@! zfY%uHI2I)QT9fcIhc|y%Sl(bMd4svb8*GU;z@)vF$v}=r1UTITpt*xPO9yx60$-Po z$}4xULq0@%T;P?m{sKXEp-Fee9q#jLmc7dQ>%kH$<-{d_pf3Lr=I-YCrPY#^$ob3+Q~)FXy_e+L(~E7_>jAqdSBY6_5{-=Nt%{@79s znTH2K%fC!7>Q3R1BarNr6QNA1aBcOoE~!h6{sVhbmqMuHP%Lw`Ab?GxnEM5ro}hgY z+?%Vq0IV|`ZeV}p=3#4+M{G2s)**>mYe|gIM`imN(BYj5HhJ9{%e?KlOoUj+LY|Y7Kp*(8350HsrQbr2C+2zrIPOJ_l z{?b8JHahOgwwa`iRpV=v4?Z1^MwkRPo#>JXj>XW(r%GPF4 zMHSdoe};H%zf{Oyz20_qA>v#6|7n7$Jt?%l&SiIcsZ3dT$0EJdTB;&i77H1}fc1Wo zsjuQZFY14zMT+^QOui|RX)5c^G?f_x>@{0;$CqYI4QgvR*HmdDkX&id^%W=A@k)Xj z)x$%vmt3Y(+-*YT0+675?Z`QBmN%1@PTlNdO3K+z(}NDjXy}t`k?Vd#))(S%SL2C8 z3~H-@Dr#@EnR!>zn~JR@vjdA$Ff7g=9&jCt00V#7X2!g)y(G8USC2JR5y5o}5nQ)u_Eyu; zIg-FW)#CcHBT*Az+NvAVS~J+ALMQD`;YWcOucRMaAA`65kp(^70*tE{yo7P1E7$MZ zl}mqF2wG<@s3K~FFH_bAzsghN-<4zd1#JyT#sYt2p7F>qu@W$Ea;N)NVvP&U&!I58 zK-Vzym$cK7tbySJ+e!a~1!vuK#;Ysncz7mu`6hBmn}KlX(FnfAz*5TYm9)qytRR zpyL$)xWXrG-=LrMADB(dbY=&6y^ttIb6PrHwQysHl zT3;lWXc&1Lf6UXtBZ+{-M-7U?giWMV0+EiKiSRt-f~PA|$!))S`WFFH$rsvaw|hxV9gaziz;hTJxpFoL1{ z!?WSga3>}QN2CiyY4sA@LK*UauJv~5hvdCu8rkSvP!m%pMsW+;2YeK$jy0{J?uf9L?fmiEW~{z)}rbyLerDGYxw z?l|vyv{(oujPX$kn_VoTf7;#zXE1m`_Fx1ZLSyjvboB60pXYX)2}-tyz_ZHHP@lS@ zUg#x!q(WlK0=~A#+t&@NIf>d&I%k6F1uo$VJ6Pz8Y)~Dm99A>nLT-w3ONp%Ttw>}= za}JF)Xn4KAT-65Z|J(|+aY1$pcxwS1R&}z%f8-7+Y7_Cw1I=8*@GA;x0#qI*x?1BG zx{u+EfJk}+FeY3CDw+{Pk8p`zd-JG5h4?m_0ZJuMa!c)QP{pu{j{o72xeolzP{jp* z*BB<*+hBxgZvj`2uI_#GV&?J7?djZqG7l(rbMOuU|NYZ(G8lh;a&ioO)$xsHk<~4_ ze{BNwYtvj#-tonqC28huPVarT`B`KIT*q5@4&I$_;m}fl@1ESN-T=yaFU1IPz_1;FU9-iC>*R4T3x%WdTcncqZzk*5JoSXm>`uoW9 zvO(dWR>A%0IQh(bktXOn2%|ckW zXbt-TWv>Tsp)7R&PW`?QR+aZI5Z%1a8g@ujpW*#o-%zF!8-L=C7 zoxTWR3E#?A-_jcD728{^xdT2f32^{o9I9*c>Z9w-kfLtHSneHC+=9@ zG`@~~3Z-Dg*O<7$c>kT8!1(eD3y~Da2{Ig8#$%gy6o|6W?I>$t507si96{pgQz$x527v-M&RNECTn>*g)v$%rMo*#9nh}_1h4z! zpgad~2M`8FP-MyQJ}z_bw+b+7QVl;*>EPxK4`ygOKKf*rHb?ixI-4JrNd@TmNCf}{ z{_<$OI;smOQZ`3i?}$c@pWyv?G#U+mL)?LomW)?flB;7z2p=ae zIQo|CSJ5Z>Q23!oC~P;hx>|d|$cSFFRty3EnPp?k$ZQpbfFs(VR*V8s8a2`Jcw#AA zn4mZSi0R)6UbL-=l+XIL-+Jm>Yr%-zo_a+)!yN-a!|fOls1L7BBPh$I zdAnS^L7Bef5u6RTo1EJwQd5^qa=Lj6m+e9swabr}k(Ul~|I}s$HCPRJrqi=YJ^*-- z_JQNugXVb~kf-}F92$R&ODc6LpjK$mtiXF6>_ZvlC+_PMf6Iv#b$nCpKEP!&doB6u zHph(MZ-KIdDP?HWU~qv-YT)}-e$hkNqwAJC``9|p!gKVuPneJ`estU)J3j3qfuJ9fE7Y+KqkKWVX`^&nAb1xApwY-FN3 zPW|)oXyT{+e(Uv9dOaBI(U+;3hwbkt?9aKC{;rOme`9bc0+7Cu&jB-B;vkd_Y!!Vn z_Ebpy3Wy*%bxY&`y4FhU%vqfZb%q)Fb-P5vO*1vwOWdFJ7f)J+sav(;%cnW4sKYlbVZDAY$`B6C5_o|0 zCQldXe+*z!xWGh&=h1jHT||qg<1eP;FT%4?xB#9DUZ0U`9{!HbaP7{CE-Z{a>Ia9U z)^o0=0_e^J+dguKIJZNb?+-Cm!28AG{|29Nh@;TQ>zhi3K*aAV1|ksw7f|++R09~i zYNUMjul@wqAUZZdh;?|K8X)hN7=)fyugMp((Brwm-b1?F! z@^LWsL-(`)0j&A~X6@e)pKDqf`!6jSrBysxbPfez3p2PTnP$+k37!D-OirJ|&G9M^ zf5`m;?gw%Pl{ZHqM*{N#f1{29jZCoY$w|ep=yOSL3a;?)2-q$8&qqk^1XJwxO}uG< zmiTF`^3i;V@=Xs@zUluQ<(oc6BI0r4`#kN9df~rMF&?C@VN{a?6xe=dV=?pF>9#(t z!jVx0YM0lz-?!epg|vpI(8IO`{W`{=78mhlwANO~3ct)ETf_K>$3a5&Tu=;6sruwn zoB8YowpQWhmk}NxiuAh(+__>9jY*2#Ee(~nN_cE!tMDwp$r2b;9~#|CDS9ti1Br$% zVsMPM!E6Xb-S9pb1>?Vt&}~t@-NM^t@L!|g>@Pr>{5O}zg#jObhUaVF9Xp2(_;pNS z)l0!4{C9UwEluJZ#uqb66|MKk1n0gEjxr+8<&;qo8cj^SETUnmcc{*RQ*7mS@PJOA zgAC0|5M7QSQzVTm1zeJ z$S|P{TJO$8I)er0tXNVG_nC?}yX<2dDvQMo9+m=BeKWSP;A<1^mTw4$t<9;iR5e!W zhAJCa_1OCcV2zHe9-#igzNqAjvR$IoCBzo}y0=9Hzq&zJWkFZ4+k;isxqp-+noHmo zM{2JD30CM#-rn&7Azc}c8jjU#0NxCJN}raK83Mdm!>%a5n4tq4xzg0|d!nP~(2<)3 zF@PUt0T*cT4P<4!t_!p^Sm*>w5$wi-PJwuDu0*sr0o)pQG!EE ze7p#Nya9Sgv-B+}&V2 zDbF!q&|qM($UX+TDA|0!(udQ>C^l)nPK>TD{Rp&Q0@6v)+ZO?(5kSd|@&MUjF=U#S z8C+gW_L8@edPyO*0Dq=QSJNQVXhfl_7xKB@a3pCo*z?O_T+U#6 z8%F6crmgygS!nJO70-!9aUJ-9>={e#?1?^F6{i2RwpHUv@iZmVs?Pf47E+49I#gdw zAl-D)1u7p62DVJg**c3$y-b z`iI9-U<4`6}*X)Y(t^8=|1)q`#QZ%@~Sg@rO3hs zs7&(rK1E3v$$y)TNa1H0o?9!*WG*l$^Q{}Gd*aNwt%WB3CdUL%^wW1&qg@&~o0JN} zFMofPM0ueoPH{f}zQAzY78sK4gAyU^YqQK(Vm?Rzx?*czq0pMuOY1GF;F`rjn~8}KLDbH0bZY9qbCg7%ML#VLOZ!hWZO%(WMR}V0 zE&WAK7e}68w?sN9Z3(fV1Iw}O?e$q;HOOiVBw`Z0r;sn*C8yrrMj9{LvA-9A7TG3h z1*7b!y?+5_qkfY2$r6hC`Z{IvpOpjV(q-}qQ9~#=}{#tj8?(yN7@=90?HTpEHeez|`o?mPb`g@Y}jGPbZ zr~9`3XrF7Y&Su|FoOFau)4@_wLa|l|lJ@Z#{7qT+Q4P&6SjyPxbhC@zIny~udk;l|ZM#myj`#M2cI)VGh z*WraHNFqXpPEMLUJ~fJgh|#XGiU}NLb4VWu6V-K9aC!Nv#O#7}oaZZ?(D9-{Cl&R$#7E&L+XhbG~wb|>c4sy4T{_E+x( z0z}JdmvW5(UVn+1`o$F3>#(kxIW~T=$+e!MiKa93sooDuEZcBgO44>^Cd} zF8~=USK$~_=N>APe5Oi$3Cjf#8K$~d=*#4DQD|AL%e^9>eVKfr%A9@P1asJpc9Fk+ z`MD|c8MJesB=2pZvFd8{`Cm;bXb8T+p=>vG_T|}MlYcMu^v;^#4|I=D%Dv|P^4Gt9 zZVEzkTev~{V;_IU6qH+UC(J5Yak8=DXN-4j= zqJ}?!@_(U*EvP-qbLIVrVz|&e_#Ao7x@&tSHAwDbxJTIjKheJM;Q@_jjz|79Xa4jD zbX@AG!DFc4P<}u+fPNuFc|Wu>?*V4~L0exNX=#P;w2L|rW7X3VC?t`5xQOnGiy!KX z>hh8l+O)Y-^*2<`1>ZgU5j4GcxU4$bs#%zNsB|Wy-^O`9%#6})MFA0Qj6BVHa5AG zJ%8TE#8YS?h{E!teNXsZR$v;(6b0}3njOh2V4%~>b96C>zhRCl2}~^=p<#>ZDBkQJ z9C4qjs9&0MS6_^@_gYF(sxIob*P3QF_{c?Y$DT&TB*Rt!F#tt0#;h4J3=Jb-66+7m z0&zmdH+TWeZ4^mT_Y9Ot$+;uHjCMd#?0>iblE0v^n}wgjFbgOS9Y%0FU6(p#^8<*< z#zipQWr^XPc28B-11WQr&hK|nRZAp=o(n-KegKk%E)&ws%? zPqC8Lcf%_V{5MpuDJw{V8X0Oh_k*7>WUHbQUJ}t!0Sn3GN9Fnc-oOlqW++)INS(6c zU&8BjXdhs&Wi*EUCCG>Np~KZr82%9?er*CcHaauV7HARUPw&3`$Q^x5-rnJECD%L9 zyE4S{@bEwfqV4S$2H8PoJaax-Lt7IR8qN>qA5C2- z?6VUDTkfXKN4x#qCh7oU<|0#`_Z4eVHDdR;V|gbuAt;dHeRjr5(CiYz2P++1U8u zp~MN91s5M76-1v8YuJ=tHy9L$N_LJB32%CwQqBkdSqXd(P@%9zi_A`~Nq)kC7XH)X&TW*g6b z)nPv1Cv%S#%PdTUzf71||EYhVUDh6e-%t#_r|27N9$ThAj*h3j0LfhZ@_^eaTFCrd!A_?jR$3z zN8aH&aC}H76;zKj?A$4*hcv3fH1ev!M^rw$^ila`LpQ1qPd~$LU3oN=ZU3LUv4$iD zSrQ@&V>goRku}+}k0r}sgc(eXb!00kWSg>OC(9^1AwsgRkw=X!d)6?r)H`{e_xING zd+z&O=Q`*9obUJZ`7ZZA*E!d9u}ie#DxiXX6r73F{D}?udkS-tqG|oR6>j>eRMG6( zG3dbMxg$@Wr1LYoRnkO`*O+~OssLX3>r_AH93U0zb_Rnip|RWH zF(ErEJ5oX)z*|PIzNqJg4PZve`*Gn&47XcI;M(TrKRZ~p}o+d_|@c+LS^}*J`^?QsQcs__r@KCAi+Oh z*3xJ3K}F87tyJfoxGKpD>xFRNH_ceP=;+)ohY!BM!8}1pWrpvBFJB!GNY@9!%lzcdcy_sYM)*7Id|KdF9Q?8cn}?}q_y z5E_P|)@EYfnfkPckjJ!{xLw*bcxV&P^w%wy$@;G69%z-y=Ta=jr3L!+^X^mY@T9}B zr4ODKCrdO&n3l#YpV)G&qsMZ%2vE$Q+%RD2c9!HA>(>%~If)d;`ltjIt=m!St=rn~ z`!iTt&ICg?id|EJD7>-p*Ba&nbcKlYf7s(08C9GtkObg#Iw{BzSC|*Q?-gqkzgd^A zScv}9eWG+UbV$K+d)OWewceigTgq{N-c?Utk8zr=T~gsxV3nhdOw5kDx#w0(_!5^J zu2x#vlN=Z7*_VtA{>mt;*M5KD{$rygL8FcL$!HRHhPpc#33;9GhP_oT0TSo^?ea4N7k57-v!=K0NZn4&o|^0sEo8=R4RBfP z<_a*v`q#7_->}?pYd01ULpurbNYhYWX>xM37hN|ZElfi6qBd7QCigq`vRzsd$@y`^U5-ZF)Srt`H=WjNk@F`;O3>%nv z39Z<>Z*%osAWnrbtV`KijZP#x(BWtbcNAi{22o$Fny-A}r_Ac{04w&U@A)6Oh4S^g zqS;v0{TRD<8YQb|TP@%79tjS%tz=_g+jt762bnU0ePD9Bm9Le#Hn|%S2y0#u>4t(y z%(jr5T~$xG!=I_SBeJv?=eyp|Ag+1t2eau*#Y>l24B;A-V!h}KBaler%6=J5@MzEE z(JJRr&h-0F}?JboNgVk{Bj|J)uAx++4(kvg-~zf9b3gABg+F$FjyQ zfbddd8Fygk9v`kRk+Did=Uge|5l~W$fR9Mfxsr^L9nJw%Kb(=xqb@@iSJw{uo))lw z!}+6FPmF>G^b#JN|IXO~-8Y*m9|?$Qo-46UDJgOCcnTg5iO*lBp5*DC~ENL8MyN2VkA7ZPGU!c@P39=Bl4?ddRET#2uX;?K16vrzVJHBT>-Y3l|-GwM9o>K#-&YPjv(0+j%k^lH_WqLbqZRZ z{!kp}(^1F8hZ5~|>F0bP)R+5YnFvhVuHE$Ice^C`WftHqp9QD+LLeqB&So-#Z-Np; zuEq>DK~Mus<7&($bxN6N^P2e=*&r7<7(4HP&wL6%a8XMQx(QD-99yl2sAX~q#OeL4 z-jAcqlkzA-&{a%QOPgU#zItQ{;gwSWR$M#C3%*I!<#@L*TAgYHzeo*e@%L=A5v>kE8&nadPO! z0o9xENxL_i*n%@B9-F|U{3P92<0>N0Y?ovnY{$5fGT*%tz$9HXfdo5=Nr5If6A96y z<8^Xz;A{%cQl?LDg*QmZ?Xp$N!wVLZ^u3g|R&PinwbbXftIl94sAyA@C z^{|Rlfw9C3IM8skRw_p~Niq|Qo881wYC7-r?^V3syC+F}I4#9W8>7(*J+yIPYA&8$ zfBzQl9-2<&BgeTWLYeERKknneJ=I8bH-bj{K`H(FH6z57bFNt~yx=>!bB_5@x9#SI zq)ib&nF52)p4xc&xDz5r3iE;DR;E{G6N9mfAoXUAT={nMpwvWP;f-hsoGD=pVpP7k zDsx#96No5q5-2SW)?3LNQ%G;puVz|Kk~m?qUg_)Q^<|D#mDJ?7NuXwqD+>wN|x zszaQ64yOj=(PO?Ug;pRPoF!<`oIicx8{S3Z2dBn!h8U&sxoy<=VPtnXm)Pvd9PdI| zj~oG`oQ+8HG=_O(aR%|!UAQiBIUTt5!JpYAWLmt<%(KtdW~1+E{IdKdCZ@ydZt6FSWR;I@sXfCurN28nnkmDbgcG!ZcJ^iT#a_KP zZ{^FS6>`<$A?>uTuS?72SDIe$PMy+bOlPFQ9)*)f>{)(GbZ^L8huKfM zJ94EvBhI4kMVHr7&U{QeHPTaYhGuqDV?kgbYR!wjsL`y6mw)GJ4otqz-RDVya&kFH z>SJnkn5Jbt*P1A$YY#4sFx*HG&Xp%MsopwSyg_yA$eNxai|!_E1X$r6|290X)VGmv zd&)eNJ4&mm1F>p7Nxx>)+_W=QmNUrII?~dPt*RSg{46TI$JIo%VQhj~GW5lGQ~=kD z9vohVajyd|Uze-);auFdevKRI7 z`}fyB7JexDtM#71g+@O3aA4S|JLPQJ_LYd3wbd~s9%*zx76Ua}T{`hy^qbuxx1ug{ ze=@o&!LF`PJJ0m4IL_UY$`RAcEBJrD-o^gjN(o9QB!doe2rt|QN z6zpl^z~RW)%zm>d)2jE^8WjVV{d=L_g>T`l?hLNrs?X|WJDc0{{1fN6&cE-5Bo;VR z3KPM0mOb|^7+JqbJVV*`HriOQ-05c|dSs*Ki3bc}vK2rvOuzhQw*E^5j36YR0=^Xd z3fNPRVz28DSRQ_MSoVX*;5s#p71v7~Pa*&+sHXrKTnAIIfN03CN&EsHn*m&-Q;RKh z)F2P?T+@*OJO{u(A@58;;22W>3rffUIF5nlOyKgr0?b)}*gpVP>i;q!v&cJ#elpR- z9Wy!J!P0>MiX8w1BI^NxtmC@%+QjMANnas?2f9p@hPmWBsp01IbjipWT`%rmN3uf5tGPslbcxBSlgJ2d zurqL1AL@K`c1t=N=cpzC5Xa{$ZzPWCk0T;Ozs%nlYGvs)E$btV} zi~4K;_G|j^N7=v@*qmI7tsFp@PK%s71M(oxc&2=S>ljhb1!U>8$zT5-KM{8P=>mY_ zxKw$$fcS4Ne}{kM0;2zfxsDA@^M3D(W5!eDwlKxl!N3*NAdoOSzCRBTVU$|FQJ+gtnxV^m` z$i&VFZ|MJp@ORh$&)4~X`hxuC>s2=XaRI>f&vgD(44r@4vj1j#D(C;{a76fEP$;*5 z7sPd}<=0N)`Nd!EUB{fCTG;ThSpeg)puhjQ<9ZyYuBZ^;1Xtt&_^xa~=r_#=g}`~L Kr96O~tp5PRgPqR+ delta 102478 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 Date: Mon, 10 Jul 2023 22:45:07 -0400 Subject: [PATCH 16/18] deleted console logs and changed reload panel text --- chrome-extension/dist.zip | Bin 109351 -> 109351 bytes chrome-extension/src/pages/app/app.tsx | 6 +++--- .../src/pages/app/components/Reload.tsx | 2 +- .../src/pages/app/functions/chartJSData.ts | 4 ++-- chrome-extension/src/pages/devtools/index.ts | 2 +- chrome-extension/src/pages/panel/index.tsx | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/chrome-extension/dist.zip b/chrome-extension/dist.zip index 67add9ac087efafb5bc96484a53b63c7d7ed0a80..5b72cdf33ae9cb9c97111a40fd8b3daf4d655763 100644 GIT binary patch delta 955 zcmZ2}jcxfgHr@blW)=|!5D4>oHIY}Edn?bH6eylNk5P=BgMkAq6`)ZM64v5{NS9V{ zGcdAzWn^FgYj^G6-FL`=$F+Ljp;=a5V!7_yJK98-+|UgRIpM>zamE>!WPgT*f6I+* zT*}w?ub02h+3@nh=XoyMnOz?~ILl+#&0|w$A{Bf&a(Z0VrmS}l?q=AX%CxKvkrtBP zd0l;_r@x|{;+y)GM-A3xYs4=I$h>iGvDxzHU#*K_rgW0u+DWM`qT(AkHPzbYx9n@M zFYDXb{A+@q$uCyEI|r_>xRw*G!d_g~tFf_O*7!;2rnesp>YWy?-8Ai0tJXK(xu?Ud z)7Ac)2Y9n{ynLQeaS#|3+(2(30><6%RTwCMCYLeFa!&__!Au|q(!k)6Vg^c1-pweF zCJqTUkQ@_}8M54FXQqjaU`^MVO;9AnSnjfeCBAVRgC+JtY-u*(*>1wa=s5)>IlW;4 zqYJXO?dKOTt^^x6y?PO&DzX&JdDBlUV${YeA-$MU4^0B@@act%8BLKTw{Kj`$OEzI zz!F9aWU1-QOBp{g1Jlp+A4?fEkyFt0iK`f8IDj%?prD-|u#C|VEDcRXAZZD9P}qX} zwt5+(0gACGvaHJ)b%F^@(FR=>;sfVZjLz6)HmqWFLy=)z&8P+dR(@!W delta 955 zcmZ2}jcxfgHr@blW)=|!5Qv!cd?K$jw@3eqlmH+G(v#;gim`JraDb%(H0nKp!Z2J~ z!Og(P@|BT+0j%A%-#-741JBWNyVla;DGfJvZGFYm#A6WRb0UUkG2GqHRVMC zSKiwG|MTa0Ia7kwml~Cee;ooXDn2uQR$}g#?LBs-wa(W! zT|GDRM@Q(;F5rx*(gk{rm#Pm0$y>S1)2z1xukhZ~BQvjM`Wwq!%;lp-I3UKD}@;qbXPt z>cH(A7c=reY&x)n(E?fDbmpaupO}H^XZnw&jGD+PX!^uej4~WRnJ`e$P7hedXvhsq zK|mTLEx`^7Tae#YFJm-7F&0IZbvdIhx~vR1Ok$R!h6&hGu*|9Dj84dYK**S_V06ST zvv37t5LgBpW2kPFUC9WE9cUn<%2uspv_y9!!hd&HGTNZaLVV!7iqRRnYc{N6bVJd@ IxSCN705e{KdjJ3c diff --git a/chrome-extension/src/pages/app/app.tsx b/chrome-extension/src/pages/app/app.tsx index 9db9e7d..b5204a8 100644 --- a/chrome-extension/src/pages/app/app.tsx +++ b/chrome-extension/src/pages/app/app.tsx @@ -31,9 +31,9 @@ function App() { }, []); - useEffect(() => { - console.log(relevant); - }, [relevant]); + // useEffect(() => { + // console.log(relevant); + // }, [relevant]); return ( diff --git a/chrome-extension/src/pages/app/components/Reload.tsx b/chrome-extension/src/pages/app/components/Reload.tsx index ff650df..df01f95 100644 --- a/chrome-extension/src/pages/app/components/Reload.tsx +++ b/chrome-extension/src/pages/app/components/Reload.tsx @@ -2,7 +2,7 @@ const Reload = () => { return (