diff --git a/dist/uPlot.cjs.js b/dist/uPlot.cjs.js index e25f816e..f699b1da 100644 --- a/dist/uPlot.cjs.js +++ b/dist/uPlot.cjs.js @@ -3621,6 +3621,8 @@ function uPlot(opts, data, then) { const mouseListeners = new Map(); + let globalMouseMove = false; + function onMouse(ev, targ, fn, onlyTarg = true) { const targListeners = mouseListeners.get(targ) || {}; const listener = cursor.bind[ev](self, targ, fn, onlyTarg); @@ -6163,6 +6165,14 @@ function uPlot(opts, data, then) { } function mouseUp(e, src, _l, _t, _w, _h, _i) { + if (globalMouseMove) { + off(mousemove, doc, mouseMove); + globalMouseMove = false; + // console.log('off global mousemove'); + + // TODO: hide cursor here + } + dragging = drag._x = drag._y = false; cacheMouse(e, src, _l, _t, _w, _h, _i, false, true); @@ -6239,6 +6249,12 @@ function uPlot(opts, data, then) { let _dragging = dragging; if (dragging) { + if (dragX && dragY) { + on(mousemove, doc, mouseMove); + globalMouseMove = true; + // console.log('on global mousemove'); + } + // handle case when mousemove aren't fired all the way to edges by browser let snapH = true; let snapV = true; @@ -6321,6 +6337,12 @@ function uPlot(opts, data, then) { onMouse(mousedown, over, mouseDown); onMouse(mousemove, over, mouseMove); onMouse(mouseenter, over, e => { + if (globalMouseMove) { + off(mousemove, doc, mouseMove); + globalMouseMove = false; + // console.log('off global mousemove'); + } + setCursorEvent(e); syncRect(false); }); @@ -6395,6 +6417,13 @@ function uPlot(opts, data, then) { cursorPlots.delete(self); mouseListeners.clear(); off(dppxchange, win, onDppxChange); + + if (globalMouseMove) { + off(mousemove, doc, mouseMove); + globalMouseMove = false; + // console.log('off global mousemove'); + } + root.remove(); legendTable?.remove(); // in case mounted outside of root fire("destroy"); diff --git a/dist/uPlot.esm.js b/dist/uPlot.esm.js index f96d8c98..838289f9 100644 --- a/dist/uPlot.esm.js +++ b/dist/uPlot.esm.js @@ -3619,6 +3619,8 @@ function uPlot(opts, data, then) { const mouseListeners = new Map(); + let globalMouseMove = false; + function onMouse(ev, targ, fn, onlyTarg = true) { const targListeners = mouseListeners.get(targ) || {}; const listener = cursor.bind[ev](self, targ, fn, onlyTarg); @@ -6161,6 +6163,14 @@ function uPlot(opts, data, then) { } function mouseUp(e, src, _l, _t, _w, _h, _i) { + if (globalMouseMove) { + off(mousemove, doc, mouseMove); + globalMouseMove = false; + // console.log('off global mousemove'); + + // TODO: hide cursor here + } + dragging = drag._x = drag._y = false; cacheMouse(e, src, _l, _t, _w, _h, _i, false, true); @@ -6237,6 +6247,12 @@ function uPlot(opts, data, then) { let _dragging = dragging; if (dragging) { + if (dragX && dragY) { + on(mousemove, doc, mouseMove); + globalMouseMove = true; + // console.log('on global mousemove'); + } + // handle case when mousemove aren't fired all the way to edges by browser let snapH = true; let snapV = true; @@ -6319,6 +6335,12 @@ function uPlot(opts, data, then) { onMouse(mousedown, over, mouseDown); onMouse(mousemove, over, mouseMove); onMouse(mouseenter, over, e => { + if (globalMouseMove) { + off(mousemove, doc, mouseMove); + globalMouseMove = false; + // console.log('off global mousemove'); + } + setCursorEvent(e); syncRect(false); }); @@ -6393,6 +6415,13 @@ function uPlot(opts, data, then) { cursorPlots.delete(self); mouseListeners.clear(); off(dppxchange, win, onDppxChange); + + if (globalMouseMove) { + off(mousemove, doc, mouseMove); + globalMouseMove = false; + // console.log('off global mousemove'); + } + root.remove(); legendTable?.remove(); // in case mounted outside of root fire("destroy"); diff --git a/dist/uPlot.iife.js b/dist/uPlot.iife.js index 806017c1..57df7188 100644 --- a/dist/uPlot.iife.js +++ b/dist/uPlot.iife.js @@ -3622,6 +3622,8 @@ var uPlot = (function () { const mouseListeners = new Map(); + let globalMouseMove = false; + function onMouse(ev, targ, fn, onlyTarg = true) { const targListeners = mouseListeners.get(targ) || {}; const listener = cursor.bind[ev](self, targ, fn, onlyTarg); @@ -6164,6 +6166,14 @@ var uPlot = (function () { } function mouseUp(e, src, _l, _t, _w, _h, _i) { + if (globalMouseMove) { + off(mousemove, doc, mouseMove); + globalMouseMove = false; + // console.log('off global mousemove'); + + // TODO: hide cursor here + } + dragging = drag._x = drag._y = false; cacheMouse(e, src, _l, _t, _w, _h, _i, false, true); @@ -6240,6 +6250,12 @@ var uPlot = (function () { let _dragging = dragging; if (dragging) { + if (dragX && dragY) { + on(mousemove, doc, mouseMove); + globalMouseMove = true; + // console.log('on global mousemove'); + } + // handle case when mousemove aren't fired all the way to edges by browser let snapH = true; let snapV = true; @@ -6322,6 +6338,12 @@ var uPlot = (function () { onMouse(mousedown, over, mouseDown); onMouse(mousemove, over, mouseMove); onMouse(mouseenter, over, e => { + if (globalMouseMove) { + off(mousemove, doc, mouseMove); + globalMouseMove = false; + // console.log('off global mousemove'); + } + setCursorEvent(e); syncRect(false); }); @@ -6396,6 +6418,13 @@ var uPlot = (function () { cursorPlots.delete(self); mouseListeners.clear(); off(dppxchange, win, onDppxChange); + + if (globalMouseMove) { + off(mousemove, doc, mouseMove); + globalMouseMove = false; + // console.log('off global mousemove'); + } + root.remove(); legendTable?.remove(); // in case mounted outside of root fire("destroy"); diff --git a/dist/uPlot.iife.min.js b/dist/uPlot.iife.min.js index 35e12fef..f8e07f8f 100644 --- a/dist/uPlot.iife.min.js +++ b/dist/uPlot.iife.min.js @@ -1,2 +1,2 @@ /*! https://github.com/leeoniya/uPlot (v1.6.32) */ -var uPlot=function(){"use strict";function e(e,t,l,n){let i;l=l||0;let s=2147483647>=(n=n||t.length-1);for(;n-l>1;)i=s?l+n>>1:_((l+n)/2),e>t[i]?l=i:n=i;return e-t[l]>t[n]-e?n:l}function t(e){return(t,l,n)=>{let i=-1,s=-1;for(let s=l;n>=s;s++)if(e(t[s])){i=s;break}for(let i=n;i>=l;i--)if(e(t[i])){s=i;break}return[i,s]}}const l=e=>null!=e,n=e=>null!=e&&e>0,i=t(l),s=t(n);function o(e,t,l,n){2==l&&(n=!0);let i=S(e),s=S(t);e==t&&(-1==i?(e*=l,t/=l):(e/=l,t*=l));let o=10==l?z:D,r=1==i?_:k,u=1==s?k:_,a=o(b(e)),f=o(b(t)),c=r(a),h=u(f),p=T(l,c),d=T(l,h);return 10==l&&(0>c&&(p=V(p,-c)),0>h&&(d=V(d,-h))),n?(e=p*i,t=d*s):(e=j(e,T(l,_(a)),!1),t=N(t,T(l,_(f)),!1)),[e,t]}function r(e,t,l,n){let i=o(e,t,l,n);return 0==e&&(i[0]=0),0==t&&(i[1]=0),i}const u=.1,a={mode:3,pad:u},f={pad:0,soft:null,mode:0},c={min:f,max:f};function h(e,t,l,n){return te(l)?d(e,t,l):(f.pad=l,f.soft=n?0:null,f.mode=n?3:0,d(e,t,c))}function p(e,t){return null==e?t:e}function d(e,t,l){let n=l.min,i=l.max,s=p(n.pad,0),o=p(i.pad,0),r=p(n.hard,-P),u=p(i.hard,P),a=p(n.soft,P),f=p(i.soft,-P),c=p(n.mode,0),h=p(i.mode,0),d=t-e,m=z(d),g=M(b(e),b(t)),x=z(g),w=b(x-m);(1e-24>d||w>10)&&(d=0,0!=e&&0!=t||(d=1e-24,2==c&&a!=P&&(s=0),2==h&&f!=-P&&(o=0)));let v=d||g||1e3,k=z(v),S=T(10,_(k)),D=V(j(e-v*(0==d?0==e?.1:1:s),S/10),24),E=a>e||1!=c&&(3!=c||D>a)&&(2!=c||a>D)?P:a,A=M(r,E>D&&e>=E?E:y(E,D)),C=V(N(t+v*(0==d?0==t?.1:1:o),S/10),24),W=t>f||1!=h&&(3!=h||f>C)&&(2!=h||C>f)?-P:f,Y=y(u,C>W&&W>=t?W:M(W,C));return A==Y&&0==A&&(Y=100),[A,Y]}const m=new Intl.NumberFormat,g=e=>m.format(e),x=Math,w=x.PI,b=x.abs,_=x.floor,v=x.round,k=x.ceil,y=x.min,M=x.max,T=x.pow,S=x.sign,z=x.log10,D=x.log2,E=(e,t=1)=>x.asinh(e/t),P=1/0;function A(e){return 1+(0|z((e^e>>31)-(e>>31)))}function C(e,t,l){return y(M(e,t),l)}function W(e){return"function"==typeof e}function Y(e){return W(e)?e:()=>e}const H=e=>e,R=(e,t)=>t,F=()=>null,G=()=>!0,I=(e,t)=>e==t,O=/\.\d*?(?=9{6,}|0{6,})/gm,L=e=>{if(Q(e)||B.has(e))return e;const t=""+e,l=t.match(O);if(null==l)return e;let n=l[0].length-1;if(-1!=t.indexOf("e-")){let[e,l]=t.split("e");return+`${L(e)}e${l}`}return V(e,n)};function U(e,t,l=!0){return l?L(V(L(e/t))*t):V(e/t)*t}function N(e,t,l=!0){return l?L(k(L(e/t))*t):k(e/t)*t}function j(e,t,l=!0){return l?L(_(L(e/t))*t):_(e/t)*t}function V(e,t=0){if(Q(e))return e;let l=10**t;return v(e*l*(1+Number.EPSILON))/l}const B=new Map;function Z(e){return((""+e).split(".")[1]||"").length}function $(e,t,l,n){let i=[],s=n.map(Z);for(let o=t;l>o;o++){let t=b(o),l=V(T(e,o),t);for(let r=0;n.length>r;r++){let u=10==e?+`${n[r]}e${o}`:n[r]*l,a=(0>o?t:0)+(s[r]>o?s[r]:0),f=10==e?u:V(u,a);i.push(f),B.set(f,a)}}return i}const J={},q=[],K=[null,null],X=Array.isArray,Q=Number.isInteger;function ee(e){return"string"==typeof e}function te(e){let t=!1;if(null!=e){let l=e.constructor;t=null==l||l==Object}return t}function le(e){return null!=e&&"object"==typeof e}const ne=Object.getPrototypeOf(Uint8Array),ie="__proto__";function se(e,t=te){let l;if(X(e)){let n=e.find((e=>null!=e));if(X(n)||t(n)){l=Array(e.length);for(let n=0;e.length>n;n++)l[n]=se(e[n],t)}else l=e.slice()}else if(e instanceof ne)l=e.slice();else if(t(e)){l={};for(let n in e)n!=ie&&(l[n]=se(e[n],t))}else l=e;return l}function oe(e){let t=arguments;for(let l=1;t.length>l;l++){let n=t[l];for(let t in n)t!=ie&&(te(e[t])?oe(e[t],se(n[t])):e[t]=se(n[t]))}return e}function re(e,t,l){for(let n,i=0,s=-1;t.length>i;i++){let o=t[i];if(o>s){for(n=o-1;n>=0&&null==e[n];)e[n--]=null;for(n=o+1;l>n&&null==e[n];)e[s=n++]=null}}}const ue="undefined"==typeof queueMicrotask?e=>Promise.resolve().then(e):queueMicrotask,ae="width",fe="height",ce="top",he="bottom",pe="left",de="right",me="#000",ge=me+"0",xe="mousemove",we="mousedown",be="mouseup",_e="mouseenter",ve="mouseleave",ke="dblclick",ye="change",Me="dppxchange",Te="--",Se="u-off",ze="u-label",De="undefined"!=typeof window,Ee=De?document:null,Pe=De?window:null;let Ae,Ce;function We(e,t){if(null!=t){let l=e.classList;!l.contains(t)&&l.add(t)}}function Ye(e,t){let l=e.classList;l.contains(t)&&l.remove(t)}function He(e,t,l){e.style[t]=l+"px"}function Re(e,t,l,n){let i=Ee.createElement(e);return null!=t&&We(i,t),null!=l&&l.insertBefore(i,n),i}function Fe(e,t){return Re("div",e,t)}const Ge=new WeakMap;function Ie(e,t,l,n,i){let s="translate("+t+"px,"+l+"px)";s!=Ge.get(e)&&(e.style.transform=s,Ge.set(e,s),0>t||0>l||t>n||l>i?We(e,Se):Ye(e,Se))}const Oe=new WeakMap;function Le(e,t,l){let n=t+l;n!=Oe.get(e)&&(Oe.set(e,n),e.style.background=t,e.style.borderColor=l)}const Ue=new WeakMap;function Ne(e,t,l,n){let i=t+""+l;i!=Ue.get(e)&&(Ue.set(e,i),e.style.height=l+"px",e.style.width=t+"px",e.style.marginLeft=n?-t/2+"px":0,e.style.marginTop=n?-l/2+"px":0)}const je={passive:!0},Ve={...je,capture:!0};function Be(e,t,l,n){t.addEventListener(e,l,n?Ve:je)}function Ze(e,t,l){t.removeEventListener(e,l,je)}De&&function e(){let t=devicePixelRatio;Ae!=t&&(Ae=t,Ce&&Ze(ye,Ce,e),Ce=matchMedia(`(min-resolution: ${Ae-.001}dppx) and (max-resolution: ${Ae+.001}dppx)`),Be(ye,Ce,e),Pe.dispatchEvent(new CustomEvent(Me)))}();const $e=["January","February","March","April","May","June","July","August","September","October","November","December"],Je=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function qe(e){return e.slice(0,3)}const Ke=Je.map(qe),Xe=$e.map(qe),Qe={MMMM:$e,MMM:Xe,WWWW:Je,WWW:Ke};function et(e){return(10>e?"0":"")+e}const tt={YYYY:e=>e.getFullYear(),YY:e=>(e.getFullYear()+"").slice(2),MMMM:(e,t)=>t.MMMM[e.getMonth()],MMM:(e,t)=>t.MMM[e.getMonth()],MM:e=>et(e.getMonth()+1),M:e=>e.getMonth()+1,DD:e=>et(e.getDate()),D:e=>e.getDate(),WWWW:(e,t)=>t.WWWW[e.getDay()],WWW:(e,t)=>t.WWW[e.getDay()],HH:e=>et(e.getHours()),H:e=>e.getHours(),h:e=>{let t=e.getHours();return 0==t?12:t>12?t-12:t},AA:e=>12>e.getHours()?"AM":"PM",aa:e=>12>e.getHours()?"am":"pm",a:e=>12>e.getHours()?"a":"p",mm:e=>et(e.getMinutes()),m:e=>e.getMinutes(),ss:e=>et(e.getSeconds()),s:e=>e.getSeconds(),fff:e=>function(e){return(10>e?"00":100>e?"0":"")+e}(e.getMilliseconds())};function lt(e,t){t=t||Qe;let l,n=[],i=/\{([a-z]+)\}|[^{]+/gi;for(;l=i.exec(e);)n.push("{"==l[0][0]?tt[l[1]]:l[0]);return e=>{let l="";for(let i=0;n.length>i;i++)l+="string"==typeof n[i]?n[i]:n[i](e,t);return l}}const nt=(new Intl.DateTimeFormat).resolvedOptions().timeZone,it="2-digit",st={weekday:"short",year:"numeric",month:it,day:it,hour:it,minute:it,second:it,fractionalSecondDigits:3,timeZoneName:"longOffset"},ot={};class rt extends Date{tz=null;#e=!1;#t=null;constructor(...e){super(...e),e[0]instanceof rt&&(this.tz=e[0].tz,this.#t=e[0].#t,this.#e=e[0].#e)}#l(e,t,l,n,i=0){let s=this.#t;return this.#e?e.call(this):null==s?t.call(this):+s.slice(l,n)+i}setTimeZone(e){if(this.tz=e,"UTC"==e||"Etc/UTC"==e)this.#e=!0;else{let t=function(e){return null==ot[e]&&(ot[e]=new Intl.DateTimeFormat("sv",{...st,timeZone:e}).format),ot[e]}(e),l=t(this);l.endsWith("GMT")&&(l+="+00:00"),this.#t=l}}getFullYear(){return this.#l(this.getUTCFullYear,super.getFullYear,-33,-29)}getMonth(){return this.#l(this.getUTCMonth,super.getMonth,-28,-26,-1)}getDate(){return this.#l(this.getUTCDate,super.getDate,-25,-23)}getHours(){return this.#l(this.getUTCHours,super.getHours,-22,-20)}getMinutes(){return this.#l(this.getUTCMinutes,super.getMinutes,-19,-17)}getSeconds(){return this.#l(this.getUTCSeconds,super.getSeconds,-16,-14)}getMilliseconds(){return this.#l(this.getUTCMilliseconds,super.getMilliseconds,-13,-10)}getDay(){let e=this.#t;return this.#e?this.getUTCDay():null==e?super.getDay():"s"==e[0]?0:"m"==e[0]?1:"i"==e[1]?2:"o"==e[0]?3:"o"==e[1]?4:"f"==e[0]?5:"l"==e[0]?6:-1}getTimezoneOffset(){let e=this.#t;return this.#e?0:null==e?super.getTimezoneOffset():(60*+e.slice(-5,-3)+ +e.slice(-2))*("-"==e.at(-6)?-1:1)}}const ut=4,at=5;function ft(e,t){let l=e.getTime()-(e.getMilliseconds()+1e3*e.getSeconds()+6e4*e.getMinutes()+36e5*e.getHours()+864e5*(t==ut?e.getDate()-1:t==at?function(e){let t=e.getFullYear(),l=e.getMonth()+1;return 31*--l-(l>1?(1054267675>>3*l-6&7)-(3&t||!(t%25)&&15&t?0:1):0)+e.getDate()}(e)-1:0)),n=new rt(l);n.setTimeZone(e.tz);let i=n.getHours();return i>0&&(n=new rt(l+36e5*(i>12?24-i:-i)),n.setTimeZone(e.tz)),n}const ct=e=>e%1==0,ht=[1,2,2.5,5],pt=$(10,-32,0,ht),dt=$(10,0,32,ht),mt=dt.filter(ct),gt=pt.concat(dt),xt="{YYYY}",wt="\n"+xt,bt="{M}/{D}",_t="\n"+bt,vt=_t+"/{YY}",kt="{aa}",yt="{h}:{mm}"+kt,Mt="\n"+yt,Tt=":{ss}",St=null;function zt(e){let t=1e3*e,l=60*t,n=60*l,i=24*n,s=30*i,o=365*i;return[(1==e?$(10,0,3,ht).filter(ct):$(10,-3,0,ht)).concat([t,5*t,10*t,15*t,30*t,l,5*l,10*l,15*l,30*l,n,2*n,3*n,4*n,6*n,8*n,12*n,i,2*i,3*i,4*i,5*i,6*i,7*i,8*i,9*i,10*i,15*i,s,2*s,3*s,4*s,6*s,o,2*o,5*o,10*o,25*o,50*o,100*o]),[[o,xt,St,St,St,St,St,St,1],[28*i,"{MMM}",wt,St,St,St,St,St,1],[i,bt,wt,St,St,St,St,St,1],[n,"{h}"+kt,vt,St,_t,St,St,St,1],[l,yt,vt,St,_t,St,St,St,1],[t,Tt,vt+" "+yt,St,_t+" "+yt,St,Mt,St,1],[e,Tt+".{fff}",vt+" "+yt,St,_t+" "+yt,St,Mt,St,1]],function(t){return(l,r,u,a,f)=>{let c=[],h=f>=o,p=f>=s&&o>f,d=f>=i&&s>f,m=f>n&&i>f,g=t(u),x=V(g*e,3),w=V(ft(g,h||p?at:d?ut:3)*e,3);if(d){let l=f/i,s=w+f*_((g.getDate()-1)/l);for(;;){let i=t(s),o=i.getHours();if(0!=o&&(s+=o>12?n:-n,i=t(s)),(i.getDate()-1)%l>0&&(i=ft(i,ut),s=i.getTime()*e,.7*f>s-c[c.length-1]&&c.pop()),s>a)break;u>s||c.push(s),s+=f}}else if(p||h){let l=1,n=1,r=0,d=0;p?(l=f/s,n=32,r=ut,d=g.getMonth()):h&&(l=f/o,n=366,r=at,d=g.getYear());let m=w+(f=l*n*i)*_(d/n);for(;m=ft(t(m),r).getTime()*e,m<=a;)u>m||c.push(m),m+=f}else if(m){let e=f/n,l=w+f*_(g.getHours()/e);for(;t(l).getHours()%e>0&&(l+=t(l-n).getHours()%e==0?-n:n),l<=a;)u>l||c.push(l),l+=f}else{let e=w+N(x-w,f);for(;e<=a;)u>e||c.push(e),e+=f}return c}}]}const[Dt,Et,Pt]=zt(1),[At,Ct,Wt]=zt(.001);function Yt(e,t){return e.map((e=>e.map(((l,n)=>0==n||8==n||null==l?l:t(1==n||0==e[8]?l:e[1]+l)))))}function Ht(e,t){return(l,n,i,s,o)=>{let r,u,a,f,c,h,p=t.find((e=>o>=e[0]))||t[t.length-1];return n.map((t=>{let l=e(t),n=l.getFullYear(),i=l.getMonth(),s=l.getDate(),o=l.getHours(),d=l.getMinutes(),m=l.getSeconds(),g=n!=r&&p[2]||i!=u&&p[3]||s!=a&&p[4]||o!=f&&p[5]||d!=c&&p[6]||m!=h&&p[7]||p[1];return r=n,u=i,a=s,f=o,c=d,h=m,g(l)}))}}function Rt(e,t){return t(e)}function Ft(e,t){return(l,n,i,s)=>null==s?Te:t(e(n))}$(2,-53,53,[1]);const Gt={show:!0,live:!0,isolate:!1,mount:()=>{},markers:{show:!0,width:2,stroke:function(e,t){let l=e.series[t];return l.width?l.stroke(e,t):l.points.width?l.points.stroke(e,t):null},fill:function(e,t){return e.series[t].fill(e,t)},dash:"solid"},idx:null,idxs:null,values:[]},It=[0,0];function Ot(e,t,l,n=!0){return e=>{0==e.button&&(!n||e.target==t)&&l(e)}}function Lt(e,t,l,n=!0){return e=>{(!n||e.target==t)&&l(e)}}const Ut={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,l){return It[0]=t,It[1]=l,It},points:{one:!1,show:function(e,t){let l=e.cursor.points,n=Fe(),i=l.size(e,t);He(n,ae,i),He(n,fe,i);let s=i/-2;He(n,"marginLeft",s),He(n,"marginTop",s);let o=l.width(e,t,i);return o&&He(n,"borderWidth",o),n},size:function(e,t){return e.series[t].points.size},width:0,stroke:function(e,t){let l=e.series[t].points;return l._stroke||l._fill},fill:function(e,t){let l=e.series[t].points;return l._fill||l._stroke}},bind:{mousedown:Ot,mouseup:Ot,click:Ot,dblclick:Ot,mousemove:Lt,mouseleave:Lt,mouseenter:Lt},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,click:(e,t)=>{t.stopPropagation(),t.stopImmediatePropagation()},_x:!1,_y:!1},focus:{dist:(e,t,l,n,i)=>n-i,prox:-1,bias:0},hover:{skip:[void 0],prox:null,bias:0},left:-10,top:-10,idx:null,dataIdx:null,idxs:null,event:null},Nt={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},jt=oe({},Nt,{filter:R}),Vt=oe({},jt,{size:10}),Bt=oe({},Nt,{show:!1}),Zt='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',$t="bold "+Zt,Jt={show:!0,scale:"x",stroke:me,space:50,gap:5,alignTo:1,size:50,labelGap:0,labelSize:30,labelFont:$t,side:2,grid:jt,ticks:Vt,border:Bt,font:Zt,lineGap:1.5,rotate:0},qt={show:!0,scale:"x",auto:!1,sorted:1,min:P,max:-P,idxs:[]};function Kt(e,t){return t.map((e=>null==e?"":g(e)))}function Xt(e,t,l,n,i,s,o){let r=[],u=B.get(i)||0;for(let e=l=o?l:V(N(l,i),u);n>=e;e=V(e+i,u))r.push(Object.is(e,-0)?0:e);return r}function Qt(t,l,n,i,s){const o=[],r=t.scales[t.axes[l].scale].log,u=_((10==r?z:D)(n));s=T(r,u),10==r&&(s=gt[e(s,gt)]);let a=s,f=s*r;10==r&&(f=gt[e(f,gt)]);do{n>a||o.push(a),a+=s,10!=r||B.has(a)||(a=V(a,B.get(s))),f>a||(f=(s=a)*r,10==r&&(f=gt[e(f,gt)]))}while(i>=a);return o}function el(e,t,l,n,i){let s=e.scales[e.axes[t].scale].asinh,o=n>s?Qt(e,t,M(s,l),n,i):[s],r=0>n||l>0?[]:[0];return(-s>l?Qt(e,t,M(s,-n),-l,i):[s]).reverse().map((e=>-e)).concat(r,o)}const tl=/./,ll=/[12357]/,nl=/[125]/,il=/1/,sl=(e,t,l,n)=>e.map(((e,i)=>4==t&&0==e||i%n==0&&l.test(e.toExponential()[0>e?1:0])?e:null));function ol(e,t,l){let n=e.axes[l],i=n.scale,s=e.scales[i],o=e.valToPos,r=n._space,u=o(10,i),a=o(9,i)-ue)return sl(t.slice().reverse(),s.distr,a,k(r/e)).reverse()}return sl(t,s.distr,a,1)}function rl(e,t,l){let n=e.axes[l],i=n.scale,s=n._space,o=e.valToPos,r=b(o(1,i)-o(2,i));return s>r?sl(t.slice().reverse(),3,tl,k(s/r)).reverse():t}function ul(e,t,l,n){return null==n?Te:null==t?"":g(t)}const al={show:!0,scale:"y",stroke:me,space:30,gap:5,alignTo:1,size:50,labelGap:0,labelSize:30,labelFont:$t,side:3,grid:jt,ticks:Vt,border:Bt,font:Zt,lineGap:1.5,rotate:0},fl={scale:null,auto:!0,sorted:0,min:P,max:-P},cl=(e,t,l,n,i)=>i,hl={show:!0,auto:!0,sorted:0,gaps:cl,alpha:1,facets:[oe({},fl,{scale:"x"}),oe({},fl,{scale:"y"})]},pl={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:cl,alpha:1,points:{show:function(e,t){let{scale:l,idxs:n}=e.series[0],i=e._data[0],s=e.valToPos(i[n[0]],l,!0),o=e.valToPos(i[n[1]],l,!0);return b(o-s)/(e.series[t].points.space*e.pxRatio)>=n[1]-n[0]},filter:null},values:null,min:P,max:-P,idxs:[],path:null,clip:null};function dl(e,t,l){return l/10}const ml={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},gl=oe({},ml,{time:!1,ori:1}),xl={};function wl(e){let t=xl[e];return t||(t={key:e,plots:[],sub(e){t.plots.push(e)},unsub(e){t.plots=t.plots.filter((t=>t!=e))},pub(e,l,n,i,s,o,r){for(let u=0;t.plots.length>u;u++)t.plots[u]!=l&&t.plots[u].pub(e,l,n,i,s,o,r)}},null!=e&&(xl[e]=t)),t}function bl(e,t,l){const n=e.mode,i=e.series[t],s=2==n?e._data[t]:e._data,o=e.scales,r=e.bbox;let u=s[0],a=2==n?s[1]:s[t],f=2==n?o[i.facets[0].scale]:o[e.series[0].scale],c=2==n?o[i.facets[1].scale]:o[i.scale],h=r.left,p=r.top,d=r.width,m=r.height,g=e.valToPosH,x=e.valToPosV;return 0==f.ori?l(i,u,a,f,c,g,x,h,p,d,m,zl,El,Al,Wl,Hl):l(i,u,a,f,c,x,g,p,h,m,d,Dl,Pl,Cl,Yl,Rl)}function _l(e,t){let l=0,n=0,i=p(e.bands,q);for(let e=0;i.length>e;e++){let s=i[e];s.series[0]==t?l=s.dir:s.series[1]==t&&(n|=1==s.dir?1:2)}return[l,1==n?-1:2==n?1:3==n?2:0]}function vl(e,t,l,n,i){let s=e.series[t],o=e.scales[2==e.mode?s.facets[1].scale:s.scale];return-1==i?o.min:1==i?o.max:3==o.distr?1==o.dir?o.min:o.max:0}function kl(e,t,l,n,i,s){return bl(e,t,((e,t,o,r,u,a,f,c,h,p,d)=>{let m=e.pxRound;const g=0==r.ori?El:Pl;let x,w;1==r.dir*(0==r.ori?1:-1)?(x=l,w=n):(x=n,w=l);let b=m(a(t[x],r,p,c)),_=m(f(o[x],u,d,h)),v=m(a(t[w],r,p,c)),k=m(f(1==s?u.max:u.min,u,d,h)),y=new Path2D(i);return g(y,v,k),g(y,b,k),g(y,b,_),y}))}function yl(e,t,l,n,i,s){let o=null;if(e.length>0){o=new Path2D;const r=0==t?Al:Cl;let u=l;for(let t=0;e.length>t;t++){let l=e[t];if(l[1]>l[0]){let e=l[0]-u;e>0&&r(o,u,n,e,n+s),u=l[1]}}let a=l+i-u,f=10;a>0&&r(o,u,n-f/2,a,n+s+f)}return o}function Ml(e,t,l,n,i,s,o){let r=[],u=e.length;for(let a=1==i?l:n;a>=l&&n>=a;a+=i)if(null===t[a]){let f=a,c=a;if(1==i)for(;++a<=n&&null===t[a];)c=a;else for(;--a>=l&&null===t[a];)c=a;let h=s(e[f]),p=c==f?h:s(e[c]),d=f-i;h=o>0||0>d||d>=u?h:s(e[d]);let m=c+i;p=0>o||0>m||m>=u?p:s(e[m]),h>p||r.push([h,p])}return r}function Tl(e){return 0==e?H:1==e?v:t=>U(t,e)}function Sl(e){let t=0==e?zl:Dl,l=0==e?(e,t,l,n,i,s)=>{e.arcTo(t,l,n,i,s)}:(e,t,l,n,i,s)=>{e.arcTo(l,t,i,n,s)},n=0==e?(e,t,l,n,i)=>{e.rect(t,l,n,i)}:(e,t,l,n,i)=>{e.rect(l,t,i,n)};return(e,i,s,o,r,u=0,a=0)=>{0==u&&0==a?n(e,i,s,o,r):(u=y(u,o/2,r/2),a=y(a,o/2,r/2),t(e,i+u,s),l(e,i+o,s,i+o,s+r,u),l(e,i+o,s+r,i,s+r,a),l(e,i,s+r,i,s,a),l(e,i,s,i+o,s,u),e.closePath())}}const zl=(e,t,l)=>{e.moveTo(t,l)},Dl=(e,t,l)=>{e.moveTo(l,t)},El=(e,t,l)=>{e.lineTo(t,l)},Pl=(e,t,l)=>{e.lineTo(l,t)},Al=Sl(0),Cl=Sl(1),Wl=(e,t,l,n,i,s)=>{e.arc(t,l,n,i,s)},Yl=(e,t,l,n,i,s)=>{e.arc(l,t,n,i,s)},Hl=(e,t,l,n,i,s,o)=>{e.bezierCurveTo(t,l,n,i,s,o)},Rl=(e,t,l,n,i,s,o)=>{e.bezierCurveTo(l,t,i,n,o,s)};function Fl(){return(e,t,l,n,i)=>{let{pxRatio:s}=e;return bl(e,t,((t,o,r,u,a,f,c,h,p,d,m)=>{let g,x,{pxRound:b,points:_}=t;0==u.ori?(g=zl,x=Wl):(g=Dl,x=Yl);const v=V(_.width*s,3);let k=(_.size-_.width)/2*s,y=V(2*k,3),M=new Path2D,T=new Path2D,{left:S,top:z,width:D,height:E}=e.bbox;Al(T,S-y,z-y,D+2*y,E+2*y);const P=e=>{if(null!=r[e]){let t=b(f(o[e],u,d,h)),l=b(c(r[e],a,m,p));g(M,t+k,l),x(M,t,l,k,0,2*w)}};if(i)i.forEach(P);else for(let e=l;n>=e;e++)P(e);return{stroke:v>0?M:null,fill:M,clip:T,flags:3}}))}}function Gl(e){return(t,l,n,i,s,o)=>{n!=i&&(s!=n&&o!=n&&e(t,l,n),s!=i&&o!=i&&e(t,l,i),e(t,l,o))}}const Il=Gl(El),Ol=Gl(Pl);function Ll(e){return(t,l,n,s)=>bl(t,l,((o,r,u,a,f,c,h,p,d,m,g)=>{[n,s]=i(u,n,s);let x,w,b=o.pxRound,_=e?.alignGaps??o.alignGaps??0,v=e=>b(c(e,a,m,p)),k=e=>b(h(e,f,g,d));0==a.ori?(x=El,w=Il):(x=Pl,w=Ol);const y=a.dir*(0==a.ori?1:-1),M={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},T=M.stroke;let S=!1;if(s-n<4*m)for(let e=1==y?n:s;e>=n&&s>=e;e+=y){let t=u[e];null===t?S=!0:null!=t&&x(T,v(r[e]),k(t))}else{let e,l,i,o=e=>t.posToVal(e,a.key,!0),f=null,c=null,h=v(r[1==y?n:s]),p=v(r[n]),d=v(r[s]),m=o(1==y?p+1:d-1);for(let t=1==y?n:s;t>=n&&s>=t;t+=y){let n=r[t],i=(1==y?m>n:n>m)?h:v(n),s=u[t];i==h?null!=s?(l=s,null==f?(x(T,i,k(l)),e=f=c=l):f>l?f=l:l>c&&(c=l)):null===s&&(S=!0):(null!=f&&w(T,h,k(f),k(c),k(e),k(l)),null!=s?(l=s,x(T,i,k(l)),f=c=e=l):(f=c=null,null===s&&(S=!0)),h=i,m=o(h+y))}null!=f&&f!=c&&i!=h&&w(T,h,k(f),k(c),k(e),k(l))}let[z,D]=_l(t,l);if(null!=o.fill||0!=z){let e=M.fill=new Path2D(T),i=k(o.fillTo(t,l,o.min,o.max,z)),u=v(r[n]),a=v(r[s]);-1==y&&([a,u]=[u,a]),x(e,a,i),x(e,u,i)}if(!o.spanGaps){let e=S?Ml(r,u,n,s,y,v,_):[];M.gaps=e=o.gaps(t,l,n,s,e),M.clip=yl(e,a.ori,p,d,m,g)}return 0!=D&&(M.band=2==D?[kl(t,l,n,s,T,-1),kl(t,l,n,s,T,1)]:kl(t,l,n,s,T,D)),M}))}function Ul(e,t,l,n,i,s,o=P){if(e.length>1){let r=null;for(let u=0,a=1/0;e.length>u;u++)if(void 0!==t[u]){if(null!=r){let t=b(e[u]-e[r]);a>t&&(a=t,o=b(l(e[u],n,i,s)-l(e[r],n,i,s)))}r=u}}return o}function Nl(e,t,l,n,i){const s=e.length;if(2>s)return null;const o=new Path2D;if(l(o,e[0],t[0]),2==s)n(o,e[1],t[1]);else{let l=Array(s),n=Array(s-1),r=Array(s-1),u=Array(s-1);for(let l=0;s-1>l;l++)r[l]=t[l+1]-t[l],u[l]=e[l+1]-e[l],n[l]=r[l]/u[l];l[0]=n[0];for(let e=1;s-1>e;e++)0===n[e]||0===n[e-1]||n[e-1]>0!=n[e]>0?l[e]=0:(l[e]=3*(u[e-1]+u[e])/((2*u[e]+u[e-1])/n[e-1]+(u[e]+2*u[e-1])/n[e]),isFinite(l[e])||(l[e]=0));l[s-1]=n[s-2];for(let n=0;s-1>n;n++)i(o,e[n]+u[n]/3,t[n]+l[n]*u[n]/3,e[n+1]-u[n]/3,t[n+1]-l[n+1]*u[n]/3,e[n+1],t[n+1])}return o}const jl=new Set;function Vl(){for(let e of jl)e.syncRect(!0)}De&&(Be("resize",Pe,Vl),Be("scroll",Pe,Vl,!0),Be(Me,Pe,(()=>{on.pxRatio=Ae})));const Bl=Ll(),Zl=Fl();function $l(e,t,l,n){return(n?[e[0],e[1]].concat(e.slice(2)):[e[0]].concat(e.slice(1))).map(((e,n)=>Jl(e,n,t,l)))}function Jl(e,t,l,n){return oe({},0==t?l:n,e)}function ql(e,t,l){return null==t?K:[t,l]}const Kl=ql;function Xl(e,t,l){return null==t?K:h(t,l,u,!0)}function Ql(e,t,l,n){return null==t?K:o(t,l,e.scales[n].log,!0)}const en=Ql;function tn(e,t,l,n){return null==t?K:r(t,l,e.scales[n].log,!0)}const ln=tn;function nn(t,l,n,i,s){let o=M(A(t),A(l)),r=l-t,u=e(s/i*r,n);do{let e=n[u],t=i*e/r;if(t>=s&&17>=o+(5>e?B.get(e):0))return[e,t]}while(++u(l=v((n=+i)*t))+"px")),l,n]}function on(t,f,c){let d=t.pxRatio??Ae;function m(e){d=g.pxRatio=e??Ae,De.forEach((e=>function(e,t){e.show&&[e.font,e.labelFont].forEach((e=>{let l=V(e[2]*t,1);e[0]=e[0].replace(/[0-9.]+px/,l+"px"),e[1]=l}))}(e,d))),yl(g.width,g.height,!0)}const g={mode:p(t.mode,1),pxRatio:d,setPxRatio:m};g.setPxRatio=m;const _=g.mode;function S(e,t,l,n){let i=t.valToPct(e);return n+l*(-1==t.dir?1-i:i)}function D(e,t,l,n){let i=t.valToPct(e);return n+l*(-1==t.dir?i:1-i)}function A(e,t,l,n){return 0==t.ori?S(e,t,l,n):D(e,t,l,n)}g.valToPosH=S,g.valToPosV=D;let H=!1;g.status=0;const O=g.root=Fe("uplot");null!=t.id&&(O.id=t.id),We(O,t.class),t.title&&(Fe("u-title",O).textContent=t.title);const L=Re("canvas"),N=g.ctx=L.getContext("2d"),j=Fe("u-wrap",O);Be("click",j,(e=>{e.target===Q&&(jn!=On||Vn!=Ln)&&ti.click(g,e)}),!0);const $=g.under=Fe("u-under",j);j.appendChild(L);const Q=g.over=Fe("u-over",j),ne=(t=se(t)).cache??!0,ie=+p(t.pxAlign,1),re=Tl(ie);(t.plugins||[]).forEach((e=>{e.opts&&(t=e.opts(g,t)||t)}));const me=t.ms||.001,ye=g.series=1==_?$l(t.series||[],qt,pl,!1):function(e,t){return e.map(((e,l)=>0==l?{}:oe({},t,e)))}(t.series||[null],hl),De=g.axes=$l(t.axes||[],Jt,al,!0),Ce=g.scales={},Ge=g.bands=t.bands||[];Ge.forEach((e=>{e.fill=Y(e.fill||null),e.dir=p(e.dir,-1)}));const Oe=2==_?ye[1].facets[0].scale:ye[0].scale,Ue={axes:function(){for(let e=0;De.length>e;e++){let t=De[e];if(!t.show||!t._show)continue;let l,n,i=t.side,s=i%2,o=t.stroke(g,e),r=0==i||3==i?-1:1,[u,a]=t._found;if(null!=t.label){let f=v((t._lpos+t.labelGap*r)*d);vn(t.labelFont[0],o,"center",2==i?ce:he),N.save(),1==s?(l=n=0,N.translate(f,v(nl+sl/2)),N.rotate((3==i?-w:w)/2)):(l=v(ll+il/2),n=f);let c=W(t.label)?t.label(g,e,u,a):t.label;N.fillText(c,l,n),N.restore()}if(0==a)continue;let f=Ce[t.scale],c=0==s?il:sl,h=0==s?ll:nl,p=t._splits,m=2==f.distr?p.map((e=>gn[e])):p,x=2==f.distr?gn[p[1]]-gn[p[0]]:u,b=t.ticks,_=t.border,k=b.show?b.size:0,y=v(k*d),M=v((2==t.alignTo?t._size-k-t.gap:t.gap)*d),T=t._rotate*-w/180,S=re(t._pos*d),z=S+(y+M)*r;n=0==s?z:0,l=1==s?z:0,vn(t.font[0],o,1==t.align?pe:2==t.align?de:T>0?pe:0>T?de:0==s?"center":3==i?de:pe,T||1==s?"middle":2==i?ce:he);let D=t.font[1]*t.lineGap,E=p.map((e=>re(A(e,f,c,h)))),P=t._values;for(let e=0;P.length>e;e++){let t=P[e];if(null!=t){0==s?l=E[e]:n=E[e],t=""+t;let i=-1==t.indexOf("\n")?[t]:t.split(/\n/gm);for(let e=0;i.length>e;e++){let t=i[e];T?(N.save(),N.translate(l,n+e*D),N.rotate(T),N.fillText(t,0,0),N.restore()):N.fillText(t,l,n+e*D)}}}b.show&&Pn(E,b.filter(g,m,e,a,x),s,i,S,y,V(b.width*d,3),b.stroke(g,e),b.dash,b.cap);let C=t.grid;C.show&&Pn(E,C.filter(g,m,e,a,x),s,0==s?2:1,0==s?nl:ll,0==s?sl:il,V(C.width*d,3),C.stroke(g,e),C.dash,C.cap),_.show&&Pn([S],[1],0==s?1:0,0==s?1:2,1==s?nl:ll,1==s?sl:il,V(_.width*d,3),_.stroke(g,e),_.dash,_.cap)}Fi("drawAxes")},series:function(){if(Ll>0){let e=ye.some((e=>e._focus))&&mn!=El.alpha;e&&(N.globalAlpha=mn=El.alpha),ye.forEach(((e,t)=>{if(t>0&&e.show&&(Mn(t,!1),Mn(t,!0),null==e._paths)){let l=mn;mn!=e.alpha&&(N.globalAlpha=mn=e.alpha);let n=2==_?[0,f[t][0].length-1]:function(e){let t=C(Ul-1,0,Ll-1),l=C(Nl+1,0,Ll-1);for(;null==e[t]&&t>0;)t--;for(;null==e[l]&&Ll-1>l;)l++;return[t,l]}(f[t]);e._paths=e.paths(g,t,n[0],n[1]),mn!=l&&(N.globalAlpha=mn=l)}})),ye.forEach(((e,t)=>{if(t>0&&e.show){let l=mn;mn!=e.alpha&&(N.globalAlpha=mn=e.alpha),null!=e._paths&&Tn(t,!1);{let l=null!=e._paths?e._paths.gaps:null,n=e.points.show(g,t,Ul,Nl,l),i=e.points.filter(g,t,n,l);(n||i)&&(e.points._paths=e.points.paths(g,t,Ul,Nl,i),Tn(t,!0))}mn!=l&&(N.globalAlpha=mn=l),Fi("drawSeries",t)}})),e&&(N.globalAlpha=mn=1)}}},je=(t.drawOrder||["axes","series"]).map((e=>Ue[e]));function Ve(e){const t=3==e.distr?t=>z(t>0?t:e.clamp(g,t,e.min,e.max,e.key)):4==e.distr?t=>E(t,e.asinh):100==e.distr?t=>e.fwd(t):e=>e;return l=>{let n=t(l),{_min:i,_max:s}=e;return(n-i)/(s-i)}}function $e(e){let l=Ce[e];if(null==l){let n=(t.scales||J)[e]||J;if(null!=n.from){$e(n.from);let t=oe({},Ce[n.from],n,{key:e});t.valToPct=Ve(t),Ce[e]=t}else{l=Ce[e]=oe({},e==Oe?ml:gl,n),l.key=e;let t=l.time,i=l.range,s=X(i);if((e!=Oe||2==_&&!t)&&(!s||null!=i[0]&&null!=i[1]||(i={min:null==i[0]?a:{mode:1,hard:i[0],soft:i[0]},max:null==i[1]?a:{mode:1,hard:i[1],soft:i[1]}},s=!1),!s&&te(i))){let e=i;i=(t,l,n)=>null==l?K:h(l,n,e)}l.range=Y(i||(t?Kl:e==Oe?3==l.distr?en:4==l.distr?ln:ql:3==l.distr?Ql:4==l.distr?tn:Xl)),l.auto=Y(!s&&l.auto),l.clamp=Y(l.clamp||dl),l._min=l._max=null,l.valToPct=Ve(l)}}}$e("x"),$e("y"),1==_&&ye.forEach((e=>{$e(e.scale)})),De.forEach((e=>{$e(e.scale)}));for(let e in t.scales)$e(e);const Je=Ce[Oe],qe=Je.distr;let Ke,Xe;0==Je.ori?(We(O,"u-hz"),Ke=S,Xe=D):(We(O,"u-vt"),Ke=D,Xe=S);const Qe={};for(let e in Ce){let t=Ce[e];null==t.min&&null==t.max||(Qe[e]={min:t.min,max:t.max},t.min=t.max=null)}const et=t.tzDate||(e=>new Date(v(e/me))),tt=t.fmtDate||lt,nt=1==me?Pt(et):Wt(et),it=Ht(et,Yt(1==me?Et:Ct,tt)),st=Ft(et,Rt("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",tt)),ot=[],rt=g.legend=oe({},Gt,t.legend),ut=g.cursor=oe({},Ut,{drag:{y:2==_}},t.cursor),at=rt.show,ft=ut.show,ct=rt.markers;let ht,pt,dt;rt.idxs=ot,ct.width=Y(ct.width),ct.dash=Y(ct.dash),ct.stroke=Y(ct.stroke),ct.fill=Y(ct.fill);let xt,wt=[],bt=[],_t=!1,vt={};if(rt.live){const e=ye[1]?ye[1].values:null;_t=null!=e,xt=_t?e(g,1,0):{_:0};for(let e in xt)vt[e]=Te}if(at)if(ht=Re("table","u-legend",O),dt=Re("tbody",null,ht),rt.mount(g,ht),_t){pt=Re("thead",null,ht,dt);let e=Re("tr",null,pt);for(var kt in Re("th",null,e),xt)Re("th",ze,e).textContent=kt}else We(ht,"u-inline"),rt.live&&We(ht,"u-live");const yt={show:!0},Mt={show:!1},Tt=new Map;function St(e,t,l,n=!0){const i=Tt.get(t)||{},s=ut.bind[e](g,t,l,n);s&&(Be(e,t,i[e]=s),Tt.set(t,i))}function zt(e,t){const l=Tt.get(t)||{};for(let n in l)null!=e&&n!=e||(Ze(n,t,l[n]),delete l[n]);null==e&&Tt.delete(t)}let It=0,Ot=0,Lt=0,Nt=0,jt=0,Vt=0,Bt=jt,Zt=Vt,$t=Lt,tl=Nt,ll=0,nl=0,il=0,sl=0;g.bbox={};let fl=!1,cl=!1,xl=!1,bl=!1,_l=!1,kl=!1;function yl(e,t,l){(l||e!=g.width||t!=g.height)&&Ml(e,t),Wn(!1),xl=!0,cl=!0,qn()}function Ml(e,t){g.width=It=Lt=e,g.height=Ot=Nt=t,jt=Vt=0,function(){let e=!1,t=!1,l=!1,n=!1;De.forEach((i=>{if(i.show&&i._show){let{side:s,_size:o}=i,r=o+(null!=i.label?i.labelSize:0);r>0&&(s%2?(Lt-=r,3==s?(jt+=r,n=!0):l=!0):(Nt-=r,0==s?(Vt+=r,e=!0):t=!0))}})),Fl[0]=e,Fl[1]=l,Fl[2]=t,Fl[3]=n,Lt-=Ol[1]+Ol[3],jt+=Ol[3],Nt-=Ol[2]+Ol[0],Vt+=Ol[0]}(),function(){let e=jt+Lt,t=Vt+Nt,l=jt,n=Vt;function i(i,s){switch(i){case 1:return e+=s,e-s;case 2:return t+=s,t-s;case 3:return l-=s,l+s;case 0:return n-=s,n+s}}De.forEach((e=>{if(e.show&&e._show){let t=e.side;e._pos=i(t,e._size),null!=e.label&&(e._lpos=i(t,e.labelSize))}}))}();let l=g.bbox;ll=l.left=U(jt*d,.5),nl=l.top=U(Vt*d,.5),il=l.width=U(Lt*d,.5),sl=l.height=U(Nt*d,.5)}const Sl=3;if(g.setSize=function({width:e,height:t}){yl(e,t)},null==ut.dataIdx){let e=ut.hover,t=e.skip=new Set(e.skip??[]);t.add(void 0);let l=e.prox=Y(e.prox),n=e.bias??=0;ut.dataIdx=(e,i,s,o)=>{if(0==i)return s;let r=s,u=l(e,i,s,o)??P,a=u>=0&&P>u,c=0==Je.ori?Lt:Nt,h=ut.left,p=f[0],d=f[i];if(t.has(d[s])){r=null;let e,l=null,i=null;if(0==n||-1==n)for(e=s;null==l&&--e>=Ul;)t.has(d[e])||(l=e);if(0==n||1==n)for(e=s;null==i&&++e<=Nl;)t.has(d[e])||(i=e);if(null!=l||null!=i)if(a){let e=h-(null==l?-1/0:Ke(p[l],Je,c,0)),t=(null==i?1/0:Ke(p[i],Je,c,0))-h;e>t?t>u||(r=i):e>u||(r=l)}else r=null==i?l:null==l||s-l>i-s?i:l}else a&&b(h-Ke(p[s],Je,c,0))>u&&(r=null);return r}}const zl=e=>{ut.event=e};ut.idxs=ot,ut._lock=!1;let Dl=ut.points;Dl.show=Y(Dl.show),Dl.size=Y(Dl.size),Dl.stroke=Y(Dl.stroke),Dl.width=Y(Dl.width),Dl.fill=Y(Dl.fill);const El=g.focus=oe({},t.focus||{alpha:.3},ut.focus),Pl=El.prox>=0,Al=Pl&&Dl.one;let Cl=[],Wl=[],Yl=[];function Hl(e,t){let l=Dl.show(g,t);if(l instanceof HTMLElement)return We(l,"u-cursor-pt"),We(l,e.class),Ie(l,-10,-10,Lt,Nt),Q.insertBefore(l,Cl[t]),l}function Rl(e,t){if(1==_||t>0){let t=1==_&&Ce[e.scale].time,l=e.value;e.value=t?ee(l)?Ft(et,Rt(l,tt)):l||st:l||ul,e.label=e.label||(t?"Time":"Value")}if(Al||t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||Bl||F,e.fillTo=Y(e.fillTo||vl),e.pxAlign=+p(e.pxAlign,ie),e.pxRound=Tl(e.pxAlign),e.stroke=Y(e.stroke||null),e.fill=Y(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;let t=function(e){return V(1*(3+2*(e||1)),3)}(M(1,e.width)),l=e.points=oe({},{size:t,width:M(1,.2*t),stroke:e.stroke,space:2*t,paths:Zl,_stroke:null,_fill:null},e.points);l.show=Y(l.show),l.filter=Y(l.filter),l.fill=Y(l.fill),l.stroke=Y(l.stroke),l.paths=Y(l.paths),l.pxAlign=e.pxAlign}if(at){let l=function(e,t){if(0==t&&(_t||!rt.live||2==_))return K;let l=[],n=Re("tr","u-series",dt,dt.childNodes[t]);We(n,e.class),e.show||We(n,Se);let i=Re("th",null,n);if(ct.show){let e=Fe("u-marker",i);if(t>0){let l=ct.width(g,t);l&&(e.style.border=l+"px "+ct.dash(g,t)+" "+ct.stroke(g,t)),e.style.background=ct.fill(g,t)}}let s=Fe(ze,i);for(var o in e.label instanceof HTMLElement?s.appendChild(e.label):s.textContent=e.label,t>0&&(ct.show||(s.style.color=e.width>0?ct.stroke(g,t):ct.fill(g,t)),St("click",i,(t=>{if(ut._lock)return;zl(t);let l=ye.indexOf(e);if((t.ctrlKey||t.metaKey)!=rt.isolate){let e=ye.some(((e,t)=>t>0&&t!=l&&e.show));ye.forEach(((t,n)=>{n>0&&ui(n,e?n==l?yt:Mt:yt,!0,Ii.setSeries)}))}else ui(l,{show:!e.show},!0,Ii.setSeries)}),!1),Pl&&St(_e,i,(t=>{ut._lock||(zl(t),ui(ye.indexOf(e),hi,!0,Ii.setSeries))}),!1)),xt){let e=Re("td","u-value",n);e.textContent="--",l.push(e)}return[n,l]}(e,t);wt.splice(t,0,l[0]),bt.splice(t,0,l[1]),rt.values.push(null)}if(ft){ot.splice(t,0,null);let l=null;Al?0==t&&(l=Hl(e,t)):t>0&&(l=Hl(e,t)),Cl.splice(t,0,l),Wl.splice(t,0,0),Yl.splice(t,0,0)}Fi("addSeries",t)}g.addSeries=function(e,t){t=null==t?ye.length:t,e=1==_?Jl(e,t,qt,pl):Jl(e,t,{},hl),ye.splice(t,0,e),Rl(ye[t],t)},g.delSeries=function(e){if(ye.splice(e,1),at){rt.values.splice(e,1),bt.splice(e,1);let t=wt.splice(e,1)[0];zt(null,t.firstChild),t.remove()}ft&&(ot.splice(e,1),Cl.splice(e,1)[0].remove(),Wl.splice(e,1),Yl.splice(e,1)),Fi("delSeries",e)};const Fl=[!1,!1,!1,!1];function Gl(e,t,l){let[n,i,s,o]=l,r=t%2,u=0;return 0==r&&(o||i)&&(u=0==t&&!n||2==t&&!s?v(Jt.size/3):0),1==r&&(n||s)&&(u=1==t&&!i||3==t&&!o?v(al.size/2):0),u}const Il=g.padding=(t.padding||[Gl,Gl,Gl,Gl]).map((e=>Y(p(e,Gl)))),Ol=g._padding=Il.map(((e,t)=>e(g,t,Fl,0)));let Ll,Ul=null,Nl=null;const Vl=1==_?ye[0].idxs:null;let on,rn,un,an,fn,cn,hn,pn,dn,mn,gn=null,xn=!1;function wn(e,t){if(g.data=g._data=f=null==e?[]:e,2==_){Ll=0;for(let e=1;ye.length>e;e++)Ll+=f[e][0].length}else{0==f.length&&(g.data=g._data=f=[[]]),gn=f[0],Ll=gn.length;let e=f;if(2==qe){e=f.slice();let t=e[0]=Array(Ll);for(let e=0;Ll>e;e++)t[e]=e}g._data=f=e}if(Wn(!0),Fi("setData"),2==qe&&(xl=!0),!1!==t){let e=Je;e.auto(g,xn)?bn():ri(Oe,e.min,e.max),bl=bl||ut.left>=0,kl=!0,qn()}}function bn(){let e,t;xn=!0,1==_&&(Ll>0?(Ul=Vl[0]=0,Nl=Vl[1]=Ll-1,e=f[0][Ul],t=f[0][Nl],2==qe?(e=Ul,t=Nl):e==t&&(3==qe?[e,t]=o(e,e,Je.log,!1):4==qe?[e,t]=r(e,e,Je.log,!1):Je.time?t=e+v(86400/me):[e,t]=h(e,t,u,!0))):(Ul=Vl[0]=e=null,Nl=Vl[1]=t=null)),ri(Oe,e,t)}function _n(e,t,l,n,i,s){e??=ge,l??=q,n??="butt",i??=ge,s??="round",e!=on&&(N.strokeStyle=on=e),i!=rn&&(N.fillStyle=rn=i),t!=un&&(N.lineWidth=un=t),s!=fn&&(N.lineJoin=fn=s),n!=cn&&(N.lineCap=cn=n),l!=an&&N.setLineDash(an=l)}function vn(e,t,l,n){t!=rn&&(N.fillStyle=rn=t),e!=hn&&(N.font=hn=e),l!=pn&&(N.textAlign=pn=l),n!=dn&&(N.textBaseline=dn=n)}function kn(e,t,o,r,u=0){if(r.length>0&&e.auto(g,xn)&&(null==t||null==t.min)){let t=p(Ul,0),a=p(Nl,r.length-1),f=null==o.min?function(e,t,o,r=0,u=!1){let a=u?s:i,f=u?n:l;[t,o]=a(e,t,o);let c=e[t],h=e[t];if(t>-1)if(1==r)c=e[t],h=e[o];else if(-1==r)c=e[o],h=e[t];else for(let l=t;o>=l;l++){let t=e[l];f(t)&&(c>t?c=t:t>h&&(h=t))}return[c??P,h??-P]}(r,t,a,u,3==e.distr):[o.min,o.max];e.min=y(e.min,o.min=f[0]),e.max=M(e.max,o.max=f[1])}}g.setData=wn;const yn={min:null,max:null};function Mn(e,t){let l=t?ye[e].points:ye[e];l._stroke=l.stroke(g,e),l._fill=l.fill(g,e)}function Tn(e,t){let l=t?ye[e].points:ye[e],{stroke:n,fill:i,clip:s,flags:o,_stroke:r=l._stroke,_fill:u=l._fill,_width:a=l.width}=l._paths;a=V(a*d,3);let c=null,h=a%2/2;t&&null==u&&(u=a>0?"#fff":r);let m=1==l.pxAlign&&h>0;if(m&&N.translate(h,h),!t){let e=ll-a/2,t=nl-a/2,l=il+a,n=sl+a;c=new Path2D,c.rect(e,t,l,n)}t?zn(r,a,l.dash,l.cap,u,n,i,o,s):function(e,t,l,n,i,s,o,r,u,a,c){let h=!1;0!=u&&Ge.forEach(((d,m)=>{if(d.series[0]==e){let e,x=ye[d.series[1]],w=f[d.series[1]],b=(x._paths||J).band;X(b)&&(b=1==d.dir?b[0]:b[1]);let _=null;x.show&&b&&function(e,t,l){for(t=p(t,0),l=p(l,e.length-1);l>=t;){if(null!=e[t])return!0;t++}return!1}(w,Ul,Nl)?(_=d.fill(g,m)||s,e=x._paths.clip):b=null,zn(t,l,n,i,_,o,r,u,a,c,e,b),h=!0}})),h||zn(t,l,n,i,s,o,r,u,a,c)}(e,r,a,l.dash,l.cap,u,n,i,o,c,s),m&&N.translate(-h,-h)}const Sn=3;function zn(e,t,l,n,i,s,o,r,u,a,f,c){_n(e,t,l,n,i),(u||a||c)&&(N.save(),u&&N.clip(u),a&&N.clip(a)),c?(r&Sn)==Sn?(N.clip(c),f&&N.clip(f),En(i,o),Dn(e,s,t)):2&r?(En(i,o),N.clip(c),Dn(e,s,t)):1&r&&(N.save(),N.clip(c),f&&N.clip(f),En(i,o),N.restore(),Dn(e,s,t)):(En(i,o),Dn(e,s,t)),(u||a||c)&&N.restore()}function Dn(e,t,l){l>0&&(t instanceof Map?t.forEach(((e,t)=>{N.strokeStyle=on=t,N.stroke(e)})):null!=t&&e&&N.stroke(t))}function En(e,t){t instanceof Map?t.forEach(((e,t)=>{N.fillStyle=rn=t,N.fill(e)})):null!=t&&e&&N.fill(t)}function Pn(e,t,l,n,i,s,o,r,u,a){let f=o%2/2;1==ie&&N.translate(f,f),_n(r,o,u,a,r),N.beginPath();let c,h,p,d,m=i+(0==n||3==n?-s:s);0==l?(h=i,d=m):(c=i,p=m);for(let n=0;e.length>n;n++)null!=t[n]&&(0==l?c=p=e[n]:h=d=e[n],N.moveTo(c,h),N.lineTo(p,d));N.stroke(),1==ie&&N.translate(-f,-f)}function An(e){let t=!0;return De.forEach(((l,n)=>{if(!l.show)return;let i=Ce[l.scale];if(null==i.min)return void(l._show&&(t=!1,l._show=!1,Wn(!1)));l._show||(t=!1,l._show=!0,Wn(!1));let s=l.side,o=s%2,{min:r,max:u}=i,[a,f]=function(e,t,l,n){let i,s=De[e];if(n>0){let o=s._space=s.space(g,e,t,l,n);i=nn(t,l,s._incrs=s.incrs(g,e,t,l,n,o),n,o)}else i=[0,0];return s._found=i}(n,r,u,0==o?Lt:Nt);if(0==f)return;let c=l._splits=l.splits(g,n,r,u,a,f,2==i.distr),h=2==i.distr?c.map((e=>gn[e])):c,p=2==i.distr?gn[c[1]]-gn[c[0]]:a,d=l._values=l.values(g,l.filter(g,h,n,f,p),n,f,p);l._rotate=2==s?l.rotate(g,d,n,f):0;let m=l._size;l._size=k(l.size(g,d,n,e)),null!=m&&l._size!=m&&(t=!1)})),t}function Cn(e){let t=!0;return Il.forEach(((l,n)=>{let i=l(g,n,Fl,e);i!=Ol[n]&&(t=!1),Ol[n]=i})),t}function Wn(e){ye.forEach(((t,l)=>{l>0&&(t._paths=null,e&&(1==_?(t.min=null,t.max=null):t.facets.forEach((e=>{e.min=null,e.max=null}))))}))}let Yn,Hn,Rn,Fn,Gn,In,On,Ln,Un,Nn,jn,Vn,Bn=!1,Zn=!1,$n=[];function Jn(){Zn=!1;for(let e=0;$n.length>e;e++)Fi(...$n[e]);$n.length=0}function qn(){Bn||(ue(Kn),Bn=!0)}function Kn(){if(fl&&(function(){for(let e in Ce){let t=Ce[e];null==Qe[e]&&(null==t.min||null!=Qe[Oe]&&t.auto(g,xn))&&(Qe[e]=yn)}for(let e in Ce){let t=Ce[e];null==Qe[e]&&null!=t.from&&null!=Qe[t.from]&&(Qe[e]=yn)}null!=Qe[Oe]&&Wn(!0);let t={};for(let e in Qe){let l=Qe[e];if(null!=l){let n=t[e]=se(Ce[e],le);if(null!=l.min)oe(n,l);else if(e!=Oe||2==_)if(0==Ll&&null==n.from){let t=n.range(g,null,null,e);n.min=t[0],n.max=t[1]}else n.min=P,n.max=-P}}if(Ll>0){ye.forEach(((l,n)=>{if(1==_){let i=l.scale,s=Qe[i];if(null==s)return;let o=t[i];if(0==n){let t=o.range(g,o.min,o.max,i);o.min=t[0],o.max=t[1],Ul=e(o.min,f[0]),Nl=e(o.max,f[0]),Nl-Ul>1&&(o.min>f[0][Ul]&&Ul++,f[0][Nl]>o.max&&Nl--),l.min=gn[Ul],l.max=gn[Nl]}else l.show&&l.auto&&kn(o,s,l,f[n],l.sorted);l.idxs[0]=Ul,l.idxs[1]=Nl}else if(n>0&&l.show&&l.auto){let[e,i]=l.facets,s=e.scale,o=i.scale,[r,u]=f[n],a=t[s],c=t[o];null!=a&&kn(a,Qe[s],e,r,e.sorted),null!=c&&kn(c,Qe[o],i,u,i.sorted),l.min=i.min,l.max=i.max}}));for(let e in t){let l=t[e],n=Qe[e];if(null==l.from&&(null==n||null==n.min)){let t=l.range(g,l.min==P?null:l.min,l.max==-P?null:l.max,e);l.min=t[0],l.max=t[1]}}}for(let e in t){let l=t[e];if(null!=l.from){let n=t[l.from];if(null==n.min)l.min=l.max=null;else{let t=l.range(g,n.min,n.max,e);l.min=t[0],l.max=t[1]}}}let l={},n=!1;for(let e in t){let i=t[e],s=Ce[e];if(s.min!=i.min||s.max!=i.max){s.min=i.min,s.max=i.max;let t=s.distr;s._min=3==t?z(s.min):4==t?E(s.min,s.asinh):100==t?s.fwd(s.min):s.min,s._max=3==t?z(s.max):4==t?E(s.max,s.asinh):100==t?s.fwd(s.max):s.max,l[e]=n=!0}}if(n){ye.forEach(((e,t)=>{2==_?t>0&&l.y&&(e._paths=null):l[e.scale]&&(e._paths=null)}));for(let e in l)xl=!0,Fi("setScale",e);ft&&ut.left>=0&&(bl=kl=!0)}for(let e in Qe)Qe[e]=null}(),fl=!1),xl&&(function(){let e=!1,t=0;for(;!e;){t++;let l=An(t),n=Cn(t);e=t==Sl||l&&n,e||(Ml(g.width,g.height),cl=!0)}}(),xl=!1),cl){if(He($,pe,jt),He($,ce,Vt),He($,ae,Lt),He($,fe,Nt),He(Q,pe,jt),He(Q,ce,Vt),He(Q,ae,Lt),He(Q,fe,Nt),He(j,ae,It),He(j,fe,Ot),L.width=v(It*d),L.height=v(Ot*d),De.forEach((({_el:e,_show:t,_size:l,_pos:n,side:i})=>{if(null!=e)if(t){let t=i%2==1;He(e,t?"left":"top",n-(3===i||0===i?l:0)),He(e,t?"width":"height",l),He(e,t?"top":"left",t?Vt:jt),He(e,t?"height":"width",t?Nt:Lt),Ye(e,Se)}else We(e,Se)})),on=rn=un=fn=cn=hn=pn=dn=an=null,mn=1,ki(!0),jt!=Bt||Vt!=Zt||Lt!=$t||Nt!=tl){Wn(!1);let e=Lt/$t,t=Nt/tl;if(ft&&!bl&&ut.left>=0){ut.left*=e,ut.top*=t,Rn&&Ie(Rn,v(ut.left),0,Lt,Nt),Fn&&Ie(Fn,0,v(ut.top),Lt,Nt);for(let l=0;Cl.length>l;l++){let n=Cl[l];null!=n&&(Wl[l]*=e,Yl[l]*=t,Ie(n,k(Wl[l]),k(Yl[l]),Lt,Nt))}}if(ii.show&&!_l&&ii.left>=0&&ii.width>0){ii.left*=e,ii.width*=e,ii.top*=t,ii.height*=t;for(let e in Ti)He(si,e,ii[e])}Bt=jt,Zt=Vt,$t=Lt,tl=Nt}Fi("setSize"),cl=!1}It>0&&Ot>0&&(N.clearRect(0,0,L.width,L.height),Fi("drawClear"),je.forEach((e=>e())),Fi("draw")),ii.show&&_l&&(oi(ii),_l=!1),ft&&bl&&(_i(null,!0,!1),bl=!1),rt.show&&rt.live&&kl&&(wi(),kl=!1),H||(H=!0,g.status=1,Fi("ready")),xn=!1,Bn=!1,ne||Xn()}function Xn(){ye.forEach(((e,t)=>{t>0&&(e._paths=null)}))}function Qn(t,l){let n=Ce[t];if(null==n.from){if(0==Ll){let e=n.range(g,l.min,l.max,t);l.min=e[0],l.max=e[1]}if(l.min>l.max){let e=l.min;l.min=l.max,l.max=e}if(Ll>1&&null!=l.min&&null!=l.max&&1e-16>l.max-l.min)return;t==Oe&&2==n.distr&&Ll>0&&(l.min=e(l.min,f[0]),l.max=e(l.max,f[0]),l.min==l.max&&l.max++),Qe[t]=l,fl=!0,qn()}}g.batch=function(e,t=!1){Bn=!0,Zn=t,e(g),Kn(),t&&$n.length>0&&queueMicrotask(Jn)},g.clearCache=Xn,g.redraw=(e,t)=>{xl=t||!1,!1!==e?ri(Oe,Je.min,Je.max):qn()},g.setScale=Qn;let ei=!1;const ti=ut.drag;let li=ti.x,ni=ti.y;ft&&(ut.x&&(Yn=Fe("u-cursor-x",Q)),ut.y&&(Hn=Fe("u-cursor-y",Q)),0==Je.ori?(Rn=Yn,Fn=Hn):(Rn=Hn,Fn=Yn),jn=ut.left,Vn=ut.top);const ii=g.select=oe({show:!0,over:!0,left:0,width:0,top:0,height:0},t.select),si=ii.show?Fe("u-select",ii.over?Q:$):null;function oi(e,t){if(ii.show){for(let t in e)ii[t]=e[t],t in Ti&&He(si,t,e[t]);!1!==t&&Fi("setSelect")}}function ri(e,t,l){Qn(e,{min:t,max:l})}function ui(e,t,l,n){null!=t.focus&&function(e){if(e!=ci){let t=null==e,l=1!=El.alpha;ye.forEach(((n,i)=>{if(1==_||i>0){let s=t||0==i||i==e;n._focus=t?null:s,l&&function(e,t){ye[e].alpha=t,ft&&null!=Cl[e]&&(Cl[e].style.opacity=t),at&&wt[e]&&(wt[e].style.opacity=t)}(i,s?1:El.alpha)}})),ci=e,l&&qn()}}(e),null!=t.show&&ye.forEach(((l,n)=>{0>=n||e!=n&&null!=e||(l.show=t.show,function(e){if(ye[e].show)at&&Ye(wt[e],Se);else if(at&&We(wt[e],Se),ft){let t=Al?Cl[0]:Cl[e];null!=t&&Ie(t,-10,-10,Lt,Nt)}}(n),2==_?(ri(l.facets[0].scale,null,null),ri(l.facets[1].scale,null,null)):ri(l.scale,null,null),qn())})),!1!==l&&Fi("setSeries",e,t),n&&Ui("setSeries",g,e,t)}let ai,fi,ci;g.setSelect=oi,g.setSeries=ui,g.addBand=function(e,t){e.fill=Y(e.fill||null),e.dir=p(e.dir,-1),Ge.splice(t=null==t?Ge.length:t,0,e)},g.setBand=function(e,t){oe(Ge[e],t)},g.delBand=function(e){null==e?Ge.length=0:Ge.splice(e,1)};const hi={focus:!0};function pi(e,t,l){let n=Ce[t];l&&(e=e/d-(1==n.ori?Vt:jt));let i=Lt;1==n.ori&&(i=Nt,e=i-e),-1==n.dir&&(e=i-e);let s=n._min,o=s+e/i*(n._max-s),r=n.distr;return 3==r?T(10,o):4==r?((e,t=1)=>x.sinh(e)*t)(o,n.asinh):100==r?n.bwd(o):o}function di(e,t){He(si,pe,ii.left=e),He(si,ae,ii.width=t)}function mi(e,t){He(si,ce,ii.top=e),He(si,fe,ii.height=t)}at&&Pl&&St(ve,ht,(e=>{ut._lock||(zl(e),null!=ci&&ui(null,hi,!0,Ii.setSeries))})),g.valToIdx=t=>e(t,f[0]),g.posToIdx=function(t,l){return e(pi(t,Oe,l),f[0],Ul,Nl)},g.posToVal=pi,g.valToPos=(e,t,l)=>0==Ce[t].ori?S(e,Ce[t],l?il:Lt,l?ll:0):D(e,Ce[t],l?sl:Nt,l?nl:0),g.setCursor=(e,t,l)=>{jn=e.left,Vn=e.top,_i(null,t,l)};let gi=0==Je.ori?di:mi,xi=1==Je.ori?di:mi;function wi(e,t){if(null!=e&&(e.idxs?e.idxs.forEach(((e,t)=>{ot[t]=e})):(e=>void 0===e)(e.idx)||ot.fill(e.idx),rt.idx=ot[0]),at&&rt.live){for(let e=0;ye.length>e;e++)(e>0||1==_&&!_t)&&bi(e,ot[e]);!function(){if(at&&rt.live)for(let e=2==_?1:0;ye.length>e;e++){if(0==e&&_t)continue;let t=rt.values[e],l=0;for(let n in t)bt[e][l++].firstChild.nodeValue=t[n]}}()}kl=!1,!1!==t&&Fi("setLegend")}function bi(e,t){let l,n=ye[e],i=0==e&&2==qe?gn:f[e];_t?l=n.values(g,e,t)??vt:(l=n.value(g,null==t?null:i[t],e,t),l=null==l?vt:{_:l}),rt.values[e]=l}function _i(t,l,n){let i;Un=jn,Nn=Vn,[jn,Vn]=ut.move(g,jn,Vn),ut.left=jn,ut.top=Vn,ft&&(Rn&&Ie(Rn,v(jn),0,Lt,Nt),Fn&&Ie(Fn,0,v(Vn),Lt,Nt)),ai=P,fi=null;let s=0==Je.ori?Lt:Nt,o=1==Je.ori?Lt:Nt;if(0>jn||0==Ll||Ul>Nl){i=ut.idx=null;for(let e=0;ye.length>e;e++){let t=Cl[e];null!=t&&Ie(t,-10,-10,Lt,Nt)}Pl&&ui(null,hi,!0,null==t&&Ii.setSeries),rt.live&&(ot.fill(i),kl=!0)}else{let t,l,n;1==_&&(t=0==Je.ori?jn:Vn,l=pi(t,Oe),i=ut.idx=e(l,f[0],Ul,Nl),n=Ke(f[0][i],Je,s,0));let r=-10,u=-10,a=0,c=0,h=!0,p="",d="";for(let e=2==_?1:0;ye.length>e;e++){let t=ye[e],m=ot[e],x=null==m?null:1==_?f[e][m]:f[e][1][m],w=ut.dataIdx(g,e,i,l),v=null==w?null:1==_?f[e][w]:f[e][1][w];if(kl=kl||v!=x||w!=m,ot[e]=w,e>0&&t.show){let l=null==w?-10:w==i?n:Ke(1==_?f[0][w]:f[e][0][w],Je,s,0),m=null==v?-10:Xe(v,1==_?Ce[t.scale]:Ce[t.facets[1].scale],o,0);if(Pl&&null!=v){let l=1==Je.ori?jn:Vn,n=b(El.dist(g,e,w,m,l));if(ai>n){let i=El.bias;if(0!=i){let s=pi(l,t.scale),o=0>s?-1:1;o!=(0>v?-1:1)||(1==o?1==i?s>v:v>s:1==i?v>s:s>v)||(ai=n,fi=e)}else ai=n,fi=e}}if(kl||Al){let t,n;0==Je.ori?(t=l,n=m):(t=m,n=l);let i,s,o,f,x,w,b=!0,_=Dl.bbox;if(null!=_){b=!1;let t=_(g,e);o=t.left,f=t.top,i=t.width,s=t.height}else o=t,f=n,i=s=Dl.size(g,e);if(w=Dl.fill(g,e),x=Dl.stroke(g,e),Al)e!=fi||ai>El.prox||(r=o,u=f,a=i,c=s,h=b,p=w,d=x);else{let t=Cl[e];null!=t&&(Wl[e]=o,Yl[e]=f,Ne(t,i,s,b),Le(t,w,x),Ie(t,k(o),k(f),Lt,Nt))}}}}if(Al){let e=El.prox;if(kl||(null==ci?e>=ai:ai>e||fi!=ci)){let e=Cl[0];null!=e&&(Wl[0]=r,Yl[0]=u,Ne(e,a,c,h),Le(e,p,d),Ie(e,k(r),k(u),Lt,Nt))}}}if(ii.show&&ei)if(null!=t){let[e,l]=Ii.scales,[n,i]=Ii.match,[r,u]=t.cursor.sync.scales,a=t.cursor.drag;if(li=a._x,ni=a._y,li||ni){let a,f,c,h,p,{left:d,top:m,width:g,height:x}=t.select,w=t.scales[r].ori,_=t.posToVal,v=null!=e&&n(e,r),k=null!=l&&i(l,u);v&&li?(0==w?(a=d,f=g):(a=m,f=x),c=Ce[e],h=Ke(_(a,r),c,s,0),p=Ke(_(a+f,r),c,s,0),gi(y(h,p),b(p-h))):gi(0,s),k&&ni?(1==w?(a=d,f=g):(a=m,f=x),c=Ce[l],h=Xe(_(a,u),c,o,0),p=Xe(_(a+f,u),c,o,0),xi(y(h,p),b(p-h))):xi(0,o)}else Si()}else{let e=b(Un-Gn),t=b(Nn-In);if(1==Je.ori){let l=e;e=t,t=l}li=ti.x&&e>=ti.dist,ni=ti.y&&t>=ti.dist;let l,n,i=ti.uni;null!=i?li&&ni&&(li=e>=i,ni=t>=i,li||ni||(t>e?ni=!0:li=!0)):ti.x&&ti.y&&(li||ni)&&(li=ni=!0),li&&(0==Je.ori?(l=On,n=jn):(l=Ln,n=Vn),gi(y(l,n),b(n-l)),ni||xi(0,o)),ni&&(1==Je.ori?(l=On,n=jn):(l=Ln,n=Vn),xi(y(l,n),b(n-l)),li||gi(0,s)),li||ni||(gi(0,0),xi(0,0))}if(ti._x=li,ti._y=ni,null==t){if(n){if(null!=Oi){let[e,t]=Ii.scales;Ii.values[0]=null!=e?pi(0==Je.ori?jn:Vn,e):null,Ii.values[1]=null!=t?pi(1==Je.ori?jn:Vn,t):null}Ui(xe,g,jn,Vn,Lt,Nt,i)}if(Pl){let e=n&&Ii.setSeries,t=El.prox;null==ci?ai>t||ui(fi,hi,!0,e):ai>t?ui(null,hi,!0,e):fi!=ci&&ui(fi,hi,!0,e)}}kl&&(rt.idx=i,wi()),!1!==l&&Fi("setCursor")}g.setLegend=wi;let vi=null;function ki(e=!1){e?vi=null:(vi=Q.getBoundingClientRect(),Fi("syncRect",vi))}function yi(e,t,l,n,i,s){ut._lock||ei&&null!=e&&0==e.movementX&&0==e.movementY||(Mi(e,t,l,n,i,s,0,!1,null!=e),null!=e?_i(null,!0,!0):_i(t,!0,!1))}function Mi(e,t,l,n,i,s,o,r,u){if(null==vi&&ki(!1),zl(e),null!=e)l=e.clientX-vi.left,n=e.clientY-vi.top;else{if(0>l||0>n)return jn=-10,void(Vn=-10);let[e,o]=Ii.scales,r=t.cursor.sync,[u,a]=r.values,[f,c]=r.scales,[h,p]=Ii.match,d=t.axes[0].side%2==1,m=0==Je.ori?Lt:Nt,g=1==Je.ori?Lt:Nt,x=d?s:i,w=d?i:s,b=d?n:l,_=d?l:n;if(l=null!=f?h(e,f)?A(u,Ce[e],m,0):-10:m*(b/x),n=null!=c?p(o,c)?A(a,Ce[o],g,0):-10:g*(_/w),1==Je.ori){let e=l;l=n,n=e}}!u||null!=t&&t.cursor.event.type!=xe||(l>1&&Lt-1>l||(l=U(l,Lt)),n>1&&Nt-1>n||(n=U(n,Nt))),r?(Gn=l,In=n,[On,Ln]=ut.move(g,l,n)):(jn=l,Vn=n)}Object.defineProperty(g,"rect",{get:()=>(null==vi&&ki(!1),vi)});const Ti={width:0,height:0,left:0,top:0};function Si(){oi(Ti,!1)}let zi,Di,Ei,Pi;function Ai(e,t,l,n,i,s){ei=!0,li=ni=ti._x=ti._y=!1,Mi(e,t,l,n,i,s,0,!0,!1),null!=e&&(St(be,Ee,Ci,!1),Ui(we,g,On,Ln,Lt,Nt,null));let{left:o,top:r,width:u,height:a}=ii;zi=o,Di=r,Ei=u,Pi=a}function Ci(e,t,l,n,i,s){ei=ti._x=ti._y=!1,Mi(e,t,l,n,i,s,0,!1,!0);let{left:o,top:r,width:u,height:a}=ii,f=u>0||a>0,c=zi!=o||Di!=r||Ei!=u||Pi!=a;if(f&&c&&oi(ii),ti.setScale&&f&&c){let e=o,t=u,l=r,n=a;if(1==Je.ori&&(e=r,t=a,l=o,n=u),li&&ri(Oe,pi(e,Oe),pi(e+t,Oe)),ni)for(let e in Ce){let t=Ce[e];e!=Oe&&null==t.from&&t.min!=P&&ri(e,pi(l+n,e),pi(l,e))}Si()}else ut.lock&&(ut._lock=!ut._lock,_i(t,!0,null!=e));null!=e&&(zt(be,Ee),Ui(be,g,jn,Vn,Lt,Nt,null))}function Wi(e){ut._lock||(zl(e),bn(),Si(),null!=e&&Ui(ke,g,jn,Vn,Lt,Nt,null))}function Yi(){m()}Be(Me,Pe,Yi);const Hi={};Hi.mousedown=Ai,Hi.mousemove=yi,Hi.mouseup=Ci,Hi.dblclick=Wi,Hi.setSeries=(e,t,l,n)=>{-1!=(l=(0,Ii.match[2])(g,t,l))&&ui(l,n,!0,!1)},ft&&(St(we,Q,Ai),St(xe,Q,yi),St(_e,Q,(e=>{zl(e),ki(!1)})),St(ve,Q,(function(e){if(ut._lock)return;zl(e);let t=ei;if(ei){let e,t,l=!0,n=!0,i=10;0==Je.ori?(e=li,t=ni):(e=ni,t=li),e&&t&&(l=i>=jn||jn>=Lt-i,n=i>=Vn||Vn>=Nt-i),e&&l&&(jn=On>jn?0:Lt),t&&n&&(Vn=Ln>Vn?0:Nt),_i(null,!0,!0),ei=!1}jn=-10,Vn=-10,ot.fill(null),_i(null,!0,!0),t&&(ei=t)})),St(ke,Q,Wi),jl.add(g),g.syncRect=ki);const Ri=g.hooks=t.hooks||{};function Fi(e,t,l){Zn?$n.push([e,t,l]):e in Ri&&Ri[e].forEach((e=>{e.call(null,g,t,l)}))}(t.plugins||[]).forEach((e=>{for(let t in e.hooks)Ri[t]=(Ri[t]||[]).concat(e.hooks[t])}));const Gi=(e,t,l)=>l,Ii=oe({key:null,setSeries:!1,filters:{pub:G,sub:G},scales:[Oe,ye[1]?ye[1].scale:null],match:[I,I,Gi],values:[null,null]},ut.sync);2==Ii.match.length&&Ii.match.push(Gi),ut.sync=Ii;const Oi=Ii.key,Li=wl(Oi);function Ui(e,t,l,n,i,s,o){Ii.filters.pub(e,t,l,n,i,s,o)&&Li.pub(e,t,l,n,i,s,o)}function Ni(){Fi("init",t,f),wn(f||t.data,!1),Qe[Oe]?Qn(Oe,Qe[Oe]):bn(),_l=ii.show&&(ii.width>0||ii.height>0),bl=kl=!0,yl(t.width,t.height)}return Li.sub(g),g.pub=function(e,t,l,n,i,s,o){Ii.filters.sub(e,t,l,n,i,s,o)&&Hi[e](null,t,l,n,i,s,o)},g.destroy=function(){Li.unsub(g),jl.delete(g),Tt.clear(),Ze(Me,Pe,Yi),O.remove(),ht?.remove(),Fi("destroy")},ye.forEach(Rl),De.forEach((function(e,t){if(e._show=e.show,e.show){let l=Ce[e.scale];null==l&&(e.scale=e.side%2?ye[1].scale:Oe,l=Ce[e.scale]);let n=l.time;e.size=Y(e.size),e.space=Y(e.space),e.rotate=Y(e.rotate),X(e.incrs)&&e.incrs.forEach((e=>{!B.has(e)&&B.set(e,Z(e))})),e.incrs=Y(e.incrs||(2==l.distr?mt:n?1==me?Dt:At:gt)),e.splits=Y(e.splits||(n&&1==l.distr?nt:3==l.distr?Qt:4==l.distr?el:Xt)),e.stroke=Y(e.stroke),e.grid.stroke=Y(e.grid.stroke),e.ticks.stroke=Y(e.ticks.stroke),e.border.stroke=Y(e.border.stroke);let i=e.values;e.values=X(i)&&!X(i[0])?Y(i):n?X(i)?Ht(et,Yt(i,tt)):ee(i)?function(e,t){let l=lt(t);return(t,n)=>n.map((t=>l(e(t))))}(et,i):i||it:i||Kt,e.filter=Y(e.filter||(3>l.distr||10!=l.log?3==l.distr&&2==l.log?rl:R:ol)),e.font=sn(e.font,d),e.labelFont=sn(e.labelFont,d),e._size=e.size(g,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(Fl[t]=!0,e._el=Fe("u-axis",j))}})),c?c instanceof HTMLElement?(c.appendChild(O),Ni()):c(g,Ni):Ni(),g}on.assign=oe,on.fmtNum=g,on.rangeNum=h,on.rangeLog=o,on.rangeAsinh=r,on.orient=bl,on.pxRatio=Ae,on.join=function(e,t){if(function(e){let t=e[0][0],l=t.length;for(let n=1;e.length>n;n++){let i=e[n][0];if(i.length!=l)return!1;if(i!=t)for(let e=0;l>e;e++)if(i[e]!=t[e])return!1}return!0}(e)){let t=e[0].slice();for(let l=1;e.length>l;l++)t.push(...e[l].slice(1));return function(e,t=100){const l=e.length;if(1>=l)return!0;let n=0,i=l-1;for(;i>=n&&null==e[n];)n++;for(;i>=n&&null==e[i];)i--;if(n>=i)return!0;const s=M(1,_((i-n+1)/t));for(let t=e[n],l=n+s;i>=l;l+=s){const n=e[l];if(null!=n){if(t>=n)return!1;t=n}}return!0}(t[0])||(t=function(e){let t=e[0],l=t.length,n=Array(l);for(let e=0;n.length>e;e++)n[e]=e;n.sort(((e,l)=>t[e]-t[l]));let i=[];for(let t=0;e.length>t;t++){let s=e[t],o=Array(l);for(let e=0;l>e;e++)o[e]=s[n[e]];i.push(o)}return i}(t)),t}let l=new Set;for(let t=0;e.length>t;t++){let n=e[t][0],i=n.length;for(let e=0;i>e;e++)l.add(n[e])}let n=[Array.from(l).sort(((e,t)=>e-t))],i=n[0].length,s=new Map;for(let e=0;i>e;e++)s.set(n[0][e],e);for(let l=0;e.length>l;l++){let o=e[l],r=o[0];for(let e=1;o.length>e;e++){let u=o[e],a=Array(i).fill(void 0),f=t?t[l][e]:1,c=[];for(let e=0;u.length>e;e++){let t=u[e],l=s.get(r[e]);null===t?0!=f&&(a[l]=t,2==f&&c.push(l)):a[l]=t}re(a,c,i),n.push(a)}}return n},on.fmtDate=lt,on.tzDate=function(e,t){if(null==t||t==nt)return"number"==typeof e?new Date(e):e;let l=new rt(e);return l.setTimeZone(t),l},on.sync=wl;{on.addGap=function(e,t,l){let n=e[e.length-1];n&&n[0]==t?n[1]=l:e.push([t,l])},on.clipGaps=yl;let e=on.paths={points:Fl};e.linear=Ll,e.stepped=function(e){const t=p(e.align,1),l=p(e.ascDesc,!1),n=p(e.extend,!1);return(s,o,r,u)=>{let{pxRatio:a}=s;return bl(s,o,((f,c,h,p,d,m,g,x,w,b,_)=>{[r,u]=i(h,r,u);let v=f.pxRound,k=e?.alignGaps??f.alignGaps??0,{left:y,width:M}=s.bbox,T=e=>v(m(e,p,b,x)),S=e=>v(g(e,d,_,w)),z=0==p.ori?El:Pl;const D={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},E=D.stroke,P=p.dir*(0==p.ori?1:-1);let A=!1,C=S(h[1==P?r:u]),W=T(c[1==P?r:u]),Y=W,H=W;n&&-1==t&&(H=y,z(E,H,C)),z(E,W,C);for(let e=1==P?r:u;e>=r&&u>=e;e+=P){let l=h[e];if(null==l){null===l&&(A=!0);continue}let n=T(c[e]),i=S(l);1==t?z(E,n,C):z(E,Y,i),z(E,n,i),C=i,Y=n}let R=Y;n&&1==t&&(R=y+M,z(E,R,C));let[F,G]=_l(s,o);if(null!=f.fill||0!=F){let e=D.fill=new Path2D(E),t=S(f.fillTo(s,o,f.min,f.max,F));z(e,R,t),z(e,H,t)}if(!f.spanGaps){let e=A?Ml(c,h,r,u,P,T,k):[],n=f.width*a/2,i=l||1==t?n:-n,d=l||-1==t?-n:n;e.forEach((e=>{e[0]+=i,e[1]+=d})),D.gaps=e=f.gaps(s,o,r,u,e),D.clip=yl(e,p.ori,x,w,b,_)}return 0!=G&&(D.band=2==G?[kl(s,o,r,u,E,-1),kl(s,o,r,u,E,1)]:kl(s,o,r,u,E,G)),D}))}},e.bars=function(e){const t=p((e=e||J).size,[.6,P,1]),l=e.align||0,n=e.gap||0;let i=e.radius;i=null==i?[0,0]:"number"==typeof i?[i,0]:i;const s=Y(i),o=1-t[0],r=p(t[1],P),u=p(t[2],1),a=p(e.disp,J),f=p(e.each,(()=>{})),{fill:c,stroke:h}=a;return(e,t,i,d)=>{let{pxRatio:m}=e;return bl(e,t,((g,x,w,b,v,k,T,S,z,D,E)=>{let P,A,W=g.pxRound,Y=l,R=n*m,F=r*m,G=u*m;0==b.ori?[P,A]=s(e,t):[A,P]=s(e,t);const I=b.dir*(0==b.ori?1:-1);let O,L,U,N=0==b.ori?Al:Cl,j=0==b.ori?f:(e,t,l,n,i,s,o)=>{f(e,t,l,i,n,o,s)},V=p(e.bands,q).find((e=>e.series[0]==t)),B=g.fillTo(e,t,g.min,g.max,null!=V?V.dir:0),Z=W(T(B,v,E,z)),$=D,J=W(g.width*m),K=!1,X=null,Q=null,ee=null,te=null;null==c||0!=J&&null==h||(K=!0,X=c.values(e,t,i,d),Q=new Map,new Set(X).forEach((e=>{null!=e&&Q.set(e,new Path2D)})),J>0&&(ee=h.values(e,t,i,d),te=new Map,new Set(ee).forEach((e=>{null!=e&&te.set(e,new Path2D)}))));let{x0:le,size:ne}=a;if(null!=le&&null!=ne){Y=1,x=le.values(e,t,i,d),2==le.unit&&(x=x.map((t=>e.posToVal(S+t*D,b.key,!0))));let l=ne.values(e,t,i,d);L=2==ne.unit?l[0]*D:k(l[0],b,D,S)-k(0,b,D,S),$=Ul(x,w,k,b,D,S,$),U=$-L+R}else $=Ul(x,w,k,b,D,S,$),U=$*o+R,L=$-U;1>U&&(U=0),L/2>J||(J=0),5>U&&(W=H);let ie=U>0;L=W(C($-U-(ie?J:0),G,F)),O=(0==Y?L/2:Y==I?0:L)-Y*I*((0==Y?R/2:0)+(ie?J/2:0));const se={stroke:null,fill:null,clip:null,band:null,gaps:null,flags:0},oe=K?null:new Path2D;let re=null;if(null!=V)re=e.data[V.series[1]];else{let{y0:l,y1:n}=a;null!=l&&null!=n&&(w=n.values(e,t,i,d),re=l.values(e,t,i,d))}let ue=P*L,ae=A*L;for(let l=1==I?i:d;l>=i&&d>=l;l+=I){let n=w[l];if(null==n)continue;if(null!=re){let e=re[l]??0;if(n-e==0)continue;Z=T(e,v,E,z)}let i=k(2!=b.distr||null!=a?x[l]:l,b,D,S),s=T(p(n,B),v,E,z),o=W(i-O),r=W(M(s,Z)),u=W(y(s,Z)),f=r-u;if(null!=n&&n!=B){let i=0>n?ae:ue,s=0>n?ue:ae;K?(J>0&&null!=ee[l]&&N(te.get(ee[l]),o,u+_(J/2),L,M(0,f-J),i,s),null!=X[l]&&N(Q.get(X[l]),o,u+_(J/2),L,M(0,f-J),i,s)):N(oe,o,u+_(J/2),L,M(0,f-J),i,s),j(e,t,l,o-J/2,u,L+J,f)}}return J>0?se.stroke=K?te:oe:K||(se._fill=0==g.width?g._fill:g._stroke??g._fill,se.width=0),se.fill=K?Q:oe,se}))}},e.spline=function(e){return function(e,t){return(l,n,s,o)=>bl(l,n,((r,u,a,f,c,h,p,d,m,g,x)=>{[s,o]=i(a,s,o);let w,b,_,v=r.pxRound,k=t?.alignGaps??r.alignGaps??0,y=e=>v(h(e,f,g,d)),M=e=>v(p(e,c,x,m));0==f.ori?(w=zl,_=El,b=Hl):(w=Dl,_=Pl,b=Rl);const T=f.dir*(0==f.ori?1:-1);let S=y(u[1==T?s:o]),z=S,D=[],E=[],P=!1;for(let e=1==T?s:o;e>=s&&o>=e;e+=T){let t=a[e];if(null!=t){let t=y(u[e]);D.push(z=t),E.push(M(a[e]))}else null===t&&(P=!0)}const A={stroke:e(D,E,w,_,b,v),fill:null,clip:null,band:null,gaps:null,flags:1},C=A.stroke;let[W,Y]=_l(l,n);if(null!=r.fill||0!=W){let e=A.fill=new Path2D(C),t=M(r.fillTo(l,n,r.min,r.max,W));_(e,z,t),_(e,S,t)}if(!r.spanGaps){let e=P?Ml(u,a,s,o,T,y,k):[];A.gaps=e=r.gaps(l,n,s,o,e),A.clip=yl(e,f.ori,d,m,g,x)}return 0!=Y&&(A.band=2==Y?[kl(l,n,s,o,C,-1),kl(l,n,s,o,C,1)]:kl(l,n,s,o,C,Y)),A}))}(Nl,e)}}return on}(); +var uPlot=function(){"use strict";function e(e,t,l,n){let i;l=l||0;let s=2147483647>=(n=n||t.length-1);for(;n-l>1;)i=s?l+n>>1:_((l+n)/2),e>t[i]?l=i:n=i;return e-t[l]>t[n]-e?n:l}function t(e){return(t,l,n)=>{let i=-1,s=-1;for(let s=l;n>=s;s++)if(e(t[s])){i=s;break}for(let i=n;i>=l;i--)if(e(t[i])){s=i;break}return[i,s]}}const l=e=>null!=e,n=e=>null!=e&&e>0,i=t(l),s=t(n);function o(e,t,l,n){2==l&&(n=!0);let i=S(e),s=S(t);e==t&&(-1==i?(e*=l,t/=l):(e/=l,t*=l));let o=10==l?z:D,r=1==i?_:k,u=1==s?k:_,a=o(b(e)),f=o(b(t)),c=r(a),h=u(f),p=T(l,c),d=T(l,h);return 10==l&&(0>c&&(p=V(p,-c)),0>h&&(d=V(d,-h))),n?(e=p*i,t=d*s):(e=j(e,T(l,_(a)),!1),t=N(t,T(l,_(f)),!1)),[e,t]}function r(e,t,l,n){let i=o(e,t,l,n);return 0==e&&(i[0]=0),0==t&&(i[1]=0),i}const u=.1,a={mode:3,pad:u},f={pad:0,soft:null,mode:0},c={min:f,max:f};function h(e,t,l,n){return te(l)?d(e,t,l):(f.pad=l,f.soft=n?0:null,f.mode=n?3:0,d(e,t,c))}function p(e,t){return null==e?t:e}function d(e,t,l){let n=l.min,i=l.max,s=p(n.pad,0),o=p(i.pad,0),r=p(n.hard,-P),u=p(i.hard,P),a=p(n.soft,P),f=p(i.soft,-P),c=p(n.mode,0),h=p(i.mode,0),d=t-e,m=z(d),g=M(b(e),b(t)),x=z(g),w=b(x-m);(1e-24>d||w>10)&&(d=0,0!=e&&0!=t||(d=1e-24,2==c&&a!=P&&(s=0),2==h&&f!=-P&&(o=0)));let v=d||g||1e3,k=z(v),S=T(10,_(k)),D=V(j(e-v*(0==d?0==e?.1:1:s),S/10),24),E=a>e||1!=c&&(3!=c||D>a)&&(2!=c||a>D)?P:a,A=M(r,E>D&&e>=E?E:y(E,D)),C=V(N(t+v*(0==d?0==t?.1:1:o),S/10),24),W=t>f||1!=h&&(3!=h||f>C)&&(2!=h||C>f)?-P:f,Y=y(u,C>W&&W>=t?W:M(W,C));return A==Y&&0==A&&(Y=100),[A,Y]}const m=new Intl.NumberFormat,g=e=>m.format(e),x=Math,w=x.PI,b=x.abs,_=x.floor,v=x.round,k=x.ceil,y=x.min,M=x.max,T=x.pow,S=x.sign,z=x.log10,D=x.log2,E=(e,t=1)=>x.asinh(e/t),P=1/0;function A(e){return 1+(0|z((e^e>>31)-(e>>31)))}function C(e,t,l){return y(M(e,t),l)}function W(e){return"function"==typeof e}function Y(e){return W(e)?e:()=>e}const H=e=>e,R=(e,t)=>t,F=()=>null,G=()=>!0,I=(e,t)=>e==t,O=/\.\d*?(?=9{6,}|0{6,})/gm,L=e=>{if(Q(e)||B.has(e))return e;const t=""+e,l=t.match(O);if(null==l)return e;let n=l[0].length-1;if(-1!=t.indexOf("e-")){let[e,l]=t.split("e");return+`${L(e)}e${l}`}return V(e,n)};function U(e,t,l=!0){return l?L(V(L(e/t))*t):V(e/t)*t}function N(e,t,l=!0){return l?L(k(L(e/t))*t):k(e/t)*t}function j(e,t,l=!0){return l?L(_(L(e/t))*t):_(e/t)*t}function V(e,t=0){if(Q(e))return e;let l=10**t;return v(e*l*(1+Number.EPSILON))/l}const B=new Map;function Z(e){return((""+e).split(".")[1]||"").length}function $(e,t,l,n){let i=[],s=n.map(Z);for(let o=t;l>o;o++){let t=b(o),l=V(T(e,o),t);for(let r=0;n.length>r;r++){let u=10==e?+`${n[r]}e${o}`:n[r]*l,a=(0>o?t:0)+(s[r]>o?s[r]:0),f=10==e?u:V(u,a);i.push(f),B.set(f,a)}}return i}const J={},q=[],K=[null,null],X=Array.isArray,Q=Number.isInteger;function ee(e){return"string"==typeof e}function te(e){let t=!1;if(null!=e){let l=e.constructor;t=null==l||l==Object}return t}function le(e){return null!=e&&"object"==typeof e}const ne=Object.getPrototypeOf(Uint8Array),ie="__proto__";function se(e,t=te){let l;if(X(e)){let n=e.find((e=>null!=e));if(X(n)||t(n)){l=Array(e.length);for(let n=0;e.length>n;n++)l[n]=se(e[n],t)}else l=e.slice()}else if(e instanceof ne)l=e.slice();else if(t(e)){l={};for(let n in e)n!=ie&&(l[n]=se(e[n],t))}else l=e;return l}function oe(e){let t=arguments;for(let l=1;t.length>l;l++){let n=t[l];for(let t in n)t!=ie&&(te(e[t])?oe(e[t],se(n[t])):e[t]=se(n[t]))}return e}function re(e,t,l){for(let n,i=0,s=-1;t.length>i;i++){let o=t[i];if(o>s){for(n=o-1;n>=0&&null==e[n];)e[n--]=null;for(n=o+1;l>n&&null==e[n];)e[s=n++]=null}}}const ue="undefined"==typeof queueMicrotask?e=>Promise.resolve().then(e):queueMicrotask,ae="width",fe="height",ce="top",he="bottom",pe="left",de="right",me="#000",ge=me+"0",xe="mousemove",we="mousedown",be="mouseup",_e="mouseenter",ve="mouseleave",ke="dblclick",ye="change",Me="dppxchange",Te="--",Se="u-off",ze="u-label",De="undefined"!=typeof window,Ee=De?document:null,Pe=De?window:null;let Ae,Ce;function We(e,t){if(null!=t){let l=e.classList;!l.contains(t)&&l.add(t)}}function Ye(e,t){let l=e.classList;l.contains(t)&&l.remove(t)}function He(e,t,l){e.style[t]=l+"px"}function Re(e,t,l,n){let i=Ee.createElement(e);return null!=t&&We(i,t),null!=l&&l.insertBefore(i,n),i}function Fe(e,t){return Re("div",e,t)}const Ge=new WeakMap;function Ie(e,t,l,n,i){let s="translate("+t+"px,"+l+"px)";s!=Ge.get(e)&&(e.style.transform=s,Ge.set(e,s),0>t||0>l||t>n||l>i?We(e,Se):Ye(e,Se))}const Oe=new WeakMap;function Le(e,t,l){let n=t+l;n!=Oe.get(e)&&(Oe.set(e,n),e.style.background=t,e.style.borderColor=l)}const Ue=new WeakMap;function Ne(e,t,l,n){let i=t+""+l;i!=Ue.get(e)&&(Ue.set(e,i),e.style.height=l+"px",e.style.width=t+"px",e.style.marginLeft=n?-t/2+"px":0,e.style.marginTop=n?-l/2+"px":0)}const je={passive:!0},Ve={...je,capture:!0};function Be(e,t,l,n){t.addEventListener(e,l,n?Ve:je)}function Ze(e,t,l){t.removeEventListener(e,l,je)}De&&function e(){let t=devicePixelRatio;Ae!=t&&(Ae=t,Ce&&Ze(ye,Ce,e),Ce=matchMedia(`(min-resolution: ${Ae-.001}dppx) and (max-resolution: ${Ae+.001}dppx)`),Be(ye,Ce,e),Pe.dispatchEvent(new CustomEvent(Me)))}();const $e=["January","February","March","April","May","June","July","August","September","October","November","December"],Je=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function qe(e){return e.slice(0,3)}const Ke=Je.map(qe),Xe=$e.map(qe),Qe={MMMM:$e,MMM:Xe,WWWW:Je,WWW:Ke};function et(e){return(10>e?"0":"")+e}const tt={YYYY:e=>e.getFullYear(),YY:e=>(e.getFullYear()+"").slice(2),MMMM:(e,t)=>t.MMMM[e.getMonth()],MMM:(e,t)=>t.MMM[e.getMonth()],MM:e=>et(e.getMonth()+1),M:e=>e.getMonth()+1,DD:e=>et(e.getDate()),D:e=>e.getDate(),WWWW:(e,t)=>t.WWWW[e.getDay()],WWW:(e,t)=>t.WWW[e.getDay()],HH:e=>et(e.getHours()),H:e=>e.getHours(),h:e=>{let t=e.getHours();return 0==t?12:t>12?t-12:t},AA:e=>12>e.getHours()?"AM":"PM",aa:e=>12>e.getHours()?"am":"pm",a:e=>12>e.getHours()?"a":"p",mm:e=>et(e.getMinutes()),m:e=>e.getMinutes(),ss:e=>et(e.getSeconds()),s:e=>e.getSeconds(),fff:e=>function(e){return(10>e?"00":100>e?"0":"")+e}(e.getMilliseconds())};function lt(e,t){t=t||Qe;let l,n=[],i=/\{([a-z]+)\}|[^{]+/gi;for(;l=i.exec(e);)n.push("{"==l[0][0]?tt[l[1]]:l[0]);return e=>{let l="";for(let i=0;n.length>i;i++)l+="string"==typeof n[i]?n[i]:n[i](e,t);return l}}const nt=(new Intl.DateTimeFormat).resolvedOptions().timeZone,it="2-digit",st={weekday:"short",year:"numeric",month:it,day:it,hour:it,minute:it,second:it,fractionalSecondDigits:3,timeZoneName:"longOffset"},ot={};class rt extends Date{tz=null;#e=!1;#t=null;constructor(...e){super(...e),e[0]instanceof rt&&(this.tz=e[0].tz,this.#t=e[0].#t,this.#e=e[0].#e)}#l(e,t,l,n,i=0){let s=this.#t;return this.#e?e.call(this):null==s?t.call(this):+s.slice(l,n)+i}setTimeZone(e){if(this.tz=e,"UTC"==e||"Etc/UTC"==e)this.#e=!0;else{let t=function(e){return null==ot[e]&&(ot[e]=new Intl.DateTimeFormat("sv",{...st,timeZone:e}).format),ot[e]}(e),l=t(this);l.endsWith("GMT")&&(l+="+00:00"),this.#t=l}}getFullYear(){return this.#l(this.getUTCFullYear,super.getFullYear,-33,-29)}getMonth(){return this.#l(this.getUTCMonth,super.getMonth,-28,-26,-1)}getDate(){return this.#l(this.getUTCDate,super.getDate,-25,-23)}getHours(){return this.#l(this.getUTCHours,super.getHours,-22,-20)}getMinutes(){return this.#l(this.getUTCMinutes,super.getMinutes,-19,-17)}getSeconds(){return this.#l(this.getUTCSeconds,super.getSeconds,-16,-14)}getMilliseconds(){return this.#l(this.getUTCMilliseconds,super.getMilliseconds,-13,-10)}getDay(){let e=this.#t;return this.#e?this.getUTCDay():null==e?super.getDay():"s"==e[0]?0:"m"==e[0]?1:"i"==e[1]?2:"o"==e[0]?3:"o"==e[1]?4:"f"==e[0]?5:"l"==e[0]?6:-1}getTimezoneOffset(){let e=this.#t;return this.#e?0:null==e?super.getTimezoneOffset():(60*+e.slice(-5,-3)+ +e.slice(-2))*("-"==e.at(-6)?-1:1)}}const ut=4,at=5;function ft(e,t){let l=e.getTime()-(e.getMilliseconds()+1e3*e.getSeconds()+6e4*e.getMinutes()+36e5*e.getHours()+864e5*(t==ut?e.getDate()-1:t==at?function(e){let t=e.getFullYear(),l=e.getMonth()+1;return 31*--l-(l>1?(1054267675>>3*l-6&7)-(3&t||!(t%25)&&15&t?0:1):0)+e.getDate()}(e)-1:0)),n=new rt(l);n.setTimeZone(e.tz);let i=n.getHours();return i>0&&(n=new rt(l+36e5*(i>12?24-i:-i)),n.setTimeZone(e.tz)),n}const ct=e=>e%1==0,ht=[1,2,2.5,5],pt=$(10,-32,0,ht),dt=$(10,0,32,ht),mt=dt.filter(ct),gt=pt.concat(dt),xt="{YYYY}",wt="\n"+xt,bt="{M}/{D}",_t="\n"+bt,vt=_t+"/{YY}",kt="{aa}",yt="{h}:{mm}"+kt,Mt="\n"+yt,Tt=":{ss}",St=null;function zt(e){let t=1e3*e,l=60*t,n=60*l,i=24*n,s=30*i,o=365*i;return[(1==e?$(10,0,3,ht).filter(ct):$(10,-3,0,ht)).concat([t,5*t,10*t,15*t,30*t,l,5*l,10*l,15*l,30*l,n,2*n,3*n,4*n,6*n,8*n,12*n,i,2*i,3*i,4*i,5*i,6*i,7*i,8*i,9*i,10*i,15*i,s,2*s,3*s,4*s,6*s,o,2*o,5*o,10*o,25*o,50*o,100*o]),[[o,xt,St,St,St,St,St,St,1],[28*i,"{MMM}",wt,St,St,St,St,St,1],[i,bt,wt,St,St,St,St,St,1],[n,"{h}"+kt,vt,St,_t,St,St,St,1],[l,yt,vt,St,_t,St,St,St,1],[t,Tt,vt+" "+yt,St,_t+" "+yt,St,Mt,St,1],[e,Tt+".{fff}",vt+" "+yt,St,_t+" "+yt,St,Mt,St,1]],function(t){return(l,r,u,a,f)=>{let c=[],h=f>=o,p=f>=s&&o>f,d=f>=i&&s>f,m=f>n&&i>f,g=t(u),x=V(g*e,3),w=V(ft(g,h||p?at:d?ut:3)*e,3);if(d){let l=f/i,s=w+f*_((g.getDate()-1)/l);for(;;){let i=t(s),o=i.getHours();if(0!=o&&(s+=o>12?n:-n,i=t(s)),(i.getDate()-1)%l>0&&(i=ft(i,ut),s=i.getTime()*e,.7*f>s-c[c.length-1]&&c.pop()),s>a)break;u>s||c.push(s),s+=f}}else if(p||h){let l=1,n=1,r=0,d=0;p?(l=f/s,n=32,r=ut,d=g.getMonth()):h&&(l=f/o,n=366,r=at,d=g.getYear());let m=w+(f=l*n*i)*_(d/n);for(;m=ft(t(m),r).getTime()*e,m<=a;)u>m||c.push(m),m+=f}else if(m){let e=f/n,l=w+f*_(g.getHours()/e);for(;t(l).getHours()%e>0&&(l+=t(l-n).getHours()%e==0?-n:n),l<=a;)u>l||c.push(l),l+=f}else{let e=w+N(x-w,f);for(;e<=a;)u>e||c.push(e),e+=f}return c}}]}const[Dt,Et,Pt]=zt(1),[At,Ct,Wt]=zt(.001);function Yt(e,t){return e.map((e=>e.map(((l,n)=>0==n||8==n||null==l?l:t(1==n||0==e[8]?l:e[1]+l)))))}function Ht(e,t){return(l,n,i,s,o)=>{let r,u,a,f,c,h,p=t.find((e=>o>=e[0]))||t[t.length-1];return n.map((t=>{let l=e(t),n=l.getFullYear(),i=l.getMonth(),s=l.getDate(),o=l.getHours(),d=l.getMinutes(),m=l.getSeconds(),g=n!=r&&p[2]||i!=u&&p[3]||s!=a&&p[4]||o!=f&&p[5]||d!=c&&p[6]||m!=h&&p[7]||p[1];return r=n,u=i,a=s,f=o,c=d,h=m,g(l)}))}}function Rt(e,t){return t(e)}function Ft(e,t){return(l,n,i,s)=>null==s?Te:t(e(n))}$(2,-53,53,[1]);const Gt={show:!0,live:!0,isolate:!1,mount:()=>{},markers:{show:!0,width:2,stroke:function(e,t){let l=e.series[t];return l.width?l.stroke(e,t):l.points.width?l.points.stroke(e,t):null},fill:function(e,t){return e.series[t].fill(e,t)},dash:"solid"},idx:null,idxs:null,values:[]},It=[0,0];function Ot(e,t,l,n=!0){return e=>{0==e.button&&(!n||e.target==t)&&l(e)}}function Lt(e,t,l,n=!0){return e=>{(!n||e.target==t)&&l(e)}}const Ut={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,l){return It[0]=t,It[1]=l,It},points:{one:!1,show:function(e,t){let l=e.cursor.points,n=Fe(),i=l.size(e,t);He(n,ae,i),He(n,fe,i);let s=i/-2;He(n,"marginLeft",s),He(n,"marginTop",s);let o=l.width(e,t,i);return o&&He(n,"borderWidth",o),n},size:function(e,t){return e.series[t].points.size},width:0,stroke:function(e,t){let l=e.series[t].points;return l._stroke||l._fill},fill:function(e,t){let l=e.series[t].points;return l._fill||l._stroke}},bind:{mousedown:Ot,mouseup:Ot,click:Ot,dblclick:Ot,mousemove:Lt,mouseleave:Lt,mouseenter:Lt},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,click:(e,t)=>{t.stopPropagation(),t.stopImmediatePropagation()},_x:!1,_y:!1},focus:{dist:(e,t,l,n,i)=>n-i,prox:-1,bias:0},hover:{skip:[void 0],prox:null,bias:0},left:-10,top:-10,idx:null,dataIdx:null,idxs:null,event:null},Nt={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},jt=oe({},Nt,{filter:R}),Vt=oe({},jt,{size:10}),Bt=oe({},Nt,{show:!1}),Zt='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',$t="bold "+Zt,Jt={show:!0,scale:"x",stroke:me,space:50,gap:5,alignTo:1,size:50,labelGap:0,labelSize:30,labelFont:$t,side:2,grid:jt,ticks:Vt,border:Bt,font:Zt,lineGap:1.5,rotate:0},qt={show:!0,scale:"x",auto:!1,sorted:1,min:P,max:-P,idxs:[]};function Kt(e,t){return t.map((e=>null==e?"":g(e)))}function Xt(e,t,l,n,i,s,o){let r=[],u=B.get(i)||0;for(let e=l=o?l:V(N(l,i),u);n>=e;e=V(e+i,u))r.push(Object.is(e,-0)?0:e);return r}function Qt(t,l,n,i,s){const o=[],r=t.scales[t.axes[l].scale].log,u=_((10==r?z:D)(n));s=T(r,u),10==r&&(s=gt[e(s,gt)]);let a=s,f=s*r;10==r&&(f=gt[e(f,gt)]);do{n>a||o.push(a),a+=s,10!=r||B.has(a)||(a=V(a,B.get(s))),f>a||(f=(s=a)*r,10==r&&(f=gt[e(f,gt)]))}while(i>=a);return o}function el(e,t,l,n,i){let s=e.scales[e.axes[t].scale].asinh,o=n>s?Qt(e,t,M(s,l),n,i):[s],r=0>n||l>0?[]:[0];return(-s>l?Qt(e,t,M(s,-n),-l,i):[s]).reverse().map((e=>-e)).concat(r,o)}const tl=/./,ll=/[12357]/,nl=/[125]/,il=/1/,sl=(e,t,l,n)=>e.map(((e,i)=>4==t&&0==e||i%n==0&&l.test(e.toExponential()[0>e?1:0])?e:null));function ol(e,t,l){let n=e.axes[l],i=n.scale,s=e.scales[i],o=e.valToPos,r=n._space,u=o(10,i),a=o(9,i)-ue)return sl(t.slice().reverse(),s.distr,a,k(r/e)).reverse()}return sl(t,s.distr,a,1)}function rl(e,t,l){let n=e.axes[l],i=n.scale,s=n._space,o=e.valToPos,r=b(o(1,i)-o(2,i));return s>r?sl(t.slice().reverse(),3,tl,k(s/r)).reverse():t}function ul(e,t,l,n){return null==n?Te:null==t?"":g(t)}const al={show:!0,scale:"y",stroke:me,space:30,gap:5,alignTo:1,size:50,labelGap:0,labelSize:30,labelFont:$t,side:3,grid:jt,ticks:Vt,border:Bt,font:Zt,lineGap:1.5,rotate:0},fl={scale:null,auto:!0,sorted:0,min:P,max:-P},cl=(e,t,l,n,i)=>i,hl={show:!0,auto:!0,sorted:0,gaps:cl,alpha:1,facets:[oe({},fl,{scale:"x"}),oe({},fl,{scale:"y"})]},pl={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:cl,alpha:1,points:{show:function(e,t){let{scale:l,idxs:n}=e.series[0],i=e._data[0],s=e.valToPos(i[n[0]],l,!0),o=e.valToPos(i[n[1]],l,!0);return b(o-s)/(e.series[t].points.space*e.pxRatio)>=n[1]-n[0]},filter:null},values:null,min:P,max:-P,idxs:[],path:null,clip:null};function dl(e,t,l){return l/10}const ml={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},gl=oe({},ml,{time:!1,ori:1}),xl={};function wl(e){let t=xl[e];return t||(t={key:e,plots:[],sub(e){t.plots.push(e)},unsub(e){t.plots=t.plots.filter((t=>t!=e))},pub(e,l,n,i,s,o,r){for(let u=0;t.plots.length>u;u++)t.plots[u]!=l&&t.plots[u].pub(e,l,n,i,s,o,r)}},null!=e&&(xl[e]=t)),t}function bl(e,t,l){const n=e.mode,i=e.series[t],s=2==n?e._data[t]:e._data,o=e.scales,r=e.bbox;let u=s[0],a=2==n?s[1]:s[t],f=2==n?o[i.facets[0].scale]:o[e.series[0].scale],c=2==n?o[i.facets[1].scale]:o[i.scale],h=r.left,p=r.top,d=r.width,m=r.height,g=e.valToPosH,x=e.valToPosV;return 0==f.ori?l(i,u,a,f,c,g,x,h,p,d,m,zl,El,Al,Wl,Hl):l(i,u,a,f,c,x,g,p,h,m,d,Dl,Pl,Cl,Yl,Rl)}function _l(e,t){let l=0,n=0,i=p(e.bands,q);for(let e=0;i.length>e;e++){let s=i[e];s.series[0]==t?l=s.dir:s.series[1]==t&&(n|=1==s.dir?1:2)}return[l,1==n?-1:2==n?1:3==n?2:0]}function vl(e,t,l,n,i){let s=e.series[t],o=e.scales[2==e.mode?s.facets[1].scale:s.scale];return-1==i?o.min:1==i?o.max:3==o.distr?1==o.dir?o.min:o.max:0}function kl(e,t,l,n,i,s){return bl(e,t,((e,t,o,r,u,a,f,c,h,p,d)=>{let m=e.pxRound;const g=0==r.ori?El:Pl;let x,w;1==r.dir*(0==r.ori?1:-1)?(x=l,w=n):(x=n,w=l);let b=m(a(t[x],r,p,c)),_=m(f(o[x],u,d,h)),v=m(a(t[w],r,p,c)),k=m(f(1==s?u.max:u.min,u,d,h)),y=new Path2D(i);return g(y,v,k),g(y,b,k),g(y,b,_),y}))}function yl(e,t,l,n,i,s){let o=null;if(e.length>0){o=new Path2D;const r=0==t?Al:Cl;let u=l;for(let t=0;e.length>t;t++){let l=e[t];if(l[1]>l[0]){let e=l[0]-u;e>0&&r(o,u,n,e,n+s),u=l[1]}}let a=l+i-u,f=10;a>0&&r(o,u,n-f/2,a,n+s+f)}return o}function Ml(e,t,l,n,i,s,o){let r=[],u=e.length;for(let a=1==i?l:n;a>=l&&n>=a;a+=i)if(null===t[a]){let f=a,c=a;if(1==i)for(;++a<=n&&null===t[a];)c=a;else for(;--a>=l&&null===t[a];)c=a;let h=s(e[f]),p=c==f?h:s(e[c]),d=f-i;h=o>0||0>d||d>=u?h:s(e[d]);let m=c+i;p=0>o||0>m||m>=u?p:s(e[m]),h>p||r.push([h,p])}return r}function Tl(e){return 0==e?H:1==e?v:t=>U(t,e)}function Sl(e){let t=0==e?zl:Dl,l=0==e?(e,t,l,n,i,s)=>{e.arcTo(t,l,n,i,s)}:(e,t,l,n,i,s)=>{e.arcTo(l,t,i,n,s)},n=0==e?(e,t,l,n,i)=>{e.rect(t,l,n,i)}:(e,t,l,n,i)=>{e.rect(l,t,i,n)};return(e,i,s,o,r,u=0,a=0)=>{0==u&&0==a?n(e,i,s,o,r):(u=y(u,o/2,r/2),a=y(a,o/2,r/2),t(e,i+u,s),l(e,i+o,s,i+o,s+r,u),l(e,i+o,s+r,i,s+r,a),l(e,i,s+r,i,s,a),l(e,i,s,i+o,s,u),e.closePath())}}const zl=(e,t,l)=>{e.moveTo(t,l)},Dl=(e,t,l)=>{e.moveTo(l,t)},El=(e,t,l)=>{e.lineTo(t,l)},Pl=(e,t,l)=>{e.lineTo(l,t)},Al=Sl(0),Cl=Sl(1),Wl=(e,t,l,n,i,s)=>{e.arc(t,l,n,i,s)},Yl=(e,t,l,n,i,s)=>{e.arc(l,t,n,i,s)},Hl=(e,t,l,n,i,s,o)=>{e.bezierCurveTo(t,l,n,i,s,o)},Rl=(e,t,l,n,i,s,o)=>{e.bezierCurveTo(l,t,i,n,o,s)};function Fl(){return(e,t,l,n,i)=>{let{pxRatio:s}=e;return bl(e,t,((t,o,r,u,a,f,c,h,p,d,m)=>{let g,x,{pxRound:b,points:_}=t;0==u.ori?(g=zl,x=Wl):(g=Dl,x=Yl);const v=V(_.width*s,3);let k=(_.size-_.width)/2*s,y=V(2*k,3),M=new Path2D,T=new Path2D,{left:S,top:z,width:D,height:E}=e.bbox;Al(T,S-y,z-y,D+2*y,E+2*y);const P=e=>{if(null!=r[e]){let t=b(f(o[e],u,d,h)),l=b(c(r[e],a,m,p));g(M,t+k,l),x(M,t,l,k,0,2*w)}};if(i)i.forEach(P);else for(let e=l;n>=e;e++)P(e);return{stroke:v>0?M:null,fill:M,clip:T,flags:3}}))}}function Gl(e){return(t,l,n,i,s,o)=>{n!=i&&(s!=n&&o!=n&&e(t,l,n),s!=i&&o!=i&&e(t,l,i),e(t,l,o))}}const Il=Gl(El),Ol=Gl(Pl);function Ll(e){return(t,l,n,s)=>bl(t,l,((o,r,u,a,f,c,h,p,d,m,g)=>{[n,s]=i(u,n,s);let x,w,b=o.pxRound,_=e?.alignGaps??o.alignGaps??0,v=e=>b(c(e,a,m,p)),k=e=>b(h(e,f,g,d));0==a.ori?(x=El,w=Il):(x=Pl,w=Ol);const y=a.dir*(0==a.ori?1:-1),M={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},T=M.stroke;let S=!1;if(s-n<4*m)for(let e=1==y?n:s;e>=n&&s>=e;e+=y){let t=u[e];null===t?S=!0:null!=t&&x(T,v(r[e]),k(t))}else{let e,l,i,o=e=>t.posToVal(e,a.key,!0),f=null,c=null,h=v(r[1==y?n:s]),p=v(r[n]),d=v(r[s]),m=o(1==y?p+1:d-1);for(let t=1==y?n:s;t>=n&&s>=t;t+=y){let n=r[t],i=(1==y?m>n:n>m)?h:v(n),s=u[t];i==h?null!=s?(l=s,null==f?(x(T,i,k(l)),e=f=c=l):f>l?f=l:l>c&&(c=l)):null===s&&(S=!0):(null!=f&&w(T,h,k(f),k(c),k(e),k(l)),null!=s?(l=s,x(T,i,k(l)),f=c=e=l):(f=c=null,null===s&&(S=!0)),h=i,m=o(h+y))}null!=f&&f!=c&&i!=h&&w(T,h,k(f),k(c),k(e),k(l))}let[z,D]=_l(t,l);if(null!=o.fill||0!=z){let e=M.fill=new Path2D(T),i=k(o.fillTo(t,l,o.min,o.max,z)),u=v(r[n]),a=v(r[s]);-1==y&&([a,u]=[u,a]),x(e,a,i),x(e,u,i)}if(!o.spanGaps){let e=S?Ml(r,u,n,s,y,v,_):[];M.gaps=e=o.gaps(t,l,n,s,e),M.clip=yl(e,a.ori,p,d,m,g)}return 0!=D&&(M.band=2==D?[kl(t,l,n,s,T,-1),kl(t,l,n,s,T,1)]:kl(t,l,n,s,T,D)),M}))}function Ul(e,t,l,n,i,s,o=P){if(e.length>1){let r=null;for(let u=0,a=1/0;e.length>u;u++)if(void 0!==t[u]){if(null!=r){let t=b(e[u]-e[r]);a>t&&(a=t,o=b(l(e[u],n,i,s)-l(e[r],n,i,s)))}r=u}}return o}function Nl(e,t,l,n,i){const s=e.length;if(2>s)return null;const o=new Path2D;if(l(o,e[0],t[0]),2==s)n(o,e[1],t[1]);else{let l=Array(s),n=Array(s-1),r=Array(s-1),u=Array(s-1);for(let l=0;s-1>l;l++)r[l]=t[l+1]-t[l],u[l]=e[l+1]-e[l],n[l]=r[l]/u[l];l[0]=n[0];for(let e=1;s-1>e;e++)0===n[e]||0===n[e-1]||n[e-1]>0!=n[e]>0?l[e]=0:(l[e]=3*(u[e-1]+u[e])/((2*u[e]+u[e-1])/n[e-1]+(u[e]+2*u[e-1])/n[e]),isFinite(l[e])||(l[e]=0));l[s-1]=n[s-2];for(let n=0;s-1>n;n++)i(o,e[n]+u[n]/3,t[n]+l[n]*u[n]/3,e[n+1]-u[n]/3,t[n+1]-l[n+1]*u[n]/3,e[n+1],t[n+1])}return o}const jl=new Set;function Vl(){for(let e of jl)e.syncRect(!0)}De&&(Be("resize",Pe,Vl),Be("scroll",Pe,Vl,!0),Be(Me,Pe,(()=>{on.pxRatio=Ae})));const Bl=Ll(),Zl=Fl();function $l(e,t,l,n){return(n?[e[0],e[1]].concat(e.slice(2)):[e[0]].concat(e.slice(1))).map(((e,n)=>Jl(e,n,t,l)))}function Jl(e,t,l,n){return oe({},0==t?l:n,e)}function ql(e,t,l){return null==t?K:[t,l]}const Kl=ql;function Xl(e,t,l){return null==t?K:h(t,l,u,!0)}function Ql(e,t,l,n){return null==t?K:o(t,l,e.scales[n].log,!0)}const en=Ql;function tn(e,t,l,n){return null==t?K:r(t,l,e.scales[n].log,!0)}const ln=tn;function nn(t,l,n,i,s){let o=M(A(t),A(l)),r=l-t,u=e(s/i*r,n);do{let e=n[u],t=i*e/r;if(t>=s&&17>=o+(5>e?B.get(e):0))return[e,t]}while(++u(l=v((n=+i)*t))+"px")),l,n]}function on(t,f,c){let d=t.pxRatio??Ae;function m(e){d=g.pxRatio=e??Ae,De.forEach((e=>function(e,t){e.show&&[e.font,e.labelFont].forEach((e=>{let l=V(e[2]*t,1);e[0]=e[0].replace(/[0-9.]+px/,l+"px"),e[1]=l}))}(e,d))),Ml(g.width,g.height,!0)}const g={mode:p(t.mode,1),pxRatio:d,setPxRatio:m};g.setPxRatio=m;const _=g.mode;function S(e,t,l,n){let i=t.valToPct(e);return n+l*(-1==t.dir?1-i:i)}function D(e,t,l,n){let i=t.valToPct(e);return n+l*(-1==t.dir?i:1-i)}function A(e,t,l,n){return 0==t.ori?S(e,t,l,n):D(e,t,l,n)}g.valToPosH=S,g.valToPosV=D;let H=!1;g.status=0;const O=g.root=Fe("uplot");null!=t.id&&(O.id=t.id),We(O,t.class),t.title&&(Fe("u-title",O).textContent=t.title);const L=Re("canvas"),N=g.ctx=L.getContext("2d"),j=Fe("u-wrap",O);Be("click",j,(e=>{e.target===Q&&(Vn!=Ln||Bn!=Un)&&li.click(g,e)}),!0);const $=g.under=Fe("u-under",j);j.appendChild(L);const Q=g.over=Fe("u-over",j),ne=(t=se(t)).cache??!0,ie=+p(t.pxAlign,1),re=Tl(ie);(t.plugins||[]).forEach((e=>{e.opts&&(t=e.opts(g,t)||t)}));const me=t.ms||.001,ye=g.series=1==_?$l(t.series||[],qt,pl,!1):function(e,t){return e.map(((e,l)=>0==l?{}:oe({},t,e)))}(t.series||[null],hl),De=g.axes=$l(t.axes||[],Jt,al,!0),Ce=g.scales={},Ge=g.bands=t.bands||[];Ge.forEach((e=>{e.fill=Y(e.fill||null),e.dir=p(e.dir,-1)}));const Oe=2==_?ye[1].facets[0].scale:ye[0].scale,Ue={axes:function(){for(let e=0;De.length>e;e++){let t=De[e];if(!t.show||!t._show)continue;let l,n,i=t.side,s=i%2,o=t.stroke(g,e),r=0==i||3==i?-1:1,[u,a]=t._found;if(null!=t.label){let f=v((t._lpos+t.labelGap*r)*d);kn(t.labelFont[0],o,"center",2==i?ce:he),N.save(),1==s?(l=n=0,N.translate(f,v(il+fl/2)),N.rotate((3==i?-w:w)/2)):(l=v(nl+sl/2),n=f);let c=W(t.label)?t.label(g,e,u,a):t.label;N.fillText(c,l,n),N.restore()}if(0==a)continue;let f=Ce[t.scale],c=0==s?sl:fl,h=0==s?nl:il,p=t._splits,m=2==f.distr?p.map((e=>xn[e])):p,x=2==f.distr?xn[p[1]]-xn[p[0]]:u,b=t.ticks,_=t.border,k=b.show?b.size:0,y=v(k*d),M=v((2==t.alignTo?t._size-k-t.gap:t.gap)*d),T=t._rotate*-w/180,S=re(t._pos*d),z=S+(y+M)*r;n=0==s?z:0,l=1==s?z:0,kn(t.font[0],o,1==t.align?pe:2==t.align?de:T>0?pe:0>T?de:0==s?"center":3==i?de:pe,T||1==s?"middle":2==i?ce:he);let D=t.font[1]*t.lineGap,E=p.map((e=>re(A(e,f,c,h)))),P=t._values;for(let e=0;P.length>e;e++){let t=P[e];if(null!=t){0==s?l=E[e]:n=E[e],t=""+t;let i=-1==t.indexOf("\n")?[t]:t.split(/\n/gm);for(let e=0;i.length>e;e++){let t=i[e];T?(N.save(),N.translate(l,n+e*D),N.rotate(T),N.fillText(t,0,0),N.restore()):N.fillText(t,l,n+e*D)}}}b.show&&An(E,b.filter(g,m,e,a,x),s,i,S,y,V(b.width*d,3),b.stroke(g,e),b.dash,b.cap);let C=t.grid;C.show&&An(E,C.filter(g,m,e,a,x),s,0==s?2:1,0==s?il:nl,0==s?fl:sl,V(C.width*d,3),C.stroke(g,e),C.dash,C.cap),_.show&&An([S],[1],0==s?1:0,0==s?1:2,1==s?il:nl,1==s?fl:sl,V(_.width*d,3),_.stroke(g,e),_.dash,_.cap)}Gi("drawAxes")},series:function(){if(Ul>0){let e=ye.some((e=>e._focus))&&gn!=Pl.alpha;e&&(N.globalAlpha=gn=Pl.alpha),ye.forEach(((e,t)=>{if(t>0&&e.show&&(Tn(t,!1),Tn(t,!0),null==e._paths)){let l=gn;gn!=e.alpha&&(N.globalAlpha=gn=e.alpha);let n=2==_?[0,f[t][0].length-1]:function(e){let t=C(Nl-1,0,Ul-1),l=C(Vl+1,0,Ul-1);for(;null==e[t]&&t>0;)t--;for(;null==e[l]&&Ul-1>l;)l++;return[t,l]}(f[t]);e._paths=e.paths(g,t,n[0],n[1]),gn!=l&&(N.globalAlpha=gn=l)}})),ye.forEach(((e,t)=>{if(t>0&&e.show){let l=gn;gn!=e.alpha&&(N.globalAlpha=gn=e.alpha),null!=e._paths&&Sn(t,!1);{let l=null!=e._paths?e._paths.gaps:null,n=e.points.show(g,t,Nl,Vl,l),i=e.points.filter(g,t,n,l);(n||i)&&(e.points._paths=e.points.paths(g,t,Nl,Vl,i),Sn(t,!0))}gn!=l&&(N.globalAlpha=gn=l),Gi("drawSeries",t)}})),e&&(N.globalAlpha=gn=1)}}},je=(t.drawOrder||["axes","series"]).map((e=>Ue[e]));function Ve(e){const t=3==e.distr?t=>z(t>0?t:e.clamp(g,t,e.min,e.max,e.key)):4==e.distr?t=>E(t,e.asinh):100==e.distr?t=>e.fwd(t):e=>e;return l=>{let n=t(l),{_min:i,_max:s}=e;return(n-i)/(s-i)}}function $e(e){let l=Ce[e];if(null==l){let n=(t.scales||J)[e]||J;if(null!=n.from){$e(n.from);let t=oe({},Ce[n.from],n,{key:e});t.valToPct=Ve(t),Ce[e]=t}else{l=Ce[e]=oe({},e==Oe?ml:gl,n),l.key=e;let t=l.time,i=l.range,s=X(i);if((e!=Oe||2==_&&!t)&&(!s||null!=i[0]&&null!=i[1]||(i={min:null==i[0]?a:{mode:1,hard:i[0],soft:i[0]},max:null==i[1]?a:{mode:1,hard:i[1],soft:i[1]}},s=!1),!s&&te(i))){let e=i;i=(t,l,n)=>null==l?K:h(l,n,e)}l.range=Y(i||(t?Kl:e==Oe?3==l.distr?en:4==l.distr?ln:ql:3==l.distr?Ql:4==l.distr?tn:Xl)),l.auto=Y(!s&&l.auto),l.clamp=Y(l.clamp||dl),l._min=l._max=null,l.valToPct=Ve(l)}}}$e("x"),$e("y"),1==_&&ye.forEach((e=>{$e(e.scale)})),De.forEach((e=>{$e(e.scale)}));for(let e in t.scales)$e(e);const Je=Ce[Oe],qe=Je.distr;let Ke,Xe;0==Je.ori?(We(O,"u-hz"),Ke=S,Xe=D):(We(O,"u-vt"),Ke=D,Xe=S);const Qe={};for(let e in Ce){let t=Ce[e];null==t.min&&null==t.max||(Qe[e]={min:t.min,max:t.max},t.min=t.max=null)}const et=t.tzDate||(e=>new Date(v(e/me))),tt=t.fmtDate||lt,nt=1==me?Pt(et):Wt(et),it=Ht(et,Yt(1==me?Et:Ct,tt)),st=Ft(et,Rt("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",tt)),ot=[],rt=g.legend=oe({},Gt,t.legend),ut=g.cursor=oe({},Ut,{drag:{y:2==_}},t.cursor),at=rt.show,ft=ut.show,ct=rt.markers;let ht,pt,dt;rt.idxs=ot,ct.width=Y(ct.width),ct.dash=Y(ct.dash),ct.stroke=Y(ct.stroke),ct.fill=Y(ct.fill);let xt,wt=[],bt=[],_t=!1,vt={};if(rt.live){const e=ye[1]?ye[1].values:null;_t=null!=e,xt=_t?e(g,1,0):{_:0};for(let e in xt)vt[e]=Te}if(at)if(ht=Re("table","u-legend",O),dt=Re("tbody",null,ht),rt.mount(g,ht),_t){pt=Re("thead",null,ht,dt);let e=Re("tr",null,pt);for(var kt in Re("th",null,e),xt)Re("th",ze,e).textContent=kt}else We(ht,"u-inline"),rt.live&&We(ht,"u-live");const yt={show:!0},Mt={show:!1},Tt=new Map;let St=!1;function zt(e,t,l,n=!0){const i=Tt.get(t)||{},s=ut.bind[e](g,t,l,n);s&&(Be(e,t,i[e]=s),Tt.set(t,i))}function It(e,t){const l=Tt.get(t)||{};for(let n in l)null!=e&&n!=e||(Ze(n,t,l[n]),delete l[n]);null==e&&Tt.delete(t)}let Ot=0,Lt=0,Nt=0,jt=0,Vt=0,Bt=0,Zt=Vt,$t=Bt,tl=Nt,ll=jt,nl=0,il=0,sl=0,fl=0;g.bbox={};let cl=!1,xl=!1,bl=!1,_l=!1,kl=!1,yl=!1;function Ml(e,t,l){(l||e!=g.width||t!=g.height)&&Sl(e,t),Yn(!1),bl=!0,xl=!0,Kn()}function Sl(e,t){g.width=Ot=Nt=e,g.height=Lt=jt=t,Vt=Bt=0,function(){let e=!1,t=!1,l=!1,n=!1;De.forEach((i=>{if(i.show&&i._show){let{side:s,_size:o}=i,r=o+(null!=i.label?i.labelSize:0);r>0&&(s%2?(Nt-=r,3==s?(Vt+=r,n=!0):l=!0):(jt-=r,0==s?(Bt+=r,e=!0):t=!0))}})),Gl[0]=e,Gl[1]=l,Gl[2]=t,Gl[3]=n,Nt-=Ll[1]+Ll[3],Vt+=Ll[3],jt-=Ll[2]+Ll[0],Bt+=Ll[0]}(),function(){let e=Vt+Nt,t=Bt+jt,l=Vt,n=Bt;function i(i,s){switch(i){case 1:return e+=s,e-s;case 2:return t+=s,t-s;case 3:return l-=s,l+s;case 0:return n-=s,n+s}}De.forEach((e=>{if(e.show&&e._show){let t=e.side;e._pos=i(t,e._size),null!=e.label&&(e._lpos=i(t,e.labelSize))}}))}();let l=g.bbox;nl=l.left=U(Vt*d,.5),il=l.top=U(Bt*d,.5),sl=l.width=U(Nt*d,.5),fl=l.height=U(jt*d,.5)}const zl=3;if(g.setSize=function({width:e,height:t}){Ml(e,t)},null==ut.dataIdx){let e=ut.hover,t=e.skip=new Set(e.skip??[]);t.add(void 0);let l=e.prox=Y(e.prox),n=e.bias??=0;ut.dataIdx=(e,i,s,o)=>{if(0==i)return s;let r=s,u=l(e,i,s,o)??P,a=u>=0&&P>u,c=0==Je.ori?Nt:jt,h=ut.left,p=f[0],d=f[i];if(t.has(d[s])){r=null;let e,l=null,i=null;if(0==n||-1==n)for(e=s;null==l&&--e>=Nl;)t.has(d[e])||(l=e);if(0==n||1==n)for(e=s;null==i&&++e<=Vl;)t.has(d[e])||(i=e);if(null!=l||null!=i)if(a){let e=h-(null==l?-1/0:Ke(p[l],Je,c,0)),t=(null==i?1/0:Ke(p[i],Je,c,0))-h;e>t?t>u||(r=i):e>u||(r=l)}else r=null==i?l:null==l||s-l>i-s?i:l}else a&&b(h-Ke(p[s],Je,c,0))>u&&(r=null);return r}}const Dl=e=>{ut.event=e};ut.idxs=ot,ut._lock=!1;let El=ut.points;El.show=Y(El.show),El.size=Y(El.size),El.stroke=Y(El.stroke),El.width=Y(El.width),El.fill=Y(El.fill);const Pl=g.focus=oe({},t.focus||{alpha:.3},ut.focus),Al=Pl.prox>=0,Cl=Al&&El.one;let Wl=[],Yl=[],Hl=[];function Rl(e,t){let l=El.show(g,t);if(l instanceof HTMLElement)return We(l,"u-cursor-pt"),We(l,e.class),Ie(l,-10,-10,Nt,jt),Q.insertBefore(l,Wl[t]),l}function Fl(e,t){if(1==_||t>0){let t=1==_&&Ce[e.scale].time,l=e.value;e.value=t?ee(l)?Ft(et,Rt(l,tt)):l||st:l||ul,e.label=e.label||(t?"Time":"Value")}if(Cl||t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||Bl||F,e.fillTo=Y(e.fillTo||vl),e.pxAlign=+p(e.pxAlign,ie),e.pxRound=Tl(e.pxAlign),e.stroke=Y(e.stroke||null),e.fill=Y(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;let t=function(e){return V(1*(3+2*(e||1)),3)}(M(1,e.width)),l=e.points=oe({},{size:t,width:M(1,.2*t),stroke:e.stroke,space:2*t,paths:Zl,_stroke:null,_fill:null},e.points);l.show=Y(l.show),l.filter=Y(l.filter),l.fill=Y(l.fill),l.stroke=Y(l.stroke),l.paths=Y(l.paths),l.pxAlign=e.pxAlign}if(at){let l=function(e,t){if(0==t&&(_t||!rt.live||2==_))return K;let l=[],n=Re("tr","u-series",dt,dt.childNodes[t]);We(n,e.class),e.show||We(n,Se);let i=Re("th",null,n);if(ct.show){let e=Fe("u-marker",i);if(t>0){let l=ct.width(g,t);l&&(e.style.border=l+"px "+ct.dash(g,t)+" "+ct.stroke(g,t)),e.style.background=ct.fill(g,t)}}let s=Fe(ze,i);for(var o in e.label instanceof HTMLElement?s.appendChild(e.label):s.textContent=e.label,t>0&&(ct.show||(s.style.color=e.width>0?ct.stroke(g,t):ct.fill(g,t)),zt("click",i,(t=>{if(ut._lock)return;Dl(t);let l=ye.indexOf(e);if((t.ctrlKey||t.metaKey)!=rt.isolate){let e=ye.some(((e,t)=>t>0&&t!=l&&e.show));ye.forEach(((t,n)=>{n>0&&ai(n,e?n==l?yt:Mt:yt,!0,Oi.setSeries)}))}else ai(l,{show:!e.show},!0,Oi.setSeries)}),!1),Al&&zt(_e,i,(t=>{ut._lock||(Dl(t),ai(ye.indexOf(e),pi,!0,Oi.setSeries))}),!1)),xt){let e=Re("td","u-value",n);e.textContent="--",l.push(e)}return[n,l]}(e,t);wt.splice(t,0,l[0]),bt.splice(t,0,l[1]),rt.values.push(null)}if(ft){ot.splice(t,0,null);let l=null;Cl?0==t&&(l=Rl(e,t)):t>0&&(l=Rl(e,t)),Wl.splice(t,0,l),Yl.splice(t,0,0),Hl.splice(t,0,0)}Gi("addSeries",t)}g.addSeries=function(e,t){t=null==t?ye.length:t,e=1==_?Jl(e,t,qt,pl):Jl(e,t,{},hl),ye.splice(t,0,e),Fl(ye[t],t)},g.delSeries=function(e){if(ye.splice(e,1),at){rt.values.splice(e,1),bt.splice(e,1);let t=wt.splice(e,1)[0];It(null,t.firstChild),t.remove()}ft&&(ot.splice(e,1),Wl.splice(e,1)[0].remove(),Yl.splice(e,1),Hl.splice(e,1)),Gi("delSeries",e)};const Gl=[!1,!1,!1,!1];function Il(e,t,l){let[n,i,s,o]=l,r=t%2,u=0;return 0==r&&(o||i)&&(u=0==t&&!n||2==t&&!s?v(Jt.size/3):0),1==r&&(n||s)&&(u=1==t&&!i||3==t&&!o?v(al.size/2):0),u}const Ol=g.padding=(t.padding||[Il,Il,Il,Il]).map((e=>Y(p(e,Il)))),Ll=g._padding=Ol.map(((e,t)=>e(g,t,Gl,0)));let Ul,Nl=null,Vl=null;const on=1==_?ye[0].idxs:null;let rn,un,an,fn,cn,hn,pn,dn,mn,gn,xn=null,wn=!1;function bn(e,t){if(g.data=g._data=f=null==e?[]:e,2==_){Ul=0;for(let e=1;ye.length>e;e++)Ul+=f[e][0].length}else{0==f.length&&(g.data=g._data=f=[[]]),xn=f[0],Ul=xn.length;let e=f;if(2==qe){e=f.slice();let t=e[0]=Array(Ul);for(let e=0;Ul>e;e++)t[e]=e}g._data=f=e}if(Yn(!0),Gi("setData"),2==qe&&(bl=!0),!1!==t){let e=Je;e.auto(g,wn)?_n():ui(Oe,e.min,e.max),_l=_l||ut.left>=0,yl=!0,Kn()}}function _n(){let e,t;wn=!0,1==_&&(Ul>0?(Nl=on[0]=0,Vl=on[1]=Ul-1,e=f[0][Nl],t=f[0][Vl],2==qe?(e=Nl,t=Vl):e==t&&(3==qe?[e,t]=o(e,e,Je.log,!1):4==qe?[e,t]=r(e,e,Je.log,!1):Je.time?t=e+v(86400/me):[e,t]=h(e,t,u,!0))):(Nl=on[0]=e=null,Vl=on[1]=t=null)),ui(Oe,e,t)}function vn(e,t,l,n,i,s){e??=ge,l??=q,n??="butt",i??=ge,s??="round",e!=rn&&(N.strokeStyle=rn=e),i!=un&&(N.fillStyle=un=i),t!=an&&(N.lineWidth=an=t),s!=cn&&(N.lineJoin=cn=s),n!=hn&&(N.lineCap=hn=n),l!=fn&&N.setLineDash(fn=l)}function kn(e,t,l,n){t!=un&&(N.fillStyle=un=t),e!=pn&&(N.font=pn=e),l!=dn&&(N.textAlign=dn=l),n!=mn&&(N.textBaseline=mn=n)}function yn(e,t,o,r,u=0){if(r.length>0&&e.auto(g,wn)&&(null==t||null==t.min)){let t=p(Nl,0),a=p(Vl,r.length-1),f=null==o.min?function(e,t,o,r=0,u=!1){let a=u?s:i,f=u?n:l;[t,o]=a(e,t,o);let c=e[t],h=e[t];if(t>-1)if(1==r)c=e[t],h=e[o];else if(-1==r)c=e[o],h=e[t];else for(let l=t;o>=l;l++){let t=e[l];f(t)&&(c>t?c=t:t>h&&(h=t))}return[c??P,h??-P]}(r,t,a,u,3==e.distr):[o.min,o.max];e.min=y(e.min,o.min=f[0]),e.max=M(e.max,o.max=f[1])}}g.setData=bn;const Mn={min:null,max:null};function Tn(e,t){let l=t?ye[e].points:ye[e];l._stroke=l.stroke(g,e),l._fill=l.fill(g,e)}function Sn(e,t){let l=t?ye[e].points:ye[e],{stroke:n,fill:i,clip:s,flags:o,_stroke:r=l._stroke,_fill:u=l._fill,_width:a=l.width}=l._paths;a=V(a*d,3);let c=null,h=a%2/2;t&&null==u&&(u=a>0?"#fff":r);let m=1==l.pxAlign&&h>0;if(m&&N.translate(h,h),!t){let e=nl-a/2,t=il-a/2,l=sl+a,n=fl+a;c=new Path2D,c.rect(e,t,l,n)}t?Dn(r,a,l.dash,l.cap,u,n,i,o,s):function(e,t,l,n,i,s,o,r,u,a,c){let h=!1;0!=u&&Ge.forEach(((d,m)=>{if(d.series[0]==e){let e,x=ye[d.series[1]],w=f[d.series[1]],b=(x._paths||J).band;X(b)&&(b=1==d.dir?b[0]:b[1]);let _=null;x.show&&b&&function(e,t,l){for(t=p(t,0),l=p(l,e.length-1);l>=t;){if(null!=e[t])return!0;t++}return!1}(w,Nl,Vl)?(_=d.fill(g,m)||s,e=x._paths.clip):b=null,Dn(t,l,n,i,_,o,r,u,a,c,e,b),h=!0}})),h||Dn(t,l,n,i,s,o,r,u,a,c)}(e,r,a,l.dash,l.cap,u,n,i,o,c,s),m&&N.translate(-h,-h)}const zn=3;function Dn(e,t,l,n,i,s,o,r,u,a,f,c){vn(e,t,l,n,i),(u||a||c)&&(N.save(),u&&N.clip(u),a&&N.clip(a)),c?(r&zn)==zn?(N.clip(c),f&&N.clip(f),Pn(i,o),En(e,s,t)):2&r?(Pn(i,o),N.clip(c),En(e,s,t)):1&r&&(N.save(),N.clip(c),f&&N.clip(f),Pn(i,o),N.restore(),En(e,s,t)):(Pn(i,o),En(e,s,t)),(u||a||c)&&N.restore()}function En(e,t,l){l>0&&(t instanceof Map?t.forEach(((e,t)=>{N.strokeStyle=rn=t,N.stroke(e)})):null!=t&&e&&N.stroke(t))}function Pn(e,t){t instanceof Map?t.forEach(((e,t)=>{N.fillStyle=un=t,N.fill(e)})):null!=t&&e&&N.fill(t)}function An(e,t,l,n,i,s,o,r,u,a){let f=o%2/2;1==ie&&N.translate(f,f),vn(r,o,u,a,r),N.beginPath();let c,h,p,d,m=i+(0==n||3==n?-s:s);0==l?(h=i,d=m):(c=i,p=m);for(let n=0;e.length>n;n++)null!=t[n]&&(0==l?c=p=e[n]:h=d=e[n],N.moveTo(c,h),N.lineTo(p,d));N.stroke(),1==ie&&N.translate(-f,-f)}function Cn(e){let t=!0;return De.forEach(((l,n)=>{if(!l.show)return;let i=Ce[l.scale];if(null==i.min)return void(l._show&&(t=!1,l._show=!1,Yn(!1)));l._show||(t=!1,l._show=!0,Yn(!1));let s=l.side,o=s%2,{min:r,max:u}=i,[a,f]=function(e,t,l,n){let i,s=De[e];if(n>0){let o=s._space=s.space(g,e,t,l,n);i=nn(t,l,s._incrs=s.incrs(g,e,t,l,n,o),n,o)}else i=[0,0];return s._found=i}(n,r,u,0==o?Nt:jt);if(0==f)return;let c=l._splits=l.splits(g,n,r,u,a,f,2==i.distr),h=2==i.distr?c.map((e=>xn[e])):c,p=2==i.distr?xn[c[1]]-xn[c[0]]:a,d=l._values=l.values(g,l.filter(g,h,n,f,p),n,f,p);l._rotate=2==s?l.rotate(g,d,n,f):0;let m=l._size;l._size=k(l.size(g,d,n,e)),null!=m&&l._size!=m&&(t=!1)})),t}function Wn(e){let t=!0;return Ol.forEach(((l,n)=>{let i=l(g,n,Gl,e);i!=Ll[n]&&(t=!1),Ll[n]=i})),t}function Yn(e){ye.forEach(((t,l)=>{l>0&&(t._paths=null,e&&(1==_?(t.min=null,t.max=null):t.facets.forEach((e=>{e.min=null,e.max=null}))))}))}let Hn,Rn,Fn,Gn,In,On,Ln,Un,Nn,jn,Vn,Bn,Zn=!1,$n=!1,Jn=[];function qn(){$n=!1;for(let e=0;Jn.length>e;e++)Gi(...Jn[e]);Jn.length=0}function Kn(){Zn||(ue(Xn),Zn=!0)}function Xn(){if(cl&&(function(){for(let e in Ce){let t=Ce[e];null==Qe[e]&&(null==t.min||null!=Qe[Oe]&&t.auto(g,wn))&&(Qe[e]=Mn)}for(let e in Ce){let t=Ce[e];null==Qe[e]&&null!=t.from&&null!=Qe[t.from]&&(Qe[e]=Mn)}null!=Qe[Oe]&&Yn(!0);let t={};for(let e in Qe){let l=Qe[e];if(null!=l){let n=t[e]=se(Ce[e],le);if(null!=l.min)oe(n,l);else if(e!=Oe||2==_)if(0==Ul&&null==n.from){let t=n.range(g,null,null,e);n.min=t[0],n.max=t[1]}else n.min=P,n.max=-P}}if(Ul>0){ye.forEach(((l,n)=>{if(1==_){let i=l.scale,s=Qe[i];if(null==s)return;let o=t[i];if(0==n){let t=o.range(g,o.min,o.max,i);o.min=t[0],o.max=t[1],Nl=e(o.min,f[0]),Vl=e(o.max,f[0]),Vl-Nl>1&&(o.min>f[0][Nl]&&Nl++,f[0][Vl]>o.max&&Vl--),l.min=xn[Nl],l.max=xn[Vl]}else l.show&&l.auto&&yn(o,s,l,f[n],l.sorted);l.idxs[0]=Nl,l.idxs[1]=Vl}else if(n>0&&l.show&&l.auto){let[e,i]=l.facets,s=e.scale,o=i.scale,[r,u]=f[n],a=t[s],c=t[o];null!=a&&yn(a,Qe[s],e,r,e.sorted),null!=c&&yn(c,Qe[o],i,u,i.sorted),l.min=i.min,l.max=i.max}}));for(let e in t){let l=t[e],n=Qe[e];if(null==l.from&&(null==n||null==n.min)){let t=l.range(g,l.min==P?null:l.min,l.max==-P?null:l.max,e);l.min=t[0],l.max=t[1]}}}for(let e in t){let l=t[e];if(null!=l.from){let n=t[l.from];if(null==n.min)l.min=l.max=null;else{let t=l.range(g,n.min,n.max,e);l.min=t[0],l.max=t[1]}}}let l={},n=!1;for(let e in t){let i=t[e],s=Ce[e];if(s.min!=i.min||s.max!=i.max){s.min=i.min,s.max=i.max;let t=s.distr;s._min=3==t?z(s.min):4==t?E(s.min,s.asinh):100==t?s.fwd(s.min):s.min,s._max=3==t?z(s.max):4==t?E(s.max,s.asinh):100==t?s.fwd(s.max):s.max,l[e]=n=!0}}if(n){ye.forEach(((e,t)=>{2==_?t>0&&l.y&&(e._paths=null):l[e.scale]&&(e._paths=null)}));for(let e in l)bl=!0,Gi("setScale",e);ft&&ut.left>=0&&(_l=yl=!0)}for(let e in Qe)Qe[e]=null}(),cl=!1),bl&&(function(){let e=!1,t=0;for(;!e;){t++;let l=Cn(t),n=Wn(t);e=t==zl||l&&n,e||(Sl(g.width,g.height),xl=!0)}}(),bl=!1),xl){if(He($,pe,Vt),He($,ce,Bt),He($,ae,Nt),He($,fe,jt),He(Q,pe,Vt),He(Q,ce,Bt),He(Q,ae,Nt),He(Q,fe,jt),He(j,ae,Ot),He(j,fe,Lt),L.width=v(Ot*d),L.height=v(Lt*d),De.forEach((({_el:e,_show:t,_size:l,_pos:n,side:i})=>{if(null!=e)if(t){let t=i%2==1;He(e,t?"left":"top",n-(3===i||0===i?l:0)),He(e,t?"width":"height",l),He(e,t?"top":"left",t?Bt:Vt),He(e,t?"height":"width",t?jt:Nt),Ye(e,Se)}else We(e,Se)})),rn=un=an=cn=hn=pn=dn=mn=fn=null,gn=1,yi(!0),Vt!=Zt||Bt!=$t||Nt!=tl||jt!=ll){Yn(!1);let e=Nt/tl,t=jt/ll;if(ft&&!_l&&ut.left>=0){ut.left*=e,ut.top*=t,Fn&&Ie(Fn,v(ut.left),0,Nt,jt),Gn&&Ie(Gn,0,v(ut.top),Nt,jt);for(let l=0;Wl.length>l;l++){let n=Wl[l];null!=n&&(Yl[l]*=e,Hl[l]*=t,Ie(n,k(Yl[l]),k(Hl[l]),Nt,jt))}}if(si.show&&!kl&&si.left>=0&&si.width>0){si.left*=e,si.width*=e,si.top*=t,si.height*=t;for(let e in Si)He(oi,e,si[e])}Zt=Vt,$t=Bt,tl=Nt,ll=jt}Gi("setSize"),xl=!1}Ot>0&&Lt>0&&(N.clearRect(0,0,L.width,L.height),Gi("drawClear"),je.forEach((e=>e())),Gi("draw")),si.show&&kl&&(ri(si),kl=!1),ft&&_l&&(vi(null,!0,!1),_l=!1),rt.show&&rt.live&&yl&&(bi(),yl=!1),H||(H=!0,g.status=1,Gi("ready")),wn=!1,Zn=!1,ne||Qn()}function Qn(){ye.forEach(((e,t)=>{t>0&&(e._paths=null)}))}function ei(t,l){let n=Ce[t];if(null==n.from){if(0==Ul){let e=n.range(g,l.min,l.max,t);l.min=e[0],l.max=e[1]}if(l.min>l.max){let e=l.min;l.min=l.max,l.max=e}if(Ul>1&&null!=l.min&&null!=l.max&&1e-16>l.max-l.min)return;t==Oe&&2==n.distr&&Ul>0&&(l.min=e(l.min,f[0]),l.max=e(l.max,f[0]),l.min==l.max&&l.max++),Qe[t]=l,cl=!0,Kn()}}g.batch=function(e,t=!1){Zn=!0,$n=t,e(g),Xn(),t&&Jn.length>0&&queueMicrotask(qn)},g.clearCache=Qn,g.redraw=(e,t)=>{bl=t||!1,!1!==e?ui(Oe,Je.min,Je.max):Kn()},g.setScale=ei;let ti=!1;const li=ut.drag;let ni=li.x,ii=li.y;ft&&(ut.x&&(Hn=Fe("u-cursor-x",Q)),ut.y&&(Rn=Fe("u-cursor-y",Q)),0==Je.ori?(Fn=Hn,Gn=Rn):(Fn=Rn,Gn=Hn),Vn=ut.left,Bn=ut.top);const si=g.select=oe({show:!0,over:!0,left:0,width:0,top:0,height:0},t.select),oi=si.show?Fe("u-select",si.over?Q:$):null;function ri(e,t){if(si.show){for(let t in e)si[t]=e[t],t in Si&&He(oi,t,e[t]);!1!==t&&Gi("setSelect")}}function ui(e,t,l){ei(e,{min:t,max:l})}function ai(e,t,l,n){null!=t.focus&&function(e){if(e!=hi){let t=null==e,l=1!=Pl.alpha;ye.forEach(((n,i)=>{if(1==_||i>0){let s=t||0==i||i==e;n._focus=t?null:s,l&&function(e,t){ye[e].alpha=t,ft&&null!=Wl[e]&&(Wl[e].style.opacity=t),at&&wt[e]&&(wt[e].style.opacity=t)}(i,s?1:Pl.alpha)}})),hi=e,l&&Kn()}}(e),null!=t.show&&ye.forEach(((l,n)=>{0>=n||e!=n&&null!=e||(l.show=t.show,function(e){if(ye[e].show)at&&Ye(wt[e],Se);else if(at&&We(wt[e],Se),ft){let t=Cl?Wl[0]:Wl[e];null!=t&&Ie(t,-10,-10,Nt,jt)}}(n),2==_?(ui(l.facets[0].scale,null,null),ui(l.facets[1].scale,null,null)):ui(l.scale,null,null),Kn())})),!1!==l&&Gi("setSeries",e,t),n&&Ni("setSeries",g,e,t)}let fi,ci,hi;g.setSelect=ri,g.setSeries=ai,g.addBand=function(e,t){e.fill=Y(e.fill||null),e.dir=p(e.dir,-1),Ge.splice(t=null==t?Ge.length:t,0,e)},g.setBand=function(e,t){oe(Ge[e],t)},g.delBand=function(e){null==e?Ge.length=0:Ge.splice(e,1)};const pi={focus:!0};function di(e,t,l){let n=Ce[t];l&&(e=e/d-(1==n.ori?Bt:Vt));let i=Nt;1==n.ori&&(i=jt,e=i-e),-1==n.dir&&(e=i-e);let s=n._min,o=s+e/i*(n._max-s),r=n.distr;return 3==r?T(10,o):4==r?((e,t=1)=>x.sinh(e)*t)(o,n.asinh):100==r?n.bwd(o):o}function mi(e,t){He(oi,pe,si.left=e),He(oi,ae,si.width=t)}function gi(e,t){He(oi,ce,si.top=e),He(oi,fe,si.height=t)}at&&Al&&zt(ve,ht,(e=>{ut._lock||(Dl(e),null!=hi&&ai(null,pi,!0,Oi.setSeries))})),g.valToIdx=t=>e(t,f[0]),g.posToIdx=function(t,l){return e(di(t,Oe,l),f[0],Nl,Vl)},g.posToVal=di,g.valToPos=(e,t,l)=>0==Ce[t].ori?S(e,Ce[t],l?sl:Nt,l?nl:0):D(e,Ce[t],l?fl:jt,l?il:0),g.setCursor=(e,t,l)=>{Vn=e.left,Bn=e.top,vi(null,t,l)};let xi=0==Je.ori?mi:gi,wi=1==Je.ori?mi:gi;function bi(e,t){if(null!=e&&(e.idxs?e.idxs.forEach(((e,t)=>{ot[t]=e})):(e=>void 0===e)(e.idx)||ot.fill(e.idx),rt.idx=ot[0]),at&&rt.live){for(let e=0;ye.length>e;e++)(e>0||1==_&&!_t)&&_i(e,ot[e]);!function(){if(at&&rt.live)for(let e=2==_?1:0;ye.length>e;e++){if(0==e&&_t)continue;let t=rt.values[e],l=0;for(let n in t)bt[e][l++].firstChild.nodeValue=t[n]}}()}yl=!1,!1!==t&&Gi("setLegend")}function _i(e,t){let l,n=ye[e],i=0==e&&2==qe?xn:f[e];_t?l=n.values(g,e,t)??vt:(l=n.value(g,null==t?null:i[t],e,t),l=null==l?vt:{_:l}),rt.values[e]=l}function vi(t,l,n){let i;Nn=Vn,jn=Bn,[Vn,Bn]=ut.move(g,Vn,Bn),ut.left=Vn,ut.top=Bn,ft&&(Fn&&Ie(Fn,v(Vn),0,Nt,jt),Gn&&Ie(Gn,0,v(Bn),Nt,jt)),fi=P,ci=null;let s=0==Je.ori?Nt:jt,o=1==Je.ori?Nt:jt;if(0>Vn||0==Ul||Nl>Vl){i=ut.idx=null;for(let e=0;ye.length>e;e++){let t=Wl[e];null!=t&&Ie(t,-10,-10,Nt,jt)}Al&&ai(null,pi,!0,null==t&&Oi.setSeries),rt.live&&(ot.fill(i),yl=!0)}else{let t,l,n;1==_&&(t=0==Je.ori?Vn:Bn,l=di(t,Oe),i=ut.idx=e(l,f[0],Nl,Vl),n=Ke(f[0][i],Je,s,0));let r=-10,u=-10,a=0,c=0,h=!0,p="",d="";for(let e=2==_?1:0;ye.length>e;e++){let t=ye[e],m=ot[e],x=null==m?null:1==_?f[e][m]:f[e][1][m],w=ut.dataIdx(g,e,i,l),v=null==w?null:1==_?f[e][w]:f[e][1][w];if(yl=yl||v!=x||w!=m,ot[e]=w,e>0&&t.show){let l=null==w?-10:w==i?n:Ke(1==_?f[0][w]:f[e][0][w],Je,s,0),m=null==v?-10:Xe(v,1==_?Ce[t.scale]:Ce[t.facets[1].scale],o,0);if(Al&&null!=v){let l=1==Je.ori?Vn:Bn,n=b(Pl.dist(g,e,w,m,l));if(fi>n){let i=Pl.bias;if(0!=i){let s=di(l,t.scale),o=0>s?-1:1;o!=(0>v?-1:1)||(1==o?1==i?s>v:v>s:1==i?v>s:s>v)||(fi=n,ci=e)}else fi=n,ci=e}}if(yl||Cl){let t,n;0==Je.ori?(t=l,n=m):(t=m,n=l);let i,s,o,f,x,w,b=!0,_=El.bbox;if(null!=_){b=!1;let t=_(g,e);o=t.left,f=t.top,i=t.width,s=t.height}else o=t,f=n,i=s=El.size(g,e);if(w=El.fill(g,e),x=El.stroke(g,e),Cl)e!=ci||fi>Pl.prox||(r=o,u=f,a=i,c=s,h=b,p=w,d=x);else{let t=Wl[e];null!=t&&(Yl[e]=o,Hl[e]=f,Ne(t,i,s,b),Le(t,w,x),Ie(t,k(o),k(f),Nt,jt))}}}}if(Cl){let e=Pl.prox;if(yl||(null==hi?e>=fi:fi>e||ci!=hi)){let e=Wl[0];null!=e&&(Yl[0]=r,Hl[0]=u,Ne(e,a,c,h),Le(e,p,d),Ie(e,k(r),k(u),Nt,jt))}}}if(si.show&&ti)if(null!=t){let[e,l]=Oi.scales,[n,i]=Oi.match,[r,u]=t.cursor.sync.scales,a=t.cursor.drag;if(ni=a._x,ii=a._y,ni||ii){let a,f,c,h,p,{left:d,top:m,width:g,height:x}=t.select,w=t.scales[r].ori,_=t.posToVal,v=null!=e&&n(e,r),k=null!=l&&i(l,u);v&&ni?(0==w?(a=d,f=g):(a=m,f=x),c=Ce[e],h=Ke(_(a,r),c,s,0),p=Ke(_(a+f,r),c,s,0),xi(y(h,p),b(p-h))):xi(0,s),k&&ii?(1==w?(a=d,f=g):(a=m,f=x),c=Ce[l],h=Xe(_(a,u),c,o,0),p=Xe(_(a+f,u),c,o,0),wi(y(h,p),b(p-h))):wi(0,o)}else zi()}else{let e=b(Nn-In),t=b(jn-On);if(1==Je.ori){let l=e;e=t,t=l}ni=li.x&&e>=li.dist,ii=li.y&&t>=li.dist;let l,n,i=li.uni;null!=i?ni&&ii&&(ni=e>=i,ii=t>=i,ni||ii||(t>e?ii=!0:ni=!0)):li.x&&li.y&&(ni||ii)&&(ni=ii=!0),ni&&(0==Je.ori?(l=Ln,n=Vn):(l=Un,n=Bn),xi(y(l,n),b(n-l)),ii||wi(0,o)),ii&&(1==Je.ori?(l=Ln,n=Vn):(l=Un,n=Bn),wi(y(l,n),b(n-l)),ni||xi(0,s)),ni||ii||(xi(0,0),wi(0,0))}if(li._x=ni,li._y=ii,null==t){if(n){if(null!=Li){let[e,t]=Oi.scales;Oi.values[0]=null!=e?di(0==Je.ori?Vn:Bn,e):null,Oi.values[1]=null!=t?di(1==Je.ori?Vn:Bn,t):null}Ni(xe,g,Vn,Bn,Nt,jt,i)}if(Al){let e=n&&Oi.setSeries,t=Pl.prox;null==hi?fi>t||ai(ci,pi,!0,e):fi>t?ai(null,pi,!0,e):ci!=hi&&ai(ci,pi,!0,e)}}yl&&(rt.idx=i,bi()),!1!==l&&Gi("setCursor")}g.setLegend=bi;let ki=null;function yi(e=!1){e?ki=null:(ki=Q.getBoundingClientRect(),Gi("syncRect",ki))}function Mi(e,t,l,n,i,s){ut._lock||ti&&null!=e&&0==e.movementX&&0==e.movementY||(Ti(e,t,l,n,i,s,0,!1,null!=e),null!=e?vi(null,!0,!0):vi(t,!0,!1))}function Ti(e,t,l,n,i,s,o,r,u){if(null==ki&&yi(!1),Dl(e),null!=e)l=e.clientX-ki.left,n=e.clientY-ki.top;else{if(0>l||0>n)return Vn=-10,void(Bn=-10);let[e,o]=Oi.scales,r=t.cursor.sync,[u,a]=r.values,[f,c]=r.scales,[h,p]=Oi.match,d=t.axes[0].side%2==1,m=0==Je.ori?Nt:jt,g=1==Je.ori?Nt:jt,x=d?s:i,w=d?i:s,b=d?n:l,_=d?l:n;if(l=null!=f?h(e,f)?A(u,Ce[e],m,0):-10:m*(b/x),n=null!=c?p(o,c)?A(a,Ce[o],g,0):-10:g*(_/w),1==Je.ori){let e=l;l=n,n=e}}!u||null!=t&&t.cursor.event.type!=xe||(l>1&&Nt-1>l||(l=U(l,Nt)),n>1&&jt-1>n||(n=U(n,jt))),r?(In=l,On=n,[Ln,Un]=ut.move(g,l,n)):(Vn=l,Bn=n)}Object.defineProperty(g,"rect",{get:()=>(null==ki&&yi(!1),ki)});const Si={width:0,height:0,left:0,top:0};function zi(){ri(Si,!1)}let Di,Ei,Pi,Ai;function Ci(e,t,l,n,i,s){ti=!0,ni=ii=li._x=li._y=!1,Ti(e,t,l,n,i,s,0,!0,!1),null!=e&&(zt(be,Ee,Wi,!1),Ni(we,g,Ln,Un,Nt,jt,null));let{left:o,top:r,width:u,height:a}=si;Di=o,Ei=r,Pi=u,Ai=a}function Wi(e,t,l,n,i,s){St&&(Ze(xe,Ee,Mi),St=!1),ti=li._x=li._y=!1,Ti(e,t,l,n,i,s,0,!1,!0);let{left:o,top:r,width:u,height:a}=si,f=u>0||a>0,c=Di!=o||Ei!=r||Pi!=u||Ai!=a;if(f&&c&&ri(si),li.setScale&&f&&c){let e=o,t=u,l=r,n=a;if(1==Je.ori&&(e=r,t=a,l=o,n=u),ni&&ui(Oe,di(e,Oe),di(e+t,Oe)),ii)for(let e in Ce){let t=Ce[e];e!=Oe&&null==t.from&&t.min!=P&&ui(e,di(l+n,e),di(l,e))}zi()}else ut.lock&&(ut._lock=!ut._lock,vi(t,!0,null!=e));null!=e&&(It(be,Ee),Ni(be,g,Vn,Bn,Nt,jt,null))}function Yi(e){ut._lock||(Dl(e),_n(),zi(),null!=e&&Ni(ke,g,Vn,Bn,Nt,jt,null))}function Hi(){m()}Be(Me,Pe,Hi);const Ri={};Ri.mousedown=Ci,Ri.mousemove=Mi,Ri.mouseup=Wi,Ri.dblclick=Yi,Ri.setSeries=(e,t,l,n)=>{-1!=(l=(0,Oi.match[2])(g,t,l))&&ai(l,n,!0,!1)},ft&&(zt(we,Q,Ci),zt(xe,Q,Mi),zt(_e,Q,(e=>{St&&(Ze(xe,Ee,Mi),St=!1),Dl(e),yi(!1)})),zt(ve,Q,(function(e){if(ut._lock)return;Dl(e);let t=ti;if(ti){ni&&ii&&(Be(xe,Ee,Mi),St=!0);let e,t,l=!0,n=!0,i=10;0==Je.ori?(e=ni,t=ii):(e=ii,t=ni),e&&t&&(l=i>=Vn||Vn>=Nt-i,n=i>=Bn||Bn>=jt-i),e&&l&&(Vn=Ln>Vn?0:Nt),t&&n&&(Bn=Un>Bn?0:jt),vi(null,!0,!0),ti=!1}Vn=-10,Bn=-10,ot.fill(null),vi(null,!0,!0),t&&(ti=t)})),zt(ke,Q,Yi),jl.add(g),g.syncRect=yi);const Fi=g.hooks=t.hooks||{};function Gi(e,t,l){$n?Jn.push([e,t,l]):e in Fi&&Fi[e].forEach((e=>{e.call(null,g,t,l)}))}(t.plugins||[]).forEach((e=>{for(let t in e.hooks)Fi[t]=(Fi[t]||[]).concat(e.hooks[t])}));const Ii=(e,t,l)=>l,Oi=oe({key:null,setSeries:!1,filters:{pub:G,sub:G},scales:[Oe,ye[1]?ye[1].scale:null],match:[I,I,Ii],values:[null,null]},ut.sync);2==Oi.match.length&&Oi.match.push(Ii),ut.sync=Oi;const Li=Oi.key,Ui=wl(Li);function Ni(e,t,l,n,i,s,o){Oi.filters.pub(e,t,l,n,i,s,o)&&Ui.pub(e,t,l,n,i,s,o)}function ji(){Gi("init",t,f),bn(f||t.data,!1),Qe[Oe]?ei(Oe,Qe[Oe]):_n(),kl=si.show&&(si.width>0||si.height>0),_l=yl=!0,Ml(t.width,t.height)}return Ui.sub(g),g.pub=function(e,t,l,n,i,s,o){Oi.filters.sub(e,t,l,n,i,s,o)&&Ri[e](null,t,l,n,i,s,o)},g.destroy=function(){Ui.unsub(g),jl.delete(g),Tt.clear(),Ze(Me,Pe,Hi),St&&(Ze(xe,Ee,Mi),St=!1),O.remove(),ht?.remove(),Gi("destroy")},ye.forEach(Fl),De.forEach((function(e,t){if(e._show=e.show,e.show){let l=Ce[e.scale];null==l&&(e.scale=e.side%2?ye[1].scale:Oe,l=Ce[e.scale]);let n=l.time;e.size=Y(e.size),e.space=Y(e.space),e.rotate=Y(e.rotate),X(e.incrs)&&e.incrs.forEach((e=>{!B.has(e)&&B.set(e,Z(e))})),e.incrs=Y(e.incrs||(2==l.distr?mt:n?1==me?Dt:At:gt)),e.splits=Y(e.splits||(n&&1==l.distr?nt:3==l.distr?Qt:4==l.distr?el:Xt)),e.stroke=Y(e.stroke),e.grid.stroke=Y(e.grid.stroke),e.ticks.stroke=Y(e.ticks.stroke),e.border.stroke=Y(e.border.stroke);let i=e.values;e.values=X(i)&&!X(i[0])?Y(i):n?X(i)?Ht(et,Yt(i,tt)):ee(i)?function(e,t){let l=lt(t);return(t,n)=>n.map((t=>l(e(t))))}(et,i):i||it:i||Kt,e.filter=Y(e.filter||(3>l.distr||10!=l.log?3==l.distr&&2==l.log?rl:R:ol)),e.font=sn(e.font,d),e.labelFont=sn(e.labelFont,d),e._size=e.size(g,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(Gl[t]=!0,e._el=Fe("u-axis",j))}})),c?c instanceof HTMLElement?(c.appendChild(O),ji()):c(g,ji):ji(),g}on.assign=oe,on.fmtNum=g,on.rangeNum=h,on.rangeLog=o,on.rangeAsinh=r,on.orient=bl,on.pxRatio=Ae,on.join=function(e,t){if(function(e){let t=e[0][0],l=t.length;for(let n=1;e.length>n;n++){let i=e[n][0];if(i.length!=l)return!1;if(i!=t)for(let e=0;l>e;e++)if(i[e]!=t[e])return!1}return!0}(e)){let t=e[0].slice();for(let l=1;e.length>l;l++)t.push(...e[l].slice(1));return function(e,t=100){const l=e.length;if(1>=l)return!0;let n=0,i=l-1;for(;i>=n&&null==e[n];)n++;for(;i>=n&&null==e[i];)i--;if(n>=i)return!0;const s=M(1,_((i-n+1)/t));for(let t=e[n],l=n+s;i>=l;l+=s){const n=e[l];if(null!=n){if(t>=n)return!1;t=n}}return!0}(t[0])||(t=function(e){let t=e[0],l=t.length,n=Array(l);for(let e=0;n.length>e;e++)n[e]=e;n.sort(((e,l)=>t[e]-t[l]));let i=[];for(let t=0;e.length>t;t++){let s=e[t],o=Array(l);for(let e=0;l>e;e++)o[e]=s[n[e]];i.push(o)}return i}(t)),t}let l=new Set;for(let t=0;e.length>t;t++){let n=e[t][0],i=n.length;for(let e=0;i>e;e++)l.add(n[e])}let n=[Array.from(l).sort(((e,t)=>e-t))],i=n[0].length,s=new Map;for(let e=0;i>e;e++)s.set(n[0][e],e);for(let l=0;e.length>l;l++){let o=e[l],r=o[0];for(let e=1;o.length>e;e++){let u=o[e],a=Array(i).fill(void 0),f=t?t[l][e]:1,c=[];for(let e=0;u.length>e;e++){let t=u[e],l=s.get(r[e]);null===t?0!=f&&(a[l]=t,2==f&&c.push(l)):a[l]=t}re(a,c,i),n.push(a)}}return n},on.fmtDate=lt,on.tzDate=function(e,t){if(null==t||t==nt)return"number"==typeof e?new Date(e):e;let l=new rt(e);return l.setTimeZone(t),l},on.sync=wl;{on.addGap=function(e,t,l){let n=e[e.length-1];n&&n[0]==t?n[1]=l:e.push([t,l])},on.clipGaps=yl;let e=on.paths={points:Fl};e.linear=Ll,e.stepped=function(e){const t=p(e.align,1),l=p(e.ascDesc,!1),n=p(e.extend,!1);return(s,o,r,u)=>{let{pxRatio:a}=s;return bl(s,o,((f,c,h,p,d,m,g,x,w,b,_)=>{[r,u]=i(h,r,u);let v=f.pxRound,k=e?.alignGaps??f.alignGaps??0,{left:y,width:M}=s.bbox,T=e=>v(m(e,p,b,x)),S=e=>v(g(e,d,_,w)),z=0==p.ori?El:Pl;const D={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},E=D.stroke,P=p.dir*(0==p.ori?1:-1);let A=!1,C=S(h[1==P?r:u]),W=T(c[1==P?r:u]),Y=W,H=W;n&&-1==t&&(H=y,z(E,H,C)),z(E,W,C);for(let e=1==P?r:u;e>=r&&u>=e;e+=P){let l=h[e];if(null==l){null===l&&(A=!0);continue}let n=T(c[e]),i=S(l);1==t?z(E,n,C):z(E,Y,i),z(E,n,i),C=i,Y=n}let R=Y;n&&1==t&&(R=y+M,z(E,R,C));let[F,G]=_l(s,o);if(null!=f.fill||0!=F){let e=D.fill=new Path2D(E),t=S(f.fillTo(s,o,f.min,f.max,F));z(e,R,t),z(e,H,t)}if(!f.spanGaps){let e=A?Ml(c,h,r,u,P,T,k):[],n=f.width*a/2,i=l||1==t?n:-n,d=l||-1==t?-n:n;e.forEach((e=>{e[0]+=i,e[1]+=d})),D.gaps=e=f.gaps(s,o,r,u,e),D.clip=yl(e,p.ori,x,w,b,_)}return 0!=G&&(D.band=2==G?[kl(s,o,r,u,E,-1),kl(s,o,r,u,E,1)]:kl(s,o,r,u,E,G)),D}))}},e.bars=function(e){const t=p((e=e||J).size,[.6,P,1]),l=e.align||0,n=e.gap||0;let i=e.radius;i=null==i?[0,0]:"number"==typeof i?[i,0]:i;const s=Y(i),o=1-t[0],r=p(t[1],P),u=p(t[2],1),a=p(e.disp,J),f=p(e.each,(()=>{})),{fill:c,stroke:h}=a;return(e,t,i,d)=>{let{pxRatio:m}=e;return bl(e,t,((g,x,w,b,v,k,T,S,z,D,E)=>{let P,A,W=g.pxRound,Y=l,R=n*m,F=r*m,G=u*m;0==b.ori?[P,A]=s(e,t):[A,P]=s(e,t);const I=b.dir*(0==b.ori?1:-1);let O,L,U,N=0==b.ori?Al:Cl,j=0==b.ori?f:(e,t,l,n,i,s,o)=>{f(e,t,l,i,n,o,s)},V=p(e.bands,q).find((e=>e.series[0]==t)),B=g.fillTo(e,t,g.min,g.max,null!=V?V.dir:0),Z=W(T(B,v,E,z)),$=D,J=W(g.width*m),K=!1,X=null,Q=null,ee=null,te=null;null==c||0!=J&&null==h||(K=!0,X=c.values(e,t,i,d),Q=new Map,new Set(X).forEach((e=>{null!=e&&Q.set(e,new Path2D)})),J>0&&(ee=h.values(e,t,i,d),te=new Map,new Set(ee).forEach((e=>{null!=e&&te.set(e,new Path2D)}))));let{x0:le,size:ne}=a;if(null!=le&&null!=ne){Y=1,x=le.values(e,t,i,d),2==le.unit&&(x=x.map((t=>e.posToVal(S+t*D,b.key,!0))));let l=ne.values(e,t,i,d);L=2==ne.unit?l[0]*D:k(l[0],b,D,S)-k(0,b,D,S),$=Ul(x,w,k,b,D,S,$),U=$-L+R}else $=Ul(x,w,k,b,D,S,$),U=$*o+R,L=$-U;1>U&&(U=0),L/2>J||(J=0),5>U&&(W=H);let ie=U>0;L=W(C($-U-(ie?J:0),G,F)),O=(0==Y?L/2:Y==I?0:L)-Y*I*((0==Y?R/2:0)+(ie?J/2:0));const se={stroke:null,fill:null,clip:null,band:null,gaps:null,flags:0},oe=K?null:new Path2D;let re=null;if(null!=V)re=e.data[V.series[1]];else{let{y0:l,y1:n}=a;null!=l&&null!=n&&(w=n.values(e,t,i,d),re=l.values(e,t,i,d))}let ue=P*L,ae=A*L;for(let l=1==I?i:d;l>=i&&d>=l;l+=I){let n=w[l];if(null==n)continue;if(null!=re){let e=re[l]??0;if(n-e==0)continue;Z=T(e,v,E,z)}let i=k(2!=b.distr||null!=a?x[l]:l,b,D,S),s=T(p(n,B),v,E,z),o=W(i-O),r=W(M(s,Z)),u=W(y(s,Z)),f=r-u;if(null!=n&&n!=B){let i=0>n?ae:ue,s=0>n?ue:ae;K?(J>0&&null!=ee[l]&&N(te.get(ee[l]),o,u+_(J/2),L,M(0,f-J),i,s),null!=X[l]&&N(Q.get(X[l]),o,u+_(J/2),L,M(0,f-J),i,s)):N(oe,o,u+_(J/2),L,M(0,f-J),i,s),j(e,t,l,o-J/2,u,L+J,f)}}return J>0?se.stroke=K?te:oe:K||(se._fill=0==g.width?g._fill:g._stroke??g._fill,se.width=0),se.fill=K?Q:oe,se}))}},e.spline=function(e){return function(e,t){return(l,n,s,o)=>bl(l,n,((r,u,a,f,c,h,p,d,m,g,x)=>{[s,o]=i(a,s,o);let w,b,_,v=r.pxRound,k=t?.alignGaps??r.alignGaps??0,y=e=>v(h(e,f,g,d)),M=e=>v(p(e,c,x,m));0==f.ori?(w=zl,_=El,b=Hl):(w=Dl,_=Pl,b=Rl);const T=f.dir*(0==f.ori?1:-1);let S=y(u[1==T?s:o]),z=S,D=[],E=[],P=!1;for(let e=1==T?s:o;e>=s&&o>=e;e+=T){let t=a[e];if(null!=t){let t=y(u[e]);D.push(z=t),E.push(M(a[e]))}else null===t&&(P=!0)}const A={stroke:e(D,E,w,_,b,v),fill:null,clip:null,band:null,gaps:null,flags:1},C=A.stroke;let[W,Y]=_l(l,n);if(null!=r.fill||0!=W){let e=A.fill=new Path2D(C),t=M(r.fillTo(l,n,r.min,r.max,W));_(e,z,t),_(e,S,t)}if(!r.spanGaps){let e=P?Ml(u,a,s,o,T,y,k):[];A.gaps=e=r.gaps(l,n,s,o,e),A.clip=yl(e,f.ori,d,m,g,x)}return 0!=Y&&(A.band=2==Y?[kl(l,n,s,o,C,-1),kl(l,n,s,o,C,1)]:kl(l,n,s,o,C,Y)),A}))}(Nl,e)}}return on}(); diff --git a/src/uPlot.js b/src/uPlot.js index 9c875adc..7fbee192 100644 --- a/src/uPlot.js +++ b/src/uPlot.js @@ -698,6 +698,8 @@ export default function uPlot(opts, data, then) { const mouseListeners = new Map(); + let globalMouseMove = false; + function onMouse(ev, targ, fn, onlyTarg = true) { const targListeners = mouseListeners.get(targ) || {}; const listener = cursor.bind[ev](self, targ, fn, onlyTarg); @@ -3240,6 +3242,14 @@ export default function uPlot(opts, data, then) { } function mouseUp(e, src, _l, _t, _w, _h, _i) { + if (globalMouseMove) { + off(mousemove, doc, mouseMove); + globalMouseMove = false; + // console.log('off global mousemove'); + + // TODO: hide cursor here + } + dragging = drag._x = drag._y = false; cacheMouse(e, src, _l, _t, _w, _h, _i, false, true); @@ -3316,6 +3326,12 @@ export default function uPlot(opts, data, then) { let _dragging = dragging; if (dragging) { + if (dragX && dragY) { + on(mousemove, doc, mouseMove); + globalMouseMove = true; + // console.log('on global mousemove'); + } + // handle case when mousemove aren't fired all the way to edges by browser let snapH = true; let snapV = true; @@ -3398,6 +3414,12 @@ export default function uPlot(opts, data, then) { onMouse(mousedown, over, mouseDown); onMouse(mousemove, over, mouseMove); onMouse(mouseenter, over, e => { + if (globalMouseMove) { + off(mousemove, doc, mouseMove); + globalMouseMove = false; + // console.log('off global mousemove'); + } + setCursorEvent(e); syncRect(false); }); @@ -3472,6 +3494,13 @@ export default function uPlot(opts, data, then) { cursorPlots.delete(self); mouseListeners.clear(); off(dppxchange, win, onDppxChange); + + if (globalMouseMove) { + off(mousemove, doc, mouseMove); + globalMouseMove = false; + // console.log('off global mousemove'); + } + root.remove(); FEAT_LEGEND && legendTable?.remove(); // in case mounted outside of root fire("destroy");