nebula-notebook 0.2.20 → 0.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import{c as ti,a as sc,g as Bd}from"./index-Cq1BG1_T.js";var ie;(function(n){function e(l,q,A=0,N=-1){let H=l.length;if(H===0)return-1;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z;N<A?Z=N+1+(H-A):Z=N-A+1;for(let Y=0;Y<Z;++Y){let ce=(A+Y)%H;if(l[ce]===q)return ce}return-1}n.firstIndexOf=e;function t(l,q,A=-1,N=0){let H=l.length;if(H===0)return-1;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z;A<N?Z=A+1+(H-N):Z=A-N+1;for(let Y=0;Y<Z;++Y){let ce=(A-Y+H)%H;if(l[ce]===q)return ce}return-1}n.lastIndexOf=t;function i(l,q,A=0,N=-1){let H=l.length;if(H===0)return-1;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z;N<A?Z=N+1+(H-A):Z=N-A+1;for(let Y=0;Y<Z;++Y){let ce=(A+Y)%H;if(q(l[ce],ce))return ce}return-1}n.findFirstIndex=i;function s(l,q,A=-1,N=0){let H=l.length;if(H===0)return-1;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z;A<N?Z=A+1+(H-N):Z=A-N+1;for(let Y=0;Y<Z;++Y){let ce=(A-Y+H)%H;if(q(l[ce],ce))return ce}return-1}n.findLastIndex=s;function a(l,q,A=0,N=-1){let H=i(l,q,A,N);return H!==-1?l[H]:void 0}n.findFirstValue=a;function u(l,q,A=-1,N=0){let H=s(l,q,A,N);return H!==-1?l[H]:void 0}n.findLastValue=u;function c(l,q,A,N=0,H=-1){let Z=l.length;if(Z===0)return 0;N<0?N=Math.max(0,N+Z):N=Math.min(N,Z-1),H<0?H=Math.max(0,H+Z):H=Math.min(H,Z-1);let Y=N,ce=H-N+1;for(;ce>0;){let we=ce>>1,He=Y+we;A(l[He],q)<0?(Y=He+1,ce-=we+1):ce=we}return Y}n.lowerBound=c;function f(l,q,A,N=0,H=-1){let Z=l.length;if(Z===0)return 0;N<0?N=Math.max(0,N+Z):N=Math.min(N,Z-1),H<0?H=Math.max(0,H+Z):H=Math.min(H,Z-1);let Y=N,ce=H-N+1;for(;ce>0;){let we=ce>>1,He=Y+we;A(l[He],q)>0?ce=we:(Y=He+1,ce-=we+1)}return Y}n.upperBound=f;function p(l,q,A){if(l===q)return!0;if(l.length!==q.length)return!1;for(let N=0,H=l.length;N<H;++N)if(A?!A(l[N],q[N]):l[N]!==q[N])return!1;return!0}n.shallowEqual=p;function _(l,q={}){let{start:A,stop:N,step:H}=q;if(H===void 0&&(H=1),H===0)throw new Error("Slice `step` cannot be zero.");let Z=l.length;A===void 0?A=H<0?Z-1:0:A<0?A=Math.max(A+Z,H<0?-1:0):A>=Z&&(A=H<0?Z-1:Z),N===void 0?N=H<0?-1:Z:N<0?N=Math.max(N+Z,H<0?-1:0):N>=Z&&(N=H<0?Z-1:Z);let Y;H<0&&N>=A||H>0&&A>=N?Y=0:H<0?Y=Math.floor((N-A+1)/H+1):Y=Math.floor((N-A-1)/H+1);let ce=[];for(let we=0;we<Y;++we)ce[we]=l[A+we*H];return ce}n.slice=_;function b(l,q,A){let N=l.length;if(N<=1||(q<0?q=Math.max(0,q+N):q=Math.min(q,N-1),A<0?A=Math.max(0,A+N):A=Math.min(A,N-1),q===A))return;let H=l[q],Z=q<A?1:-1;for(let Y=q;Y!==A;Y+=Z)l[Y]=l[Y+Z];l[A]=H}n.move=b;function w(l,q=0,A=-1){let N=l.length;if(!(N<=1))for(q<0?q=Math.max(0,q+N):q=Math.min(q,N-1),A<0?A=Math.max(0,A+N):A=Math.min(A,N-1);q<A;){let H=l[q],Z=l[A];l[q++]=Z,l[A--]=H}}n.reverse=w;function x(l,q,A=0,N=-1){let H=l.length;if(H<=1||(A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1),A>=N))return;let Z=N-A+1;if(q>0?q=q%Z:q<0&&(q=(q%Z+Z)%Z),q===0)return;let Y=A+q;w(l,A,Y-1),w(l,Y,N),w(l,A,N)}n.rotate=x;function y(l,q,A=0,N=-1){let H=l.length;if(H===0)return;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z;N<A?Z=N+1+(H-A):Z=N-A+1;for(let Y=0;Y<Z;++Y)l[(A+Y)%H]=q}n.fill=y;function C(l,q,A){let N=l.length;q<0?q=Math.max(0,q+N):q=Math.min(q,N);for(let H=N;H>q;--H)l[H]=l[H-1];l[q]=A}n.insert=C;function E(l,q){let A=l.length;if(q<0&&(q+=A),q<0||q>=A)return;let N=l[q];for(let H=q+1;H<A;++H)l[H-1]=l[H];return l.length=A-1,N}n.removeAt=E;function I(l,q,A=0,N=-1){let H=e(l,q,A,N);return H!==-1&&E(l,H),H}n.removeFirstOf=I;function R(l,q,A=-1,N=0){let H=t(l,q,A,N);return H!==-1&&E(l,H),H}n.removeLastOf=R;function L(l,q,A=0,N=-1){let H=l.length;if(H===0)return 0;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z=0;for(let Y=0;Y<H;++Y)A<=N&&Y>=A&&Y<=N&&l[Y]===q||N<A&&(Y<=N||Y>=A)&&l[Y]===q?Z++:Z>0&&(l[Y-Z]=l[Y]);return Z>0&&(l.length=H-Z),Z}n.removeAllOf=L;function O(l,q,A=0,N=-1){let H,Z=i(l,q,A,N);return Z!==-1&&(H=E(l,Z)),{index:Z,value:H}}n.removeFirstWhere=O;function F(l,q,A=-1,N=0){let H,Z=s(l,q,A,N);return Z!==-1&&(H=E(l,Z)),{index:Z,value:H}}n.removeLastWhere=F;function $(l,q,A=0,N=-1){let H=l.length;if(H===0)return 0;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z=0;for(let Y=0;Y<H;++Y)A<=N&&Y>=A&&Y<=N&&q(l[Y],Y)||N<A&&(Y<=N||Y>=A)&&q(l[Y],Y)?Z++:Z>0&&(l[Y-Z]=l[Y]);return Z>0&&(l.length=H-Z),Z}n.removeAllWhere=$})(ie||(ie={}));function*Pd(...n){for(const e of n)yield*e}function*Ii(){}function*Fd(n,e=0){for(const t of n)yield[e++,t]}function*Wd(n,e){let t=0;for(const i of n)e(i,t++)&&(yield i)}function en(n,e){let t=0;for(const i of n)if(e(i,t++))return i}function $d(n,e){let t=0;for(const i of n)if(e(i,t++))return t-1;return-1}function jd(n,e){let t;for(const i of n){if(t===void 0){t=i;continue}e(i,t)<0&&(t=i)}return t}function ac(n,e){let t;for(const i of n){if(t===void 0){t=i;continue}e(i,t)>0&&(t=i)}return t}function Ud(n,e){let t=!0,i,s;for(const a of n)t?(i=a,s=a,t=!1):e(a,i)<0?i=a:e(a,s)>0&&(s=a);return t?void 0:[i,s]}function Vd(n){return Array.from(n)}function Kd(n){const e={};for(const[t,i]of n)e[t]=i;return e}function Gd(n,e){let t=0;for(const i of n)if(e(i,t++)===!1)return}function La(n,e){let t=0;for(const i of n)if(e(i,t++)===!1)return!1;return!0}function oc(n,e){let t=0;for(const i of n)if(e(i,t++))return!0;return!1}function*Xd(n,e){let t=0;for(const i of n)yield e(i,t++)}function*Yd(n,e,t){e===void 0?(e=n,n=0,t=1):t===void 0&&(t=1);const i=ya.rangeLength(n,e,t);for(let s=0;s<i;s++)yield n+t*s}var ya;(function(n){function e(t,i,s){return s===0?1/0:t>i&&s>0||t<i&&s<0?0:Math.ceil((i-t)/s)}n.rangeLength=e})(ya||(ya={}));function Jd(n,e,t){const i=n[Symbol.iterator]();let s=0,a=i.next();if(a.done&&t===void 0)throw new TypeError("Reduce of empty iterable with no initial value.");if(a.done)return t;let u=i.next();if(u.done&&t===void 0)return a.value;if(u.done)return e(t,a.value,s++);let c;t===void 0?c=e(a.value,u.value,s++):c=e(e(t,a.value,s++),u.value,s++);let f;for(;!(f=i.next()).done;)c=e(c,f.value,s++);return c}function*Qd(n,e){for(;0<e--;)yield n}function*Zd(n){yield n}function*lc(n){if(typeof n.retro=="function")yield*n.retro();else for(let e=n.length-1;e>-1;e--)yield n[e]}function uc(n){let e=[],t=new Set,i=new Map;for(const u of n)s(u);for(const[u]of i)a(u);return e;function s(u){let[c,f]=u,p=i.get(f);p?p.push(c):i.set(f,[c])}function a(u){if(t.has(u))return;t.add(u);let c=i.get(u);if(c)for(const f of c)a(f);e.push(u)}}function*ef(n,e){let t=0;for(const i of n)t++%e===0&&(yield i)}var Li;(function(n){function e(u,c,f=0){let p=new Array(c.length);for(let _=0,b=f,w=c.length;_<w;++_,++b){if(b=u.indexOf(c[_],b),b===-1)return null;p[_]=b}return p}n.findIndices=e;function t(u,c,f=0){let p=e(u,c,f);if(!p)return null;let _=0;for(let b=0,w=p.length;b<w;++b){let x=p[b]-f;_+=x*x}return{score:_,indices:p}}n.matchSumOfSquares=t;function i(u,c,f=0){let p=e(u,c,f);if(!p)return null;let _=0,b=f-1;for(let w=0,x=p.length;w<x;++w){let y=p[w];_+=y-b-1,b=y}return{score:_,indices:p}}n.matchSumOfDeltas=i;function s(u,c,f){let p=[],_=0,b=0,w=c.length;for(;_<w;){let x=c[_],y=c[_];for(;++_<w&&c[_]===y+1;)y++;b<x&&p.push(u.slice(b,x)),x<y+1&&p.push(f(u.slice(x,y+1))),b=y+1}return b<u.length&&p.push(u.slice(b)),p}n.highlight=s;function a(u,c){return u<c?-1:u>c?1:0}n.cmp=a})(Li||(Li={}));function*tf(n,e){if(e<1)return;const t=n[Symbol.iterator]();let i;for(;0<e--&&!(i=t.next()).done;)yield i.value}function*nf(...n){const e=n.map(i=>i[Symbol.iterator]());let t=e.map(i=>i.next());for(;La(t,i=>!i.done);t=e.map(i=>i.next()))yield t.map(i=>i.value)}const vm=Object.freeze(Object.defineProperty({__proto__:null,get ArrayExt(){return ie},get StringExt(){return Li},chain:Pd,each:Gd,empty:Ii,enumerate:Fd,every:La,filter:Wd,find:en,findIndex:$d,map:Xd,max:ac,min:jd,minmax:Ud,once:Zd,range:Yd,reduce:Jd,repeat:Qd,retro:lc,some:oc,stride:ef,take:tf,toArray:Vd,toObject:Kd,topologicSort:uc,zip:nf},Symbol.toStringTag,{value:"Module"}));var De;(function(n){n.emptyObject=Object.freeze({}),n.emptyArray=Object.freeze([]);function e(_){return _===null||typeof _=="boolean"||typeof _=="number"||typeof _=="string"}n.isPrimitive=e;function t(_){return Array.isArray(_)}n.isArray=t;function i(_){return!e(_)&&!t(_)}n.isObject=i;function s(_,b){if(_===b)return!0;if(e(_)||e(b))return!1;let w=t(_),x=t(b);return w!==x?!1:w&&x?u(_,b):c(_,b)}n.deepEqual=s;function a(_){return e(_)?_:t(_)?f(_):p(_)}n.deepCopy=a;function u(_,b){if(_===b)return!0;if(_.length!==b.length)return!1;for(let w=0,x=_.length;w<x;++w)if(!s(_[w],b[w]))return!1;return!0}function c(_,b){if(_===b)return!0;for(let w in _)if(_[w]!==void 0&&!(w in b))return!1;for(let w in b)if(b[w]!==void 0&&!(w in _))return!1;for(let w in _){let x=_[w],y=b[w];if(!(x===void 0&&y===void 0)&&(x===void 0||y===void 0||!s(x,y)))return!1}return!0}function f(_){let b=new Array(_.length);for(let w=0,x=_.length;w<x;++w)b[w]=a(_[w]);return b}function p(_){let b={};for(let w in _){let x=_[w];x!==void 0&&(b[w]=a(x))}return b}})(De||(De={}));class rf{constructor(){this._types=[],this._values=[]}types(){return this._types.slice()}hasData(e){return this._types.indexOf(e)!==-1}getData(e){let t=this._types.indexOf(e);return t!==-1?this._values[t]:void 0}setData(e,t){this.clearData(e),this._types.push(e),this._values.push(t)}clearData(e){let t=this._types.indexOf(e);t!==-1&&(this._types.splice(t,1),this._values.splice(t,1))}clear(){this._types.length=0,this._values.length=0}}var tl;(function(n){class e{constructor(c){var f,p,_,b;this._activated=!1,this._promise=null,this._service=null,this.id=c.id,this.description=(f=c.description)!==null&&f!==void 0?f:"",this.activate=c.activate,this.deactivate=(p=c.deactivate)!==null&&p!==void 0?p:null,this.provides=(_=c.provides)!==null&&_!==void 0?_:null,this.autoStart=(b=c.autoStart)!==null&&b!==void 0?b:!1,this.requires=c.requires?c.requires.slice():[],this.optional=c.optional?c.optional.slice():[]}get activated(){return this._activated}set activated(c){this._activated=c}get service(){return this._service}set service(c){this._service=c}get promise(){return this._promise}set promise(c){this._promise=c}}function t(u){return new e(u)}n.createPluginData=t;function i(u,c,f){const p=[...u.requires,...u.optional],_=w=>{if(w===u.provides)return!0;const x=f.get(w);if(!x)return!1;const y=c.get(x),C=[...y.requires,...y.optional];return C.length===0?!1:(b.push(x),C.some(_)?!0:(b.pop(),!1))};if(!u.provides||p.length===0)return;const b=[u.id];if(p.some(_))throw new ReferenceError(`Cycle detected: ${b.join(" -> ")}.`)}n.ensureNoCycle=i;function s(u,c,f){const p=new Array,_=C=>{const E=c.get(C),I=[...E.requires,...E.optional];p.push(...I.reduce((R,L)=>{const O=f.get(L);return O&&R.push([C,O]),R},[]))};for(const C of c.keys())_(C);const b=p.filter(C=>C[1]===u);let w=0;for(;b.length>w;){const C=b.length,E=new Set(b.map(I=>I[0]));for(const I of E)p.filter(R=>R[1]===I).forEach(R=>{b.includes(R)||b.push(R)});w=C}const x=uc(b),y=x.findIndex(C=>C===u);return y===-1?[u]:x.slice(0,y+1)}n.findDependents=s;function a(u,c){const f=new Set;for(const p of u.keys())u.get(p).autoStart===!0&&f.add(p);if(c.startPlugins)for(const p of c.startPlugins)f.add(p);if(c.ignorePlugins)for(const p of c.ignorePlugins)f.delete(p);return Array.from(f)}n.collectStartupPlugins=a})(tl||(tl={}));class Or{constructor(){this.promise=new Promise((e,t)=>{this._resolve=e,this._reject=t})}resolve(e){let t=this._resolve;t(e)}reject(e){let t=this._reject;t(e)}}class ym{constructor(e,t){this.name=e,this.description=t??"",this._tokenStructuralPropertyT=null}}function sf(n){let e=0;for(let t=0,i=n.length;t<i;++t)t%4===0&&(e=Math.random()*4294967295>>>0),n[t]=e&255,e>>>=8}var ba;(function(n){n.getRandomValues=(()=>{const e=typeof window<"u"&&(window.crypto||window.msCrypto)||null;return e&&typeof e.getRandomValues=="function"?function(i){return e.getRandomValues(i)}:sf})()})(ba||(ba={}));function af(n){const e=new Uint8Array(16),t=new Array(256);for(let i=0;i<16;++i)t[i]="0"+i.toString(16);for(let i=16;i<256;++i)t[i]=i.toString(16);return function(){return n(e),e[6]=64|e[6]&15,e[8]=128|e[8]&63,t[e[0]]+t[e[1]]+t[e[2]]+t[e[3]]+"-"+t[e[4]]+t[e[5]]+"-"+t[e[6]]+t[e[7]]+"-"+t[e[8]]+t[e[9]]+"-"+t[e[10]]+t[e[11]]+t[e[12]]+t[e[13]]+t[e[14]]+t[e[15]]}}var zn;(function(n){n.uuid4=af(ba.getRandomValues)})(zn||(zn={}));var qr,il;function of(){if(il)return qr;il=1;function n(){this.__data__=[],this.size=0}return qr=n,qr}var Hr,nl;function cc(){if(nl)return Hr;nl=1;function n(e,t){return e===t||e!==e&&t!==t}return Hr=n,Hr}var Br,rl;function Un(){if(rl)return Br;rl=1;var n=cc();function e(t,i){for(var s=t.length;s--;)if(n(t[s][0],i))return s;return-1}return Br=e,Br}var Pr,sl;function lf(){if(sl)return Pr;sl=1;var n=Un(),e=Array.prototype,t=e.splice;function i(s){var a=this.__data__,u=n(a,s);if(u<0)return!1;var c=a.length-1;return u==c?a.pop():t.call(a,u,1),--this.size,!0}return Pr=i,Pr}var Fr,al;function uf(){if(al)return Fr;al=1;var n=Un();function e(t){var i=this.__data__,s=n(i,t);return s<0?void 0:i[s][1]}return Fr=e,Fr}var Wr,ol;function cf(){if(ol)return Wr;ol=1;var n=Un();function e(t){return n(this.__data__,t)>-1}return Wr=e,Wr}var $r,ll;function hf(){if(ll)return $r;ll=1;var n=Un();function e(t,i){var s=this.__data__,a=n(s,t);return a<0?(++this.size,s.push([t,i])):s[a][1]=i,this}return $r=e,$r}var jr,ul;function Vn(){if(ul)return jr;ul=1;var n=of(),e=lf(),t=uf(),i=cf(),s=hf();function a(u){var c=-1,f=u==null?0:u.length;for(this.clear();++c<f;){var p=u[c];this.set(p[0],p[1])}}return a.prototype.clear=n,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=i,a.prototype.set=s,jr=a,jr}var Ur,cl;function df(){if(cl)return Ur;cl=1;var n=Vn();function e(){this.__data__=new n,this.size=0}return Ur=e,Ur}var Vr,hl;function ff(){if(hl)return Vr;hl=1;function n(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}return Vr=n,Vr}var Kr,dl;function pf(){if(dl)return Kr;dl=1;function n(e){return this.__data__.get(e)}return Kr=n,Kr}var Gr,fl;function mf(){if(fl)return Gr;fl=1;function n(e){return this.__data__.has(e)}return Gr=n,Gr}var Xr,pl;function hc(){if(pl)return Xr;pl=1;var n=typeof ti=="object"&&ti&&ti.Object===Object&&ti;return Xr=n,Xr}var Yr,ml;function Gt(){if(ml)return Yr;ml=1;var n=hc(),e=typeof self=="object"&&self&&self.Object===Object&&self,t=n||e||Function("return this")();return Yr=t,Yr}var Jr,gl;function Ra(){if(gl)return Jr;gl=1;var n=Gt(),e=n.Symbol;return Jr=e,Jr}var Qr,_l;function gf(){if(_l)return Qr;_l=1;var n=Ra(),e=Object.prototype,t=e.hasOwnProperty,i=e.toString,s=n?n.toStringTag:void 0;function a(u){var c=t.call(u,s),f=u[s];try{u[s]=void 0;var p=!0}catch{}var _=i.call(u);return p&&(c?u[s]=f:delete u[s]),_}return Qr=a,Qr}var Zr,vl;function _f(){if(vl)return Zr;vl=1;var n=Object.prototype,e=n.toString;function t(i){return e.call(i)}return Zr=t,Zr}var es,yl;function Kn(){if(yl)return es;yl=1;var n=Ra(),e=gf(),t=_f(),i="[object Null]",s="[object Undefined]",a=n?n.toStringTag:void 0;function u(c){return c==null?c===void 0?s:i:a&&a in Object(c)?e(c):t(c)}return es=u,es}var ts,bl;function dc(){if(bl)return ts;bl=1;function n(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}return ts=n,ts}var is,xl;function fc(){if(xl)return is;xl=1;var n=Kn(),e=dc(),t="[object AsyncFunction]",i="[object Function]",s="[object GeneratorFunction]",a="[object Proxy]";function u(c){if(!e(c))return!1;var f=n(c);return f==i||f==s||f==t||f==a}return is=u,is}var ns,wl;function vf(){if(wl)return ns;wl=1;var n=Gt(),e=n["__core-js_shared__"];return ns=e,ns}var rs,Sl;function yf(){if(Sl)return rs;Sl=1;var n=vf(),e=(function(){var i=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""})();function t(i){return!!e&&e in i}return rs=t,rs}var ss,Cl;function pc(){if(Cl)return ss;Cl=1;var n=Function.prototype,e=n.toString;function t(i){if(i!=null){try{return e.call(i)}catch{}try{return i+""}catch{}}return""}return ss=t,ss}var as,Ml;function bf(){if(Ml)return as;Ml=1;var n=fc(),e=yf(),t=dc(),i=pc(),s=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,u=Function.prototype,c=Object.prototype,f=u.toString,p=c.hasOwnProperty,_=RegExp("^"+f.call(p).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function b(w){if(!t(w)||e(w))return!1;var x=n(w)?_:a;return x.test(i(w))}return as=b,as}var os,Tl;function xf(){if(Tl)return os;Tl=1;function n(e,t){return e==null?void 0:e[t]}return os=n,os}var ls,Al;function Hi(){if(Al)return ls;Al=1;var n=bf(),e=xf();function t(i,s){var a=e(i,s);return n(a)?a:void 0}return ls=t,ls}var us,El;function Na(){if(El)return us;El=1;var n=Hi(),e=Gt(),t=n(e,"Map");return us=t,us}var cs,Il;function Gn(){if(Il)return cs;Il=1;var n=Hi(),e=n(Object,"create");return cs=e,cs}var hs,zl;function wf(){if(zl)return hs;zl=1;var n=Gn();function e(){this.__data__=n?n(null):{},this.size=0}return hs=e,hs}var ds,Dl;function Sf(){if(Dl)return ds;Dl=1;function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}return ds=n,ds}var fs,kl;function Cf(){if(kl)return fs;kl=1;var n=Gn(),e="__lodash_hash_undefined__",t=Object.prototype,i=t.hasOwnProperty;function s(a){var u=this.__data__;if(n){var c=u[a];return c===e?void 0:c}return i.call(u,a)?u[a]:void 0}return fs=s,fs}var ps,Ll;function Mf(){if(Ll)return ps;Ll=1;var n=Gn(),e=Object.prototype,t=e.hasOwnProperty;function i(s){var a=this.__data__;return n?a[s]!==void 0:t.call(a,s)}return ps=i,ps}var ms,Rl;function Tf(){if(Rl)return ms;Rl=1;var n=Gn(),e="__lodash_hash_undefined__";function t(i,s){var a=this.__data__;return this.size+=this.has(i)?0:1,a[i]=n&&s===void 0?e:s,this}return ms=t,ms}var gs,Nl;function Af(){if(Nl)return gs;Nl=1;var n=wf(),e=Sf(),t=Cf(),i=Mf(),s=Tf();function a(u){var c=-1,f=u==null?0:u.length;for(this.clear();++c<f;){var p=u[c];this.set(p[0],p[1])}}return a.prototype.clear=n,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=i,a.prototype.set=s,gs=a,gs}var _s,Ol;function Ef(){if(Ol)return _s;Ol=1;var n=Af(),e=Vn(),t=Na();function i(){this.size=0,this.__data__={hash:new n,map:new(t||e),string:new n}}return _s=i,_s}var vs,ql;function If(){if(ql)return vs;ql=1;function n(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}return vs=n,vs}var ys,Hl;function Xn(){if(Hl)return ys;Hl=1;var n=If();function e(t,i){var s=t.__data__;return n(i)?s[typeof i=="string"?"string":"hash"]:s.map}return ys=e,ys}var bs,Bl;function zf(){if(Bl)return bs;Bl=1;var n=Xn();function e(t){var i=n(this,t).delete(t);return this.size-=i?1:0,i}return bs=e,bs}var xs,Pl;function Df(){if(Pl)return xs;Pl=1;var n=Xn();function e(t){return n(this,t).get(t)}return xs=e,xs}var ws,Fl;function kf(){if(Fl)return ws;Fl=1;var n=Xn();function e(t){return n(this,t).has(t)}return ws=e,ws}var Ss,Wl;function Lf(){if(Wl)return Ss;Wl=1;var n=Xn();function e(t,i){var s=n(this,t),a=s.size;return s.set(t,i),this.size+=s.size==a?0:1,this}return Ss=e,Ss}var Cs,$l;function mc(){if($l)return Cs;$l=1;var n=Ef(),e=zf(),t=Df(),i=kf(),s=Lf();function a(u){var c=-1,f=u==null?0:u.length;for(this.clear();++c<f;){var p=u[c];this.set(p[0],p[1])}}return a.prototype.clear=n,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=i,a.prototype.set=s,Cs=a,Cs}var Ms,jl;function Rf(){if(jl)return Ms;jl=1;var n=Vn(),e=Na(),t=mc(),i=200;function s(a,u){var c=this.__data__;if(c instanceof n){var f=c.__data__;if(!e||f.length<i-1)return f.push([a,u]),this.size=++c.size,this;c=this.__data__=new t(f)}return c.set(a,u),this.size=c.size,this}return Ms=s,Ms}var Ts,Ul;function Nf(){if(Ul)return Ts;Ul=1;var n=Vn(),e=df(),t=ff(),i=pf(),s=mf(),a=Rf();function u(c){var f=this.__data__=new n(c);this.size=f.size}return u.prototype.clear=e,u.prototype.delete=t,u.prototype.get=i,u.prototype.has=s,u.prototype.set=a,Ts=u,Ts}var As,Vl;function Of(){if(Vl)return As;Vl=1;var n="__lodash_hash_undefined__";function e(t){return this.__data__.set(t,n),this}return As=e,As}var Es,Kl;function qf(){if(Kl)return Es;Kl=1;function n(e){return this.__data__.has(e)}return Es=n,Es}var Is,Gl;function Hf(){if(Gl)return Is;Gl=1;var n=mc(),e=Of(),t=qf();function i(s){var a=-1,u=s==null?0:s.length;for(this.__data__=new n;++a<u;)this.add(s[a])}return i.prototype.add=i.prototype.push=e,i.prototype.has=t,Is=i,Is}var zs,Xl;function Bf(){if(Xl)return zs;Xl=1;function n(e,t){for(var i=-1,s=e==null?0:e.length;++i<s;)if(t(e[i],i,e))return!0;return!1}return zs=n,zs}var Ds,Yl;function Pf(){if(Yl)return Ds;Yl=1;function n(e,t){return e.has(t)}return Ds=n,Ds}var ks,Jl;function gc(){if(Jl)return ks;Jl=1;var n=Hf(),e=Bf(),t=Pf(),i=1,s=2;function a(u,c,f,p,_,b){var w=f&i,x=u.length,y=c.length;if(x!=y&&!(w&&y>x))return!1;var C=b.get(u),E=b.get(c);if(C&&E)return C==c&&E==u;var I=-1,R=!0,L=f&s?new n:void 0;for(b.set(u,c),b.set(c,u);++I<x;){var O=u[I],F=c[I];if(p)var $=w?p(F,O,I,c,u,b):p(O,F,I,u,c,b);if($!==void 0){if($)continue;R=!1;break}if(L){if(!e(c,function(l,q){if(!t(L,q)&&(O===l||_(O,l,f,p,b)))return L.push(q)})){R=!1;break}}else if(!(O===F||_(O,F,f,p,b))){R=!1;break}}return b.delete(u),b.delete(c),R}return ks=a,ks}var Ls,Ql;function Ff(){if(Ql)return Ls;Ql=1;var n=Gt(),e=n.Uint8Array;return Ls=e,Ls}var Rs,Zl;function Wf(){if(Zl)return Rs;Zl=1;function n(e){var t=-1,i=Array(e.size);return e.forEach(function(s,a){i[++t]=[a,s]}),i}return Rs=n,Rs}var Ns,eu;function $f(){if(eu)return Ns;eu=1;function n(e){var t=-1,i=Array(e.size);return e.forEach(function(s){i[++t]=s}),i}return Ns=n,Ns}var Os,tu;function jf(){if(tu)return Os;tu=1;var n=Ra(),e=Ff(),t=cc(),i=gc(),s=Wf(),a=$f(),u=1,c=2,f="[object Boolean]",p="[object Date]",_="[object Error]",b="[object Map]",w="[object Number]",x="[object RegExp]",y="[object Set]",C="[object String]",E="[object Symbol]",I="[object ArrayBuffer]",R="[object DataView]",L=n?n.prototype:void 0,O=L?L.valueOf:void 0;function F($,l,q,A,N,H,Z){switch(q){case R:if($.byteLength!=l.byteLength||$.byteOffset!=l.byteOffset)return!1;$=$.buffer,l=l.buffer;case I:return!($.byteLength!=l.byteLength||!H(new e($),new e(l)));case f:case p:case w:return t(+$,+l);case _:return $.name==l.name&&$.message==l.message;case x:case C:return $==l+"";case b:var Y=s;case y:var ce=A&u;if(Y||(Y=a),$.size!=l.size&&!ce)return!1;var we=Z.get($);if(we)return we==l;A|=c,Z.set($,l);var He=i(Y($),Y(l),A,N,H,Z);return Z.delete($),He;case E:if(O)return O.call($)==O.call(l)}return!1}return Os=F,Os}var qs,iu;function Uf(){if(iu)return qs;iu=1;function n(e,t){for(var i=-1,s=t.length,a=e.length;++i<s;)e[a+i]=t[i];return e}return qs=n,qs}var Hs,nu;function Oa(){if(nu)return Hs;nu=1;var n=Array.isArray;return Hs=n,Hs}var Bs,ru;function Vf(){if(ru)return Bs;ru=1;var n=Uf(),e=Oa();function t(i,s,a){var u=s(i);return e(i)?u:n(u,a(i))}return Bs=t,Bs}var Ps,su;function Kf(){if(su)return Ps;su=1;function n(e,t){for(var i=-1,s=e==null?0:e.length,a=0,u=[];++i<s;){var c=e[i];t(c,i,e)&&(u[a++]=c)}return u}return Ps=n,Ps}var Fs,au;function Gf(){if(au)return Fs;au=1;function n(){return[]}return Fs=n,Fs}var Ws,ou;function Xf(){if(ou)return Ws;ou=1;var n=Kf(),e=Gf(),t=Object.prototype,i=t.propertyIsEnumerable,s=Object.getOwnPropertySymbols,a=s?function(u){return u==null?[]:(u=Object(u),n(s(u),function(c){return i.call(u,c)}))}:e;return Ws=a,Ws}var $s,lu;function Yf(){if(lu)return $s;lu=1;function n(e,t){for(var i=-1,s=Array(e);++i<e;)s[i]=t(i);return s}return $s=n,$s}var js,uu;function Yn(){if(uu)return js;uu=1;function n(e){return e!=null&&typeof e=="object"}return js=n,js}var Us,cu;function Jf(){if(cu)return Us;cu=1;var n=Kn(),e=Yn(),t="[object Arguments]";function i(s){return e(s)&&n(s)==t}return Us=i,Us}var Vs,hu;function Qf(){if(hu)return Vs;hu=1;var n=Jf(),e=Yn(),t=Object.prototype,i=t.hasOwnProperty,s=t.propertyIsEnumerable,a=n((function(){return arguments})())?n:function(u){return e(u)&&i.call(u,"callee")&&!s.call(u,"callee")};return Vs=a,Vs}var Yi={exports:{}},Ks,du;function Zf(){if(du)return Ks;du=1;function n(){return!1}return Ks=n,Ks}Yi.exports;var fu;function _c(){return fu||(fu=1,(function(n,e){var t=Gt(),i=Zf(),s=e&&!e.nodeType&&e,a=s&&!0&&n&&!n.nodeType&&n,u=a&&a.exports===s,c=u?t.Buffer:void 0,f=c?c.isBuffer:void 0,p=f||i;n.exports=p})(Yi,Yi.exports)),Yi.exports}var Gs,pu;function ep(){if(pu)return Gs;pu=1;var n=9007199254740991,e=/^(?:0|[1-9]\d*)$/;function t(i,s){var a=typeof i;return s=s??n,!!s&&(a=="number"||a!="symbol"&&e.test(i))&&i>-1&&i%1==0&&i<s}return Gs=t,Gs}var Xs,mu;function vc(){if(mu)return Xs;mu=1;var n=9007199254740991;function e(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=n}return Xs=e,Xs}var Ys,gu;function tp(){if(gu)return Ys;gu=1;var n=Kn(),e=vc(),t=Yn(),i="[object Arguments]",s="[object Array]",a="[object Boolean]",u="[object Date]",c="[object Error]",f="[object Function]",p="[object Map]",_="[object Number]",b="[object Object]",w="[object RegExp]",x="[object Set]",y="[object String]",C="[object WeakMap]",E="[object ArrayBuffer]",I="[object DataView]",R="[object Float32Array]",L="[object Float64Array]",O="[object Int8Array]",F="[object Int16Array]",$="[object Int32Array]",l="[object Uint8Array]",q="[object Uint8ClampedArray]",A="[object Uint16Array]",N="[object Uint32Array]",H={};H[R]=H[L]=H[O]=H[F]=H[$]=H[l]=H[q]=H[A]=H[N]=!0,H[i]=H[s]=H[E]=H[a]=H[I]=H[u]=H[c]=H[f]=H[p]=H[_]=H[b]=H[w]=H[x]=H[y]=H[C]=!1;function Z(Y){return t(Y)&&e(Y.length)&&!!H[n(Y)]}return Ys=Z,Ys}var Js,_u;function ip(){if(_u)return Js;_u=1;function n(e){return function(t){return e(t)}}return Js=n,Js}var Ji={exports:{}};Ji.exports;var vu;function np(){return vu||(vu=1,(function(n,e){var t=hc(),i=e&&!e.nodeType&&e,s=i&&!0&&n&&!n.nodeType&&n,a=s&&s.exports===i,u=a&&t.process,c=(function(){try{var f=s&&s.require&&s.require("util").types;return f||u&&u.binding&&u.binding("util")}catch{}})();n.exports=c})(Ji,Ji.exports)),Ji.exports}var Qs,yu;function yc(){if(yu)return Qs;yu=1;var n=tp(),e=ip(),t=np(),i=t&&t.isTypedArray,s=i?e(i):n;return Qs=s,Qs}var Zs,bu;function rp(){if(bu)return Zs;bu=1;var n=Yf(),e=Qf(),t=Oa(),i=_c(),s=ep(),a=yc(),u=Object.prototype,c=u.hasOwnProperty;function f(p,_){var b=t(p),w=!b&&e(p),x=!b&&!w&&i(p),y=!b&&!w&&!x&&a(p),C=b||w||x||y,E=C?n(p.length,String):[],I=E.length;for(var R in p)(_||c.call(p,R))&&!(C&&(R=="length"||x&&(R=="offset"||R=="parent")||y&&(R=="buffer"||R=="byteLength"||R=="byteOffset")||s(R,I)))&&E.push(R);return E}return Zs=f,Zs}var ea,xu;function sp(){if(xu)return ea;xu=1;var n=Object.prototype;function e(t){var i=t&&t.constructor,s=typeof i=="function"&&i.prototype||n;return t===s}return ea=e,ea}var ta,wu;function ap(){if(wu)return ta;wu=1;function n(e,t){return function(i){return e(t(i))}}return ta=n,ta}var ia,Su;function op(){if(Su)return ia;Su=1;var n=ap(),e=n(Object.keys,Object);return ia=e,ia}var na,Cu;function lp(){if(Cu)return na;Cu=1;var n=sp(),e=op(),t=Object.prototype,i=t.hasOwnProperty;function s(a){if(!n(a))return e(a);var u=[];for(var c in Object(a))i.call(a,c)&&c!="constructor"&&u.push(c);return u}return na=s,na}var ra,Mu;function up(){if(Mu)return ra;Mu=1;var n=fc(),e=vc();function t(i){return i!=null&&e(i.length)&&!n(i)}return ra=t,ra}var sa,Tu;function cp(){if(Tu)return sa;Tu=1;var n=rp(),e=lp(),t=up();function i(s){return t(s)?n(s):e(s)}return sa=i,sa}var aa,Au;function hp(){if(Au)return aa;Au=1;var n=Vf(),e=Xf(),t=cp();function i(s){return n(s,t,e)}return aa=i,aa}var oa,Eu;function dp(){if(Eu)return oa;Eu=1;var n=hp(),e=1,t=Object.prototype,i=t.hasOwnProperty;function s(a,u,c,f,p,_){var b=c&e,w=n(a),x=w.length,y=n(u),C=y.length;if(x!=C&&!b)return!1;for(var E=x;E--;){var I=w[E];if(!(b?I in u:i.call(u,I)))return!1}var R=_.get(a),L=_.get(u);if(R&&L)return R==u&&L==a;var O=!0;_.set(a,u),_.set(u,a);for(var F=b;++E<x;){I=w[E];var $=a[I],l=u[I];if(f)var q=b?f(l,$,I,u,a,_):f($,l,I,a,u,_);if(!(q===void 0?$===l||p($,l,c,f,_):q)){O=!1;break}F||(F=I=="constructor")}if(O&&!F){var A=a.constructor,N=u.constructor;A!=N&&"constructor"in a&&"constructor"in u&&!(typeof A=="function"&&A instanceof A&&typeof N=="function"&&N instanceof N)&&(O=!1)}return _.delete(a),_.delete(u),O}return oa=s,oa}var la,Iu;function fp(){if(Iu)return la;Iu=1;var n=Hi(),e=Gt(),t=n(e,"DataView");return la=t,la}var ua,zu;function pp(){if(zu)return ua;zu=1;var n=Hi(),e=Gt(),t=n(e,"Promise");return ua=t,ua}var ca,Du;function mp(){if(Du)return ca;Du=1;var n=Hi(),e=Gt(),t=n(e,"Set");return ca=t,ca}var ha,ku;function gp(){if(ku)return ha;ku=1;var n=Hi(),e=Gt(),t=n(e,"WeakMap");return ha=t,ha}var da,Lu;function _p(){if(Lu)return da;Lu=1;var n=fp(),e=Na(),t=pp(),i=mp(),s=gp(),a=Kn(),u=pc(),c="[object Map]",f="[object Object]",p="[object Promise]",_="[object Set]",b="[object WeakMap]",w="[object DataView]",x=u(n),y=u(e),C=u(t),E=u(i),I=u(s),R=a;return(n&&R(new n(new ArrayBuffer(1)))!=w||e&&R(new e)!=c||t&&R(t.resolve())!=p||i&&R(new i)!=_||s&&R(new s)!=b)&&(R=function(L){var O=a(L),F=O==f?L.constructor:void 0,$=F?u(F):"";if($)switch($){case x:return w;case y:return c;case C:return p;case E:return _;case I:return b}return O}),da=R,da}var fa,Ru;function vp(){if(Ru)return fa;Ru=1;var n=Nf(),e=gc(),t=jf(),i=dp(),s=_p(),a=Oa(),u=_c(),c=yc(),f=1,p="[object Arguments]",_="[object Array]",b="[object Object]",w=Object.prototype,x=w.hasOwnProperty;function y(C,E,I,R,L,O){var F=a(C),$=a(E),l=F?_:s(C),q=$?_:s(E);l=l==p?b:l,q=q==p?b:q;var A=l==b,N=q==b,H=l==q;if(H&&u(C)){if(!u(E))return!1;F=!0,A=!1}if(H&&!A)return O||(O=new n),F||c(C)?e(C,E,I,R,L,O):t(C,E,l,I,R,L,O);if(!(I&f)){var Z=A&&x.call(C,"__wrapped__"),Y=N&&x.call(E,"__wrapped__");if(Z||Y){var ce=Z?C.value():C,we=Y?E.value():E;return O||(O=new n),L(ce,we,I,R,O)}}return H?(O||(O=new n),i(C,E,I,R,L,O)):!1}return fa=y,fa}var pa,Nu;function yp(){if(Nu)return pa;Nu=1;var n=vp(),e=Yn();function t(i,s,a,u,c){return i===s?!0:i==null||s==null||!e(i)&&!e(s)?i!==i&&s!==s:n(i,s,a,u,t,c)}return pa=t,pa}var ma,Ou;function bp(){if(Ou)return ma;Ou=1;var n=yp();function e(t,i){return n(t,i)}return ma=e,ma}var xp=bp();const wp=sc(xp);function qu(n,e){return n.filter(t=>e.indexOf(t)===-1)}function xa(n,e){return wp(n,e)}const Zi=Object.assign||function(n,...e){for(let t=1;t<e.length;t++){const i=e[t];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])}return n};function bm(){return zn.uuid4()}function bc(n){const e=Object.keys(n),t=[];return e.forEach(function(i){t.push(n[i])}),Promise.all(t).then(i=>{const s={};for(let a=0;a<e.length;a++)s[e[a]]=i[a];return s})}function Dn(n,e){return function(i){throw e&&console.error(new Error(n)),i}}function Sp(n,e,t){for(let i=0;i<e.length;i++){const s=e[i];let a=t[i];a instanceof DataView||(a=new DataView(a instanceof ArrayBuffer?a:a.buffer));let u=n;for(let c=0;c<s.length-1;c++)u=u[s[c]];u[s[s.length-1]]=a}}function Cp(n){var e;return(e=typeof n=="object"&&n&&"toJSON"in n)!==null&&e!==void 0?e:!1}function Mp(n){return De.isObject(n)}function Tp(n){const e=[],t=[];function i(a,u){if(Cp(a)&&(a=a.toJSON()),Array.isArray(a)){let c=!1;for(let f=0;f<a.length;f++){const p=a[f];if(p)if(p instanceof ArrayBuffer||ArrayBuffer.isView(p))c||(a=a.slice(),c=!0),e.push(ArrayBuffer.isView(p)?p.buffer:p),t.push(u.concat([f])),a[f]=null;else{const _=i(p,u.concat([f]));_!==p&&(c||(a=a.slice(),c=!0),a[f]=_)}}}else if(Mp(a))for(const c in a){let f=!1;if(Object.prototype.hasOwnProperty.call(a,c)){const p=a[c];if(p)if(p instanceof ArrayBuffer||ArrayBuffer.isView(p))f||(a=Object.assign({},a),f=!0),e.push(ArrayBuffer.isView(p)?p.buffer:p),t.push(u.concat([c])),delete a[c];else{const _=i(p,u.concat([c]));_!==p&&(f||(a=Object.assign({},a),f=!0),a[c]=_)}}}return a}return{state:i(n,[]),buffers:e,buffer_paths:t}}const xm=`<svg style="height:50%;max-height: 50px;" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48">
1
+ import{c as ti,a as sc,g as Bd}from"./index-BogqIQSN.js";var ie;(function(n){function e(l,q,A=0,N=-1){let H=l.length;if(H===0)return-1;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z;N<A?Z=N+1+(H-A):Z=N-A+1;for(let Y=0;Y<Z;++Y){let ce=(A+Y)%H;if(l[ce]===q)return ce}return-1}n.firstIndexOf=e;function t(l,q,A=-1,N=0){let H=l.length;if(H===0)return-1;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z;A<N?Z=A+1+(H-N):Z=A-N+1;for(let Y=0;Y<Z;++Y){let ce=(A-Y+H)%H;if(l[ce]===q)return ce}return-1}n.lastIndexOf=t;function i(l,q,A=0,N=-1){let H=l.length;if(H===0)return-1;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z;N<A?Z=N+1+(H-A):Z=N-A+1;for(let Y=0;Y<Z;++Y){let ce=(A+Y)%H;if(q(l[ce],ce))return ce}return-1}n.findFirstIndex=i;function s(l,q,A=-1,N=0){let H=l.length;if(H===0)return-1;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z;A<N?Z=A+1+(H-N):Z=A-N+1;for(let Y=0;Y<Z;++Y){let ce=(A-Y+H)%H;if(q(l[ce],ce))return ce}return-1}n.findLastIndex=s;function a(l,q,A=0,N=-1){let H=i(l,q,A,N);return H!==-1?l[H]:void 0}n.findFirstValue=a;function u(l,q,A=-1,N=0){let H=s(l,q,A,N);return H!==-1?l[H]:void 0}n.findLastValue=u;function c(l,q,A,N=0,H=-1){let Z=l.length;if(Z===0)return 0;N<0?N=Math.max(0,N+Z):N=Math.min(N,Z-1),H<0?H=Math.max(0,H+Z):H=Math.min(H,Z-1);let Y=N,ce=H-N+1;for(;ce>0;){let we=ce>>1,He=Y+we;A(l[He],q)<0?(Y=He+1,ce-=we+1):ce=we}return Y}n.lowerBound=c;function f(l,q,A,N=0,H=-1){let Z=l.length;if(Z===0)return 0;N<0?N=Math.max(0,N+Z):N=Math.min(N,Z-1),H<0?H=Math.max(0,H+Z):H=Math.min(H,Z-1);let Y=N,ce=H-N+1;for(;ce>0;){let we=ce>>1,He=Y+we;A(l[He],q)>0?ce=we:(Y=He+1,ce-=we+1)}return Y}n.upperBound=f;function p(l,q,A){if(l===q)return!0;if(l.length!==q.length)return!1;for(let N=0,H=l.length;N<H;++N)if(A?!A(l[N],q[N]):l[N]!==q[N])return!1;return!0}n.shallowEqual=p;function _(l,q={}){let{start:A,stop:N,step:H}=q;if(H===void 0&&(H=1),H===0)throw new Error("Slice `step` cannot be zero.");let Z=l.length;A===void 0?A=H<0?Z-1:0:A<0?A=Math.max(A+Z,H<0?-1:0):A>=Z&&(A=H<0?Z-1:Z),N===void 0?N=H<0?-1:Z:N<0?N=Math.max(N+Z,H<0?-1:0):N>=Z&&(N=H<0?Z-1:Z);let Y;H<0&&N>=A||H>0&&A>=N?Y=0:H<0?Y=Math.floor((N-A+1)/H+1):Y=Math.floor((N-A-1)/H+1);let ce=[];for(let we=0;we<Y;++we)ce[we]=l[A+we*H];return ce}n.slice=_;function b(l,q,A){let N=l.length;if(N<=1||(q<0?q=Math.max(0,q+N):q=Math.min(q,N-1),A<0?A=Math.max(0,A+N):A=Math.min(A,N-1),q===A))return;let H=l[q],Z=q<A?1:-1;for(let Y=q;Y!==A;Y+=Z)l[Y]=l[Y+Z];l[A]=H}n.move=b;function w(l,q=0,A=-1){let N=l.length;if(!(N<=1))for(q<0?q=Math.max(0,q+N):q=Math.min(q,N-1),A<0?A=Math.max(0,A+N):A=Math.min(A,N-1);q<A;){let H=l[q],Z=l[A];l[q++]=Z,l[A--]=H}}n.reverse=w;function x(l,q,A=0,N=-1){let H=l.length;if(H<=1||(A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1),A>=N))return;let Z=N-A+1;if(q>0?q=q%Z:q<0&&(q=(q%Z+Z)%Z),q===0)return;let Y=A+q;w(l,A,Y-1),w(l,Y,N),w(l,A,N)}n.rotate=x;function y(l,q,A=0,N=-1){let H=l.length;if(H===0)return;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z;N<A?Z=N+1+(H-A):Z=N-A+1;for(let Y=0;Y<Z;++Y)l[(A+Y)%H]=q}n.fill=y;function C(l,q,A){let N=l.length;q<0?q=Math.max(0,q+N):q=Math.min(q,N);for(let H=N;H>q;--H)l[H]=l[H-1];l[q]=A}n.insert=C;function E(l,q){let A=l.length;if(q<0&&(q+=A),q<0||q>=A)return;let N=l[q];for(let H=q+1;H<A;++H)l[H-1]=l[H];return l.length=A-1,N}n.removeAt=E;function I(l,q,A=0,N=-1){let H=e(l,q,A,N);return H!==-1&&E(l,H),H}n.removeFirstOf=I;function R(l,q,A=-1,N=0){let H=t(l,q,A,N);return H!==-1&&E(l,H),H}n.removeLastOf=R;function L(l,q,A=0,N=-1){let H=l.length;if(H===0)return 0;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z=0;for(let Y=0;Y<H;++Y)A<=N&&Y>=A&&Y<=N&&l[Y]===q||N<A&&(Y<=N||Y>=A)&&l[Y]===q?Z++:Z>0&&(l[Y-Z]=l[Y]);return Z>0&&(l.length=H-Z),Z}n.removeAllOf=L;function O(l,q,A=0,N=-1){let H,Z=i(l,q,A,N);return Z!==-1&&(H=E(l,Z)),{index:Z,value:H}}n.removeFirstWhere=O;function F(l,q,A=-1,N=0){let H,Z=s(l,q,A,N);return Z!==-1&&(H=E(l,Z)),{index:Z,value:H}}n.removeLastWhere=F;function $(l,q,A=0,N=-1){let H=l.length;if(H===0)return 0;A<0?A=Math.max(0,A+H):A=Math.min(A,H-1),N<0?N=Math.max(0,N+H):N=Math.min(N,H-1);let Z=0;for(let Y=0;Y<H;++Y)A<=N&&Y>=A&&Y<=N&&q(l[Y],Y)||N<A&&(Y<=N||Y>=A)&&q(l[Y],Y)?Z++:Z>0&&(l[Y-Z]=l[Y]);return Z>0&&(l.length=H-Z),Z}n.removeAllWhere=$})(ie||(ie={}));function*Pd(...n){for(const e of n)yield*e}function*Ii(){}function*Fd(n,e=0){for(const t of n)yield[e++,t]}function*Wd(n,e){let t=0;for(const i of n)e(i,t++)&&(yield i)}function en(n,e){let t=0;for(const i of n)if(e(i,t++))return i}function $d(n,e){let t=0;for(const i of n)if(e(i,t++))return t-1;return-1}function jd(n,e){let t;for(const i of n){if(t===void 0){t=i;continue}e(i,t)<0&&(t=i)}return t}function ac(n,e){let t;for(const i of n){if(t===void 0){t=i;continue}e(i,t)>0&&(t=i)}return t}function Ud(n,e){let t=!0,i,s;for(const a of n)t?(i=a,s=a,t=!1):e(a,i)<0?i=a:e(a,s)>0&&(s=a);return t?void 0:[i,s]}function Vd(n){return Array.from(n)}function Kd(n){const e={};for(const[t,i]of n)e[t]=i;return e}function Gd(n,e){let t=0;for(const i of n)if(e(i,t++)===!1)return}function La(n,e){let t=0;for(const i of n)if(e(i,t++)===!1)return!1;return!0}function oc(n,e){let t=0;for(const i of n)if(e(i,t++))return!0;return!1}function*Xd(n,e){let t=0;for(const i of n)yield e(i,t++)}function*Yd(n,e,t){e===void 0?(e=n,n=0,t=1):t===void 0&&(t=1);const i=ya.rangeLength(n,e,t);for(let s=0;s<i;s++)yield n+t*s}var ya;(function(n){function e(t,i,s){return s===0?1/0:t>i&&s>0||t<i&&s<0?0:Math.ceil((i-t)/s)}n.rangeLength=e})(ya||(ya={}));function Jd(n,e,t){const i=n[Symbol.iterator]();let s=0,a=i.next();if(a.done&&t===void 0)throw new TypeError("Reduce of empty iterable with no initial value.");if(a.done)return t;let u=i.next();if(u.done&&t===void 0)return a.value;if(u.done)return e(t,a.value,s++);let c;t===void 0?c=e(a.value,u.value,s++):c=e(e(t,a.value,s++),u.value,s++);let f;for(;!(f=i.next()).done;)c=e(c,f.value,s++);return c}function*Qd(n,e){for(;0<e--;)yield n}function*Zd(n){yield n}function*lc(n){if(typeof n.retro=="function")yield*n.retro();else for(let e=n.length-1;e>-1;e--)yield n[e]}function uc(n){let e=[],t=new Set,i=new Map;for(const u of n)s(u);for(const[u]of i)a(u);return e;function s(u){let[c,f]=u,p=i.get(f);p?p.push(c):i.set(f,[c])}function a(u){if(t.has(u))return;t.add(u);let c=i.get(u);if(c)for(const f of c)a(f);e.push(u)}}function*ef(n,e){let t=0;for(const i of n)t++%e===0&&(yield i)}var Li;(function(n){function e(u,c,f=0){let p=new Array(c.length);for(let _=0,b=f,w=c.length;_<w;++_,++b){if(b=u.indexOf(c[_],b),b===-1)return null;p[_]=b}return p}n.findIndices=e;function t(u,c,f=0){let p=e(u,c,f);if(!p)return null;let _=0;for(let b=0,w=p.length;b<w;++b){let x=p[b]-f;_+=x*x}return{score:_,indices:p}}n.matchSumOfSquares=t;function i(u,c,f=0){let p=e(u,c,f);if(!p)return null;let _=0,b=f-1;for(let w=0,x=p.length;w<x;++w){let y=p[w];_+=y-b-1,b=y}return{score:_,indices:p}}n.matchSumOfDeltas=i;function s(u,c,f){let p=[],_=0,b=0,w=c.length;for(;_<w;){let x=c[_],y=c[_];for(;++_<w&&c[_]===y+1;)y++;b<x&&p.push(u.slice(b,x)),x<y+1&&p.push(f(u.slice(x,y+1))),b=y+1}return b<u.length&&p.push(u.slice(b)),p}n.highlight=s;function a(u,c){return u<c?-1:u>c?1:0}n.cmp=a})(Li||(Li={}));function*tf(n,e){if(e<1)return;const t=n[Symbol.iterator]();let i;for(;0<e--&&!(i=t.next()).done;)yield i.value}function*nf(...n){const e=n.map(i=>i[Symbol.iterator]());let t=e.map(i=>i.next());for(;La(t,i=>!i.done);t=e.map(i=>i.next()))yield t.map(i=>i.value)}const vm=Object.freeze(Object.defineProperty({__proto__:null,get ArrayExt(){return ie},get StringExt(){return Li},chain:Pd,each:Gd,empty:Ii,enumerate:Fd,every:La,filter:Wd,find:en,findIndex:$d,map:Xd,max:ac,min:jd,minmax:Ud,once:Zd,range:Yd,reduce:Jd,repeat:Qd,retro:lc,some:oc,stride:ef,take:tf,toArray:Vd,toObject:Kd,topologicSort:uc,zip:nf},Symbol.toStringTag,{value:"Module"}));var De;(function(n){n.emptyObject=Object.freeze({}),n.emptyArray=Object.freeze([]);function e(_){return _===null||typeof _=="boolean"||typeof _=="number"||typeof _=="string"}n.isPrimitive=e;function t(_){return Array.isArray(_)}n.isArray=t;function i(_){return!e(_)&&!t(_)}n.isObject=i;function s(_,b){if(_===b)return!0;if(e(_)||e(b))return!1;let w=t(_),x=t(b);return w!==x?!1:w&&x?u(_,b):c(_,b)}n.deepEqual=s;function a(_){return e(_)?_:t(_)?f(_):p(_)}n.deepCopy=a;function u(_,b){if(_===b)return!0;if(_.length!==b.length)return!1;for(let w=0,x=_.length;w<x;++w)if(!s(_[w],b[w]))return!1;return!0}function c(_,b){if(_===b)return!0;for(let w in _)if(_[w]!==void 0&&!(w in b))return!1;for(let w in b)if(b[w]!==void 0&&!(w in _))return!1;for(let w in _){let x=_[w],y=b[w];if(!(x===void 0&&y===void 0)&&(x===void 0||y===void 0||!s(x,y)))return!1}return!0}function f(_){let b=new Array(_.length);for(let w=0,x=_.length;w<x;++w)b[w]=a(_[w]);return b}function p(_){let b={};for(let w in _){let x=_[w];x!==void 0&&(b[w]=a(x))}return b}})(De||(De={}));class rf{constructor(){this._types=[],this._values=[]}types(){return this._types.slice()}hasData(e){return this._types.indexOf(e)!==-1}getData(e){let t=this._types.indexOf(e);return t!==-1?this._values[t]:void 0}setData(e,t){this.clearData(e),this._types.push(e),this._values.push(t)}clearData(e){let t=this._types.indexOf(e);t!==-1&&(this._types.splice(t,1),this._values.splice(t,1))}clear(){this._types.length=0,this._values.length=0}}var tl;(function(n){class e{constructor(c){var f,p,_,b;this._activated=!1,this._promise=null,this._service=null,this.id=c.id,this.description=(f=c.description)!==null&&f!==void 0?f:"",this.activate=c.activate,this.deactivate=(p=c.deactivate)!==null&&p!==void 0?p:null,this.provides=(_=c.provides)!==null&&_!==void 0?_:null,this.autoStart=(b=c.autoStart)!==null&&b!==void 0?b:!1,this.requires=c.requires?c.requires.slice():[],this.optional=c.optional?c.optional.slice():[]}get activated(){return this._activated}set activated(c){this._activated=c}get service(){return this._service}set service(c){this._service=c}get promise(){return this._promise}set promise(c){this._promise=c}}function t(u){return new e(u)}n.createPluginData=t;function i(u,c,f){const p=[...u.requires,...u.optional],_=w=>{if(w===u.provides)return!0;const x=f.get(w);if(!x)return!1;const y=c.get(x),C=[...y.requires,...y.optional];return C.length===0?!1:(b.push(x),C.some(_)?!0:(b.pop(),!1))};if(!u.provides||p.length===0)return;const b=[u.id];if(p.some(_))throw new ReferenceError(`Cycle detected: ${b.join(" -> ")}.`)}n.ensureNoCycle=i;function s(u,c,f){const p=new Array,_=C=>{const E=c.get(C),I=[...E.requires,...E.optional];p.push(...I.reduce((R,L)=>{const O=f.get(L);return O&&R.push([C,O]),R},[]))};for(const C of c.keys())_(C);const b=p.filter(C=>C[1]===u);let w=0;for(;b.length>w;){const C=b.length,E=new Set(b.map(I=>I[0]));for(const I of E)p.filter(R=>R[1]===I).forEach(R=>{b.includes(R)||b.push(R)});w=C}const x=uc(b),y=x.findIndex(C=>C===u);return y===-1?[u]:x.slice(0,y+1)}n.findDependents=s;function a(u,c){const f=new Set;for(const p of u.keys())u.get(p).autoStart===!0&&f.add(p);if(c.startPlugins)for(const p of c.startPlugins)f.add(p);if(c.ignorePlugins)for(const p of c.ignorePlugins)f.delete(p);return Array.from(f)}n.collectStartupPlugins=a})(tl||(tl={}));class Or{constructor(){this.promise=new Promise((e,t)=>{this._resolve=e,this._reject=t})}resolve(e){let t=this._resolve;t(e)}reject(e){let t=this._reject;t(e)}}class ym{constructor(e,t){this.name=e,this.description=t??"",this._tokenStructuralPropertyT=null}}function sf(n){let e=0;for(let t=0,i=n.length;t<i;++t)t%4===0&&(e=Math.random()*4294967295>>>0),n[t]=e&255,e>>>=8}var ba;(function(n){n.getRandomValues=(()=>{const e=typeof window<"u"&&(window.crypto||window.msCrypto)||null;return e&&typeof e.getRandomValues=="function"?function(i){return e.getRandomValues(i)}:sf})()})(ba||(ba={}));function af(n){const e=new Uint8Array(16),t=new Array(256);for(let i=0;i<16;++i)t[i]="0"+i.toString(16);for(let i=16;i<256;++i)t[i]=i.toString(16);return function(){return n(e),e[6]=64|e[6]&15,e[8]=128|e[8]&63,t[e[0]]+t[e[1]]+t[e[2]]+t[e[3]]+"-"+t[e[4]]+t[e[5]]+"-"+t[e[6]]+t[e[7]]+"-"+t[e[8]]+t[e[9]]+"-"+t[e[10]]+t[e[11]]+t[e[12]]+t[e[13]]+t[e[14]]+t[e[15]]}}var zn;(function(n){n.uuid4=af(ba.getRandomValues)})(zn||(zn={}));var qr,il;function of(){if(il)return qr;il=1;function n(){this.__data__=[],this.size=0}return qr=n,qr}var Hr,nl;function cc(){if(nl)return Hr;nl=1;function n(e,t){return e===t||e!==e&&t!==t}return Hr=n,Hr}var Br,rl;function Un(){if(rl)return Br;rl=1;var n=cc();function e(t,i){for(var s=t.length;s--;)if(n(t[s][0],i))return s;return-1}return Br=e,Br}var Pr,sl;function lf(){if(sl)return Pr;sl=1;var n=Un(),e=Array.prototype,t=e.splice;function i(s){var a=this.__data__,u=n(a,s);if(u<0)return!1;var c=a.length-1;return u==c?a.pop():t.call(a,u,1),--this.size,!0}return Pr=i,Pr}var Fr,al;function uf(){if(al)return Fr;al=1;var n=Un();function e(t){var i=this.__data__,s=n(i,t);return s<0?void 0:i[s][1]}return Fr=e,Fr}var Wr,ol;function cf(){if(ol)return Wr;ol=1;var n=Un();function e(t){return n(this.__data__,t)>-1}return Wr=e,Wr}var $r,ll;function hf(){if(ll)return $r;ll=1;var n=Un();function e(t,i){var s=this.__data__,a=n(s,t);return a<0?(++this.size,s.push([t,i])):s[a][1]=i,this}return $r=e,$r}var jr,ul;function Vn(){if(ul)return jr;ul=1;var n=of(),e=lf(),t=uf(),i=cf(),s=hf();function a(u){var c=-1,f=u==null?0:u.length;for(this.clear();++c<f;){var p=u[c];this.set(p[0],p[1])}}return a.prototype.clear=n,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=i,a.prototype.set=s,jr=a,jr}var Ur,cl;function df(){if(cl)return Ur;cl=1;var n=Vn();function e(){this.__data__=new n,this.size=0}return Ur=e,Ur}var Vr,hl;function ff(){if(hl)return Vr;hl=1;function n(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}return Vr=n,Vr}var Kr,dl;function pf(){if(dl)return Kr;dl=1;function n(e){return this.__data__.get(e)}return Kr=n,Kr}var Gr,fl;function mf(){if(fl)return Gr;fl=1;function n(e){return this.__data__.has(e)}return Gr=n,Gr}var Xr,pl;function hc(){if(pl)return Xr;pl=1;var n=typeof ti=="object"&&ti&&ti.Object===Object&&ti;return Xr=n,Xr}var Yr,ml;function Gt(){if(ml)return Yr;ml=1;var n=hc(),e=typeof self=="object"&&self&&self.Object===Object&&self,t=n||e||Function("return this")();return Yr=t,Yr}var Jr,gl;function Ra(){if(gl)return Jr;gl=1;var n=Gt(),e=n.Symbol;return Jr=e,Jr}var Qr,_l;function gf(){if(_l)return Qr;_l=1;var n=Ra(),e=Object.prototype,t=e.hasOwnProperty,i=e.toString,s=n?n.toStringTag:void 0;function a(u){var c=t.call(u,s),f=u[s];try{u[s]=void 0;var p=!0}catch{}var _=i.call(u);return p&&(c?u[s]=f:delete u[s]),_}return Qr=a,Qr}var Zr,vl;function _f(){if(vl)return Zr;vl=1;var n=Object.prototype,e=n.toString;function t(i){return e.call(i)}return Zr=t,Zr}var es,yl;function Kn(){if(yl)return es;yl=1;var n=Ra(),e=gf(),t=_f(),i="[object Null]",s="[object Undefined]",a=n?n.toStringTag:void 0;function u(c){return c==null?c===void 0?s:i:a&&a in Object(c)?e(c):t(c)}return es=u,es}var ts,bl;function dc(){if(bl)return ts;bl=1;function n(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}return ts=n,ts}var is,xl;function fc(){if(xl)return is;xl=1;var n=Kn(),e=dc(),t="[object AsyncFunction]",i="[object Function]",s="[object GeneratorFunction]",a="[object Proxy]";function u(c){if(!e(c))return!1;var f=n(c);return f==i||f==s||f==t||f==a}return is=u,is}var ns,wl;function vf(){if(wl)return ns;wl=1;var n=Gt(),e=n["__core-js_shared__"];return ns=e,ns}var rs,Sl;function yf(){if(Sl)return rs;Sl=1;var n=vf(),e=(function(){var i=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""})();function t(i){return!!e&&e in i}return rs=t,rs}var ss,Cl;function pc(){if(Cl)return ss;Cl=1;var n=Function.prototype,e=n.toString;function t(i){if(i!=null){try{return e.call(i)}catch{}try{return i+""}catch{}}return""}return ss=t,ss}var as,Ml;function bf(){if(Ml)return as;Ml=1;var n=fc(),e=yf(),t=dc(),i=pc(),s=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,u=Function.prototype,c=Object.prototype,f=u.toString,p=c.hasOwnProperty,_=RegExp("^"+f.call(p).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function b(w){if(!t(w)||e(w))return!1;var x=n(w)?_:a;return x.test(i(w))}return as=b,as}var os,Tl;function xf(){if(Tl)return os;Tl=1;function n(e,t){return e==null?void 0:e[t]}return os=n,os}var ls,Al;function Hi(){if(Al)return ls;Al=1;var n=bf(),e=xf();function t(i,s){var a=e(i,s);return n(a)?a:void 0}return ls=t,ls}var us,El;function Na(){if(El)return us;El=1;var n=Hi(),e=Gt(),t=n(e,"Map");return us=t,us}var cs,Il;function Gn(){if(Il)return cs;Il=1;var n=Hi(),e=n(Object,"create");return cs=e,cs}var hs,zl;function wf(){if(zl)return hs;zl=1;var n=Gn();function e(){this.__data__=n?n(null):{},this.size=0}return hs=e,hs}var ds,Dl;function Sf(){if(Dl)return ds;Dl=1;function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}return ds=n,ds}var fs,kl;function Cf(){if(kl)return fs;kl=1;var n=Gn(),e="__lodash_hash_undefined__",t=Object.prototype,i=t.hasOwnProperty;function s(a){var u=this.__data__;if(n){var c=u[a];return c===e?void 0:c}return i.call(u,a)?u[a]:void 0}return fs=s,fs}var ps,Ll;function Mf(){if(Ll)return ps;Ll=1;var n=Gn(),e=Object.prototype,t=e.hasOwnProperty;function i(s){var a=this.__data__;return n?a[s]!==void 0:t.call(a,s)}return ps=i,ps}var ms,Rl;function Tf(){if(Rl)return ms;Rl=1;var n=Gn(),e="__lodash_hash_undefined__";function t(i,s){var a=this.__data__;return this.size+=this.has(i)?0:1,a[i]=n&&s===void 0?e:s,this}return ms=t,ms}var gs,Nl;function Af(){if(Nl)return gs;Nl=1;var n=wf(),e=Sf(),t=Cf(),i=Mf(),s=Tf();function a(u){var c=-1,f=u==null?0:u.length;for(this.clear();++c<f;){var p=u[c];this.set(p[0],p[1])}}return a.prototype.clear=n,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=i,a.prototype.set=s,gs=a,gs}var _s,Ol;function Ef(){if(Ol)return _s;Ol=1;var n=Af(),e=Vn(),t=Na();function i(){this.size=0,this.__data__={hash:new n,map:new(t||e),string:new n}}return _s=i,_s}var vs,ql;function If(){if(ql)return vs;ql=1;function n(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}return vs=n,vs}var ys,Hl;function Xn(){if(Hl)return ys;Hl=1;var n=If();function e(t,i){var s=t.__data__;return n(i)?s[typeof i=="string"?"string":"hash"]:s.map}return ys=e,ys}var bs,Bl;function zf(){if(Bl)return bs;Bl=1;var n=Xn();function e(t){var i=n(this,t).delete(t);return this.size-=i?1:0,i}return bs=e,bs}var xs,Pl;function Df(){if(Pl)return xs;Pl=1;var n=Xn();function e(t){return n(this,t).get(t)}return xs=e,xs}var ws,Fl;function kf(){if(Fl)return ws;Fl=1;var n=Xn();function e(t){return n(this,t).has(t)}return ws=e,ws}var Ss,Wl;function Lf(){if(Wl)return Ss;Wl=1;var n=Xn();function e(t,i){var s=n(this,t),a=s.size;return s.set(t,i),this.size+=s.size==a?0:1,this}return Ss=e,Ss}var Cs,$l;function mc(){if($l)return Cs;$l=1;var n=Ef(),e=zf(),t=Df(),i=kf(),s=Lf();function a(u){var c=-1,f=u==null?0:u.length;for(this.clear();++c<f;){var p=u[c];this.set(p[0],p[1])}}return a.prototype.clear=n,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=i,a.prototype.set=s,Cs=a,Cs}var Ms,jl;function Rf(){if(jl)return Ms;jl=1;var n=Vn(),e=Na(),t=mc(),i=200;function s(a,u){var c=this.__data__;if(c instanceof n){var f=c.__data__;if(!e||f.length<i-1)return f.push([a,u]),this.size=++c.size,this;c=this.__data__=new t(f)}return c.set(a,u),this.size=c.size,this}return Ms=s,Ms}var Ts,Ul;function Nf(){if(Ul)return Ts;Ul=1;var n=Vn(),e=df(),t=ff(),i=pf(),s=mf(),a=Rf();function u(c){var f=this.__data__=new n(c);this.size=f.size}return u.prototype.clear=e,u.prototype.delete=t,u.prototype.get=i,u.prototype.has=s,u.prototype.set=a,Ts=u,Ts}var As,Vl;function Of(){if(Vl)return As;Vl=1;var n="__lodash_hash_undefined__";function e(t){return this.__data__.set(t,n),this}return As=e,As}var Es,Kl;function qf(){if(Kl)return Es;Kl=1;function n(e){return this.__data__.has(e)}return Es=n,Es}var Is,Gl;function Hf(){if(Gl)return Is;Gl=1;var n=mc(),e=Of(),t=qf();function i(s){var a=-1,u=s==null?0:s.length;for(this.__data__=new n;++a<u;)this.add(s[a])}return i.prototype.add=i.prototype.push=e,i.prototype.has=t,Is=i,Is}var zs,Xl;function Bf(){if(Xl)return zs;Xl=1;function n(e,t){for(var i=-1,s=e==null?0:e.length;++i<s;)if(t(e[i],i,e))return!0;return!1}return zs=n,zs}var Ds,Yl;function Pf(){if(Yl)return Ds;Yl=1;function n(e,t){return e.has(t)}return Ds=n,Ds}var ks,Jl;function gc(){if(Jl)return ks;Jl=1;var n=Hf(),e=Bf(),t=Pf(),i=1,s=2;function a(u,c,f,p,_,b){var w=f&i,x=u.length,y=c.length;if(x!=y&&!(w&&y>x))return!1;var C=b.get(u),E=b.get(c);if(C&&E)return C==c&&E==u;var I=-1,R=!0,L=f&s?new n:void 0;for(b.set(u,c),b.set(c,u);++I<x;){var O=u[I],F=c[I];if(p)var $=w?p(F,O,I,c,u,b):p(O,F,I,u,c,b);if($!==void 0){if($)continue;R=!1;break}if(L){if(!e(c,function(l,q){if(!t(L,q)&&(O===l||_(O,l,f,p,b)))return L.push(q)})){R=!1;break}}else if(!(O===F||_(O,F,f,p,b))){R=!1;break}}return b.delete(u),b.delete(c),R}return ks=a,ks}var Ls,Ql;function Ff(){if(Ql)return Ls;Ql=1;var n=Gt(),e=n.Uint8Array;return Ls=e,Ls}var Rs,Zl;function Wf(){if(Zl)return Rs;Zl=1;function n(e){var t=-1,i=Array(e.size);return e.forEach(function(s,a){i[++t]=[a,s]}),i}return Rs=n,Rs}var Ns,eu;function $f(){if(eu)return Ns;eu=1;function n(e){var t=-1,i=Array(e.size);return e.forEach(function(s){i[++t]=s}),i}return Ns=n,Ns}var Os,tu;function jf(){if(tu)return Os;tu=1;var n=Ra(),e=Ff(),t=cc(),i=gc(),s=Wf(),a=$f(),u=1,c=2,f="[object Boolean]",p="[object Date]",_="[object Error]",b="[object Map]",w="[object Number]",x="[object RegExp]",y="[object Set]",C="[object String]",E="[object Symbol]",I="[object ArrayBuffer]",R="[object DataView]",L=n?n.prototype:void 0,O=L?L.valueOf:void 0;function F($,l,q,A,N,H,Z){switch(q){case R:if($.byteLength!=l.byteLength||$.byteOffset!=l.byteOffset)return!1;$=$.buffer,l=l.buffer;case I:return!($.byteLength!=l.byteLength||!H(new e($),new e(l)));case f:case p:case w:return t(+$,+l);case _:return $.name==l.name&&$.message==l.message;case x:case C:return $==l+"";case b:var Y=s;case y:var ce=A&u;if(Y||(Y=a),$.size!=l.size&&!ce)return!1;var we=Z.get($);if(we)return we==l;A|=c,Z.set($,l);var He=i(Y($),Y(l),A,N,H,Z);return Z.delete($),He;case E:if(O)return O.call($)==O.call(l)}return!1}return Os=F,Os}var qs,iu;function Uf(){if(iu)return qs;iu=1;function n(e,t){for(var i=-1,s=t.length,a=e.length;++i<s;)e[a+i]=t[i];return e}return qs=n,qs}var Hs,nu;function Oa(){if(nu)return Hs;nu=1;var n=Array.isArray;return Hs=n,Hs}var Bs,ru;function Vf(){if(ru)return Bs;ru=1;var n=Uf(),e=Oa();function t(i,s,a){var u=s(i);return e(i)?u:n(u,a(i))}return Bs=t,Bs}var Ps,su;function Kf(){if(su)return Ps;su=1;function n(e,t){for(var i=-1,s=e==null?0:e.length,a=0,u=[];++i<s;){var c=e[i];t(c,i,e)&&(u[a++]=c)}return u}return Ps=n,Ps}var Fs,au;function Gf(){if(au)return Fs;au=1;function n(){return[]}return Fs=n,Fs}var Ws,ou;function Xf(){if(ou)return Ws;ou=1;var n=Kf(),e=Gf(),t=Object.prototype,i=t.propertyIsEnumerable,s=Object.getOwnPropertySymbols,a=s?function(u){return u==null?[]:(u=Object(u),n(s(u),function(c){return i.call(u,c)}))}:e;return Ws=a,Ws}var $s,lu;function Yf(){if(lu)return $s;lu=1;function n(e,t){for(var i=-1,s=Array(e);++i<e;)s[i]=t(i);return s}return $s=n,$s}var js,uu;function Yn(){if(uu)return js;uu=1;function n(e){return e!=null&&typeof e=="object"}return js=n,js}var Us,cu;function Jf(){if(cu)return Us;cu=1;var n=Kn(),e=Yn(),t="[object Arguments]";function i(s){return e(s)&&n(s)==t}return Us=i,Us}var Vs,hu;function Qf(){if(hu)return Vs;hu=1;var n=Jf(),e=Yn(),t=Object.prototype,i=t.hasOwnProperty,s=t.propertyIsEnumerable,a=n((function(){return arguments})())?n:function(u){return e(u)&&i.call(u,"callee")&&!s.call(u,"callee")};return Vs=a,Vs}var Yi={exports:{}},Ks,du;function Zf(){if(du)return Ks;du=1;function n(){return!1}return Ks=n,Ks}Yi.exports;var fu;function _c(){return fu||(fu=1,(function(n,e){var t=Gt(),i=Zf(),s=e&&!e.nodeType&&e,a=s&&!0&&n&&!n.nodeType&&n,u=a&&a.exports===s,c=u?t.Buffer:void 0,f=c?c.isBuffer:void 0,p=f||i;n.exports=p})(Yi,Yi.exports)),Yi.exports}var Gs,pu;function ep(){if(pu)return Gs;pu=1;var n=9007199254740991,e=/^(?:0|[1-9]\d*)$/;function t(i,s){var a=typeof i;return s=s??n,!!s&&(a=="number"||a!="symbol"&&e.test(i))&&i>-1&&i%1==0&&i<s}return Gs=t,Gs}var Xs,mu;function vc(){if(mu)return Xs;mu=1;var n=9007199254740991;function e(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=n}return Xs=e,Xs}var Ys,gu;function tp(){if(gu)return Ys;gu=1;var n=Kn(),e=vc(),t=Yn(),i="[object Arguments]",s="[object Array]",a="[object Boolean]",u="[object Date]",c="[object Error]",f="[object Function]",p="[object Map]",_="[object Number]",b="[object Object]",w="[object RegExp]",x="[object Set]",y="[object String]",C="[object WeakMap]",E="[object ArrayBuffer]",I="[object DataView]",R="[object Float32Array]",L="[object Float64Array]",O="[object Int8Array]",F="[object Int16Array]",$="[object Int32Array]",l="[object Uint8Array]",q="[object Uint8ClampedArray]",A="[object Uint16Array]",N="[object Uint32Array]",H={};H[R]=H[L]=H[O]=H[F]=H[$]=H[l]=H[q]=H[A]=H[N]=!0,H[i]=H[s]=H[E]=H[a]=H[I]=H[u]=H[c]=H[f]=H[p]=H[_]=H[b]=H[w]=H[x]=H[y]=H[C]=!1;function Z(Y){return t(Y)&&e(Y.length)&&!!H[n(Y)]}return Ys=Z,Ys}var Js,_u;function ip(){if(_u)return Js;_u=1;function n(e){return function(t){return e(t)}}return Js=n,Js}var Ji={exports:{}};Ji.exports;var vu;function np(){return vu||(vu=1,(function(n,e){var t=hc(),i=e&&!e.nodeType&&e,s=i&&!0&&n&&!n.nodeType&&n,a=s&&s.exports===i,u=a&&t.process,c=(function(){try{var f=s&&s.require&&s.require("util").types;return f||u&&u.binding&&u.binding("util")}catch{}})();n.exports=c})(Ji,Ji.exports)),Ji.exports}var Qs,yu;function yc(){if(yu)return Qs;yu=1;var n=tp(),e=ip(),t=np(),i=t&&t.isTypedArray,s=i?e(i):n;return Qs=s,Qs}var Zs,bu;function rp(){if(bu)return Zs;bu=1;var n=Yf(),e=Qf(),t=Oa(),i=_c(),s=ep(),a=yc(),u=Object.prototype,c=u.hasOwnProperty;function f(p,_){var b=t(p),w=!b&&e(p),x=!b&&!w&&i(p),y=!b&&!w&&!x&&a(p),C=b||w||x||y,E=C?n(p.length,String):[],I=E.length;for(var R in p)(_||c.call(p,R))&&!(C&&(R=="length"||x&&(R=="offset"||R=="parent")||y&&(R=="buffer"||R=="byteLength"||R=="byteOffset")||s(R,I)))&&E.push(R);return E}return Zs=f,Zs}var ea,xu;function sp(){if(xu)return ea;xu=1;var n=Object.prototype;function e(t){var i=t&&t.constructor,s=typeof i=="function"&&i.prototype||n;return t===s}return ea=e,ea}var ta,wu;function ap(){if(wu)return ta;wu=1;function n(e,t){return function(i){return e(t(i))}}return ta=n,ta}var ia,Su;function op(){if(Su)return ia;Su=1;var n=ap(),e=n(Object.keys,Object);return ia=e,ia}var na,Cu;function lp(){if(Cu)return na;Cu=1;var n=sp(),e=op(),t=Object.prototype,i=t.hasOwnProperty;function s(a){if(!n(a))return e(a);var u=[];for(var c in Object(a))i.call(a,c)&&c!="constructor"&&u.push(c);return u}return na=s,na}var ra,Mu;function up(){if(Mu)return ra;Mu=1;var n=fc(),e=vc();function t(i){return i!=null&&e(i.length)&&!n(i)}return ra=t,ra}var sa,Tu;function cp(){if(Tu)return sa;Tu=1;var n=rp(),e=lp(),t=up();function i(s){return t(s)?n(s):e(s)}return sa=i,sa}var aa,Au;function hp(){if(Au)return aa;Au=1;var n=Vf(),e=Xf(),t=cp();function i(s){return n(s,t,e)}return aa=i,aa}var oa,Eu;function dp(){if(Eu)return oa;Eu=1;var n=hp(),e=1,t=Object.prototype,i=t.hasOwnProperty;function s(a,u,c,f,p,_){var b=c&e,w=n(a),x=w.length,y=n(u),C=y.length;if(x!=C&&!b)return!1;for(var E=x;E--;){var I=w[E];if(!(b?I in u:i.call(u,I)))return!1}var R=_.get(a),L=_.get(u);if(R&&L)return R==u&&L==a;var O=!0;_.set(a,u),_.set(u,a);for(var F=b;++E<x;){I=w[E];var $=a[I],l=u[I];if(f)var q=b?f(l,$,I,u,a,_):f($,l,I,a,u,_);if(!(q===void 0?$===l||p($,l,c,f,_):q)){O=!1;break}F||(F=I=="constructor")}if(O&&!F){var A=a.constructor,N=u.constructor;A!=N&&"constructor"in a&&"constructor"in u&&!(typeof A=="function"&&A instanceof A&&typeof N=="function"&&N instanceof N)&&(O=!1)}return _.delete(a),_.delete(u),O}return oa=s,oa}var la,Iu;function fp(){if(Iu)return la;Iu=1;var n=Hi(),e=Gt(),t=n(e,"DataView");return la=t,la}var ua,zu;function pp(){if(zu)return ua;zu=1;var n=Hi(),e=Gt(),t=n(e,"Promise");return ua=t,ua}var ca,Du;function mp(){if(Du)return ca;Du=1;var n=Hi(),e=Gt(),t=n(e,"Set");return ca=t,ca}var ha,ku;function gp(){if(ku)return ha;ku=1;var n=Hi(),e=Gt(),t=n(e,"WeakMap");return ha=t,ha}var da,Lu;function _p(){if(Lu)return da;Lu=1;var n=fp(),e=Na(),t=pp(),i=mp(),s=gp(),a=Kn(),u=pc(),c="[object Map]",f="[object Object]",p="[object Promise]",_="[object Set]",b="[object WeakMap]",w="[object DataView]",x=u(n),y=u(e),C=u(t),E=u(i),I=u(s),R=a;return(n&&R(new n(new ArrayBuffer(1)))!=w||e&&R(new e)!=c||t&&R(t.resolve())!=p||i&&R(new i)!=_||s&&R(new s)!=b)&&(R=function(L){var O=a(L),F=O==f?L.constructor:void 0,$=F?u(F):"";if($)switch($){case x:return w;case y:return c;case C:return p;case E:return _;case I:return b}return O}),da=R,da}var fa,Ru;function vp(){if(Ru)return fa;Ru=1;var n=Nf(),e=gc(),t=jf(),i=dp(),s=_p(),a=Oa(),u=_c(),c=yc(),f=1,p="[object Arguments]",_="[object Array]",b="[object Object]",w=Object.prototype,x=w.hasOwnProperty;function y(C,E,I,R,L,O){var F=a(C),$=a(E),l=F?_:s(C),q=$?_:s(E);l=l==p?b:l,q=q==p?b:q;var A=l==b,N=q==b,H=l==q;if(H&&u(C)){if(!u(E))return!1;F=!0,A=!1}if(H&&!A)return O||(O=new n),F||c(C)?e(C,E,I,R,L,O):t(C,E,l,I,R,L,O);if(!(I&f)){var Z=A&&x.call(C,"__wrapped__"),Y=N&&x.call(E,"__wrapped__");if(Z||Y){var ce=Z?C.value():C,we=Y?E.value():E;return O||(O=new n),L(ce,we,I,R,O)}}return H?(O||(O=new n),i(C,E,I,R,L,O)):!1}return fa=y,fa}var pa,Nu;function yp(){if(Nu)return pa;Nu=1;var n=vp(),e=Yn();function t(i,s,a,u,c){return i===s?!0:i==null||s==null||!e(i)&&!e(s)?i!==i&&s!==s:n(i,s,a,u,t,c)}return pa=t,pa}var ma,Ou;function bp(){if(Ou)return ma;Ou=1;var n=yp();function e(t,i){return n(t,i)}return ma=e,ma}var xp=bp();const wp=sc(xp);function qu(n,e){return n.filter(t=>e.indexOf(t)===-1)}function xa(n,e){return wp(n,e)}const Zi=Object.assign||function(n,...e){for(let t=1;t<e.length;t++){const i=e[t];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])}return n};function bm(){return zn.uuid4()}function bc(n){const e=Object.keys(n),t=[];return e.forEach(function(i){t.push(n[i])}),Promise.all(t).then(i=>{const s={};for(let a=0;a<e.length;a++)s[e[a]]=i[a];return s})}function Dn(n,e){return function(i){throw e&&console.error(new Error(n)),i}}function Sp(n,e,t){for(let i=0;i<e.length;i++){const s=e[i];let a=t[i];a instanceof DataView||(a=new DataView(a instanceof ArrayBuffer?a:a.buffer));let u=n;for(let c=0;c<s.length-1;c++)u=u[s[c]];u[s[s.length-1]]=a}}function Cp(n){var e;return(e=typeof n=="object"&&n&&"toJSON"in n)!==null&&e!==void 0?e:!1}function Mp(n){return De.isObject(n)}function Tp(n){const e=[],t=[];function i(a,u){if(Cp(a)&&(a=a.toJSON()),Array.isArray(a)){let c=!1;for(let f=0;f<a.length;f++){const p=a[f];if(p)if(p instanceof ArrayBuffer||ArrayBuffer.isView(p))c||(a=a.slice(),c=!0),e.push(ArrayBuffer.isView(p)?p.buffer:p),t.push(u.concat([f])),a[f]=null;else{const _=i(p,u.concat([f]));_!==p&&(c||(a=a.slice(),c=!0),a[f]=_)}}}else if(Mp(a))for(const c in a){let f=!1;if(Object.prototype.hasOwnProperty.call(a,c)){const p=a[c];if(p)if(p instanceof ArrayBuffer||ArrayBuffer.isView(p))f||(a=Object.assign({},a),f=!0),e.push(ArrayBuffer.isView(p)?p.buffer:p),t.push(u.concat([c])),delete a[c];else{const _=i(p,u.concat([c]));_!==p&&(f||(a=Object.assign({},a),f=!0),a[c]=_)}}}return a}return{state:i(n,[]),buffers:e,buffer_paths:t}}const xm=`<svg style="height:50%;max-height: 50px;" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48">
2
2
  <g >
3
3
  <g transform="translate(0.24520123,0.93464292)">
4
4
  <path d="M 8.2494641,21.074514 V 5.6225142 c 0,-0.314 0.254,-0.567 0.57,-0.567 H 29.978464 c 2.388,0 9.268,5.8269998 9.268,8.3029998 v 5.5835 l -3.585749,4.407396 -2.772971,-3.535534 -5.126524,3.414213 -5.944543,-3.237436 -5.722718,3.06066 z m 30.9969999,3.8675 v 15.5835 c 0,0.314 -0.254,0.567 -0.57,0.567 H 8.8194641 c -0.315,0.002 -0.57,-0.251 -0.57,-0.566 v -15.452 l 7.8444949,2.628449 5.656854,-2.65165 4.24264,3.005204 5.833631,-3.237437 3.712311,3.944543 z" style="fill:url(#linearGradient3448);stroke:#888a85" />
package/dist/index.html CHANGED
@@ -64,8 +64,8 @@
64
64
  }
65
65
  }
66
66
  </script>
67
- <script type="module" crossorigin src="/assets/index-Cq1BG1_T.js"></script>
68
- <link rel="stylesheet" crossorigin href="/assets/index-Bvhz0ltE.css">
67
+ <script type="module" crossorigin src="/assets/index-BogqIQSN.js"></script>
68
+ <link rel="stylesheet" crossorigin href="/assets/index-B0WDQN9I.css">
69
69
  </head>
70
70
  <body class="bg-slate-50 text-slate-900 antialiased">
71
71
  <div id="root"></div>
@@ -226,10 +226,31 @@ async function authMiddleware(request, reply) {
226
226
  // loopback); a token-less request from the network gets no free ride.
227
227
  // Browser requests carry Origin. Never let a cross-origin page inherit the
228
228
  // machine-local CLI/MCP credential merely because the TCP peer is loopback.
229
- if (!token && isLoopback(request.ip) && request.headers.origin === undefined) {
229
+ const isBrowser = request.headers.origin !== undefined;
230
+ const loopback = isLoopback(request.ip);
231
+ if (!token && loopback && !isBrowser) {
230
232
  token = readSessionToken();
231
233
  }
232
234
  if (!token) {
235
+ // Say WHY there is no credential. A CLI/agent whose tunnel terminates on
236
+ // another host loses the loopback free ride and must not be told to
237
+ // "log in" (a browser action that cannot help it) — name the peer and
238
+ // the rule so the caller can self-diagnose (2026-08-17 lab incident).
239
+ if (!isBrowser && !loopback) {
240
+ return reply.code(401).send({
241
+ error: 'no_token_non_loopback',
242
+ message: `No auth token, and this request did not arrive from loopback (peer ${request.ip}) — ` +
243
+ 'the token-less CLI/MCP piggyback only works when the tunnel terminates on the server host itself. ' +
244
+ 'Set NEBULA_TOKEN (or ~/.nebula/token) for this client, or forward to the server\'s own localhost.',
245
+ });
246
+ }
247
+ if (!isBrowser) {
248
+ return reply.code(401).send({
249
+ error: 'no_token_no_session',
250
+ message: 'No auth token, and no browser session is persisted yet (~/.nebula/session-token on the server) — ' +
251
+ 'log in once from a browser, or set NEBULA_TOKEN for this client.',
252
+ });
253
+ }
233
254
  return reply.code(401).send({
234
255
  error: 'auth_required',
235
256
  message: 'Authentication required. Please log in.',
@@ -239,7 +260,8 @@ async function authMiddleware(request, reply) {
239
260
  if (!payload) {
240
261
  return reply.code(401).send({
241
262
  error: 'invalid_token',
242
- message: 'Invalid or expired token. Please log in again.',
263
+ message: 'Invalid or expired token. Browser: log in again. CLI/agent: refresh the token — ' +
264
+ 'unset a stale NEBULA_TOKEN / ~/.nebula/token, or relaunch the agent from Nebula (which pushes a fresh one).',
243
265
  });
244
266
  }
245
267
  // Persist valid tokens from request headers so MCP/CLI can piggyback.
@@ -18,3 +18,17 @@ export declare function parseWhoami(stdout: string): string | null;
18
18
  * must then ask, and say plainly that this is what it needs.
19
19
  */
20
20
  export declare function discoverRemoteUser(port: number, hint?: string): Promise<string | null>;
21
+ /** Where the pushed token lives on the user's machine ($HOME-relative). */
22
+ export declare const REMOTE_TOKEN_PATH = ".nebula/token";
23
+ /**
24
+ * Deliver an auth token to the user's machine over the reverse channel so the
25
+ * remote agent's `nebula` CLI authenticates with a real credential — instead
26
+ * of relying on the loopback piggyback, which silently dies the moment its
27
+ * tunnel terminates on a different host than the server (2026-08-17).
28
+ *
29
+ * The token travels on ssh's STDIN only: never in argv (visible in `ps` and
30
+ * shell history on a shared login node), never echoed. Written 0600 under a
31
+ * private dir, atomically, and acknowledged with a marker so a half-written
32
+ * or missing file is reported as failure, not success.
33
+ */
34
+ export declare function pushRemoteAgentToken(port: number, user: string, token: string, timeoutMs?: number): Promise<boolean>;
@@ -42,9 +42,11 @@ var __importStar = (this && this.__importStar) || (function () {
42
42
  };
43
43
  })();
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.REMOTE_TOKEN_PATH = void 0;
45
46
  exports.candidateUsernames = candidateUsernames;
46
47
  exports.parseWhoami = parseWhoami;
47
48
  exports.discoverRemoteUser = discoverRemoteUser;
49
+ exports.pushRemoteAgentToken = pushRemoteAgentToken;
48
50
  const child_process_1 = require("child_process");
49
51
  const os = __importStar(require("os"));
50
52
  /** POSIX-portable login names — anything else never reaches an ssh argument. */
@@ -96,3 +98,58 @@ async function discoverRemoteUser(port, hint) {
96
98
  }
97
99
  return null;
98
100
  }
101
+ /** Where the pushed token lives on the user's machine ($HOME-relative). */
102
+ exports.REMOTE_TOKEN_PATH = '.nebula/token';
103
+ /**
104
+ * Deliver an auth token to the user's machine over the reverse channel so the
105
+ * remote agent's `nebula` CLI authenticates with a real credential — instead
106
+ * of relying on the loopback piggyback, which silently dies the moment its
107
+ * tunnel terminates on a different host than the server (2026-08-17).
108
+ *
109
+ * The token travels on ssh's STDIN only: never in argv (visible in `ps` and
110
+ * shell history on a shared login node), never echoed. Written 0600 under a
111
+ * private dir, atomically, and acknowledged with a marker so a half-written
112
+ * or missing file is reported as failure, not success.
113
+ */
114
+ function pushRemoteAgentToken(port, user, token, timeoutMs = 12000) {
115
+ if (!Number.isInteger(port) || port < 1024 || port > 65535)
116
+ return Promise.resolve(false);
117
+ if (!LOGIN_RE.test(user))
118
+ return Promise.resolve(false);
119
+ if (!token || /[\r\n]/.test(token) || token.length > 8192)
120
+ return Promise.resolve(false);
121
+ const remoteScript = `umask 077 && mkdir -p "$HOME/.nebula" && ` +
122
+ `t="$HOME/${exports.REMOTE_TOKEN_PATH}" && cat > "$t.tmp" && chmod 600 "$t.tmp" && mv -f "$t.tmp" "$t" && ` +
123
+ `[ -s "$t" ] && printf 'NB_TOKEN_OK\\n'`;
124
+ return new Promise((resolve) => {
125
+ let child;
126
+ try {
127
+ child = (0, child_process_1.spawn)('ssh', ['-p', String(port), '-o', 'ProxyCommand=none', '-o', 'StrictHostKeyChecking=accept-new',
128
+ '-o', 'BatchMode=yes', '-o', 'ConnectTimeout=8', `${user}@localhost`, remoteScript], { stdio: ['pipe', 'pipe', 'pipe'] });
129
+ }
130
+ catch {
131
+ return resolve(false);
132
+ }
133
+ let out = '';
134
+ let done = false;
135
+ const finish = (ok) => { if (!done) {
136
+ done = true;
137
+ clearTimeout(timer);
138
+ resolve(ok);
139
+ } };
140
+ const timer = setTimeout(() => { try {
141
+ child.kill();
142
+ }
143
+ catch { /* gone */ } finish(false); }, timeoutMs);
144
+ child.stdout?.on('data', (d) => { out += String(d); });
145
+ child.on('error', () => finish(false));
146
+ child.on('close', (code) => finish(code === 0 && out.includes('NB_TOKEN_OK')));
147
+ try {
148
+ child.stdin?.write(token);
149
+ child.stdin?.end();
150
+ }
151
+ catch {
152
+ finish(false);
153
+ }
154
+ });
155
+ }
@@ -111,6 +111,26 @@ async function setupTerminalRoutes(fastify) {
111
111
  }
112
112
  return reply.send({ user: remote_agent_config_1.remoteAgentConfig.patch({ user }).user });
113
113
  });
114
+ // Push the caller's own auth token to the user's machine (~/.nebula/token
115
+ // over the reverse channel) so the remote agent's CLI carries a credential
116
+ // instead of depending on its tunnel terminating on this host (loopback
117
+ // piggyback). Called by the UI right before a remote launch; the token is
118
+ // the browser's session — same lifetime, same trust, 0600 on their disk.
119
+ fastify.post('/api/terminals/agent-config/push-token', async (request, reply) => {
120
+ const cfg = remote_agent_config_1.remoteAgentConfig.get();
121
+ if (cfg.port === undefined || !cfg.user) {
122
+ return reply.send({ pushed: false, reason: 'remote agent port/user not configured yet' });
123
+ }
124
+ const auth = request.headers.authorization;
125
+ const token = typeof auth === 'string' && auth.startsWith('Bearer ') ? auth.slice(7).trim() : '';
126
+ if (!token) {
127
+ return reply.send({ pushed: false, reason: 'this request carried no bearer token to push' });
128
+ }
129
+ const pushed = await (0, remote_agent_identity_1.pushRemoteAgentToken)(cfg.port, cfg.user, token);
130
+ return reply.send(pushed
131
+ ? { pushed: true, path: `~/${remote_agent_identity_1.REMOTE_TOKEN_PATH}` }
132
+ : { pushed: false, reason: 'your machine did not accept the token over the reverse tunnel (tunnel down or key not authorized)' });
133
+ });
114
134
  fastify.put('/api/terminals/agent-config', async (request, reply) => {
115
135
  const body = request.body || {};
116
136
  // Only fields actually present are touched (undefined keeps, null erases).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nebula-notebook",
3
- "version": "0.2.20",
3
+ "version": "0.2.21",
4
4
  "description": "AI-native notebook computing environment — real Jupyter kernels, real filesystem, built to be driven by agents (Claude Code / Codex) via MCP",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1,32 +0,0 @@
1
- /*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-600:oklch(58.8% .158 241.966);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-indigo-950:oklch(25.7% .09 281.288);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-800:oklch(43.2% .232 292.759);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-16{top:calc(var(--spacing) * 16)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-24{bottom:calc(var(--spacing) * 24)}.left-0{left:calc(var(--spacing) * 0)}.left-1{left:calc(var(--spacing) * 1)}.left-1\/2{left:50%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[80\]{z-index:80}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.z-\[102\]{z-index:102}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-auto{margin:auto}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.-ml-1\.5{margin-left:calc(var(--spacing) * -1.5)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-32{height:calc(var(--spacing) * 32)}.h-904{height:calc(var(--spacing) * 904)}.h-\[24rem\]{height:24rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-20{max-height:calc(var(--spacing) * 20)}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[9\.375rem\]{max-height:9.375rem}.max-h-\[12\.5rem\]{max-height:12.5rem}.max-h-\[18\.75rem\]{max-height:18.75rem}.max-h-\[32rem\]{max-height:32rem}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[75vh\]{max-height:75vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[1\.5rem\]{min-height:1.5rem}.min-h-\[2\.5rem\]{min-height:2.5rem}.min-h-\[18rem\]{min-height:18rem}.min-h-\[20rem\]{min-height:20rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-\[1px\]{width:1px}.w-full{width:100%}.w-max{width:max-content}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-72{max-width:calc(var(--spacing) * 72)}.max-w-\[6\.5rem\]{max-width:6.5rem}.max-w-\[6\.25rem\]{max-width:6.25rem}.max-w-\[9rem\]{max-width:9rem}.max-w-\[11\.25rem\]{max-width:11.25rem}.max-w-\[12\.5rem\]{max-width:12.5rem}.max-w-\[15rem\]{max-width:15rem}.max-w-\[20rem\]{max-width:20rem}.max-w-\[22rem\]{max-width:22rem}.max-w-\[24rem\]{max-width:24rem}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-\[1\.5rem\]{min-width:1.5rem}.min-w-\[3\.75rem\]{min-width:3.75rem}.min-w-\[6\.25rem\]{min-width:6.25rem}.min-w-\[10rem\]{min-width:10rem}.min-w-\[12\.5rem\]{min-width:12.5rem}.min-w-\[14rem\]{min-width:14rem}.min-w-\[15rem\]{min-width:15rem}.min-w-\[17\.5rem\]{min-width:17.5rem}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.resize{resize:both}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-slate-100>:not(:last-child)){border-color:var(--color-slate-100)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-b-xl{border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-100{border-color:var(--color-amber-100)}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-400{border-color:var(--color-amber-400)}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-400{border-color:var(--color-blue-400)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-current,.border-current\/30{border-color:currentColor}@supports (color:color-mix(in lab,red,red)){.border-current\/30{border-color:color-mix(in oklab,currentcolor 30%,transparent)}}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-green-100{border-color:var(--color-green-100)}.border-green-200{border-color:var(--color-green-200)}.border-green-500{border-color:var(--color-green-500)}.border-indigo-100{border-color:var(--color-indigo-100)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-indigo-300{border-color:var(--color-indigo-300)}.border-indigo-700{border-color:var(--color-indigo-700)}.border-indigo-800{border-color:var(--color-indigo-800)}.border-orange-400{border-color:var(--color-orange-400)}.border-purple-100{border-color:var(--color-purple-100)}.border-purple-200{border-color:var(--color-purple-200)}.border-purple-300{border-color:var(--color-purple-300)}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-400{border-color:var(--color-red-400)}.border-red-500{border-color:var(--color-red-500)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-400{border-color:var(--color-slate-400)}.border-transparent{border-color:#0000}.border-violet-100{border-color:var(--color-violet-100)}.border-violet-200{border-color:var(--color-violet-200)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.border-t-transparent{border-top-color:#0000}.border-t-white{border-top-color:var(--color-white)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-600{background-color:var(--color-amber-600)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black) 20%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\/30{background-color:#eff6ff4d}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/30{background-color:color-mix(in oklab,var(--color-blue-50) 30%,transparent)}}.bg-blue-50\/40{background-color:#eff6ff66}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/40{background-color:color-mix(in oklab,var(--color-blue-50) 40%,transparent)}}.bg-blue-50\/50{background-color:#eff6ff80}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/50{background-color:color-mix(in oklab,var(--color-blue-50) 50%,transparent)}}.bg-blue-50\/80{background-color:#eff6ffcc}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/80{background-color:color-mix(in oklab,var(--color-blue-50) 80%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-100\/50{background-color:#dbeafe80}@supports (color:color-mix(in lab,red,red)){.bg-blue-100\/50{background-color:color-mix(in oklab,var(--color-blue-100) 50%,transparent)}}.bg-blue-100\/70{background-color:#dbeafeb3}@supports (color:color-mix(in lab,red,red)){.bg-blue-100\/70{background-color:color-mix(in oklab,var(--color-blue-100) 70%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-50\/50{background-color:#eef2ff80}@supports (color:color-mix(in lab,red,red)){.bg-indigo-50\/50{background-color:color-mix(in oklab,var(--color-indigo-50) 50%,transparent)}}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-indigo-900\/70{background-color:#312c85b3}@supports (color:color-mix(in lab,red,red)){.bg-indigo-900\/70{background-color:color-mix(in oklab,var(--color-indigo-900) 70%,transparent)}}.bg-indigo-950{background-color:var(--color-indigo-950)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-50\/30{background-color:#fff7ed4d}@supports (color:color-mix(in lab,red,red)){.bg-orange-50\/30{background-color:color-mix(in oklab,var(--color-orange-50) 30%,transparent)}}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-200{background-color:var(--color-purple-200)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-purple-700{background-color:var(--color-purple-700)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-50\/30{background-color:#fef2f24d}@supports (color:color-mix(in lab,red,red)){.bg-red-50\/30{background-color:color-mix(in oklab,var(--color-red-50) 30%,transparent)}}.bg-red-100{background-color:var(--color-red-100)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/50{background-color:#f8fafc80}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/50{background-color:color-mix(in oklab,var(--color-slate-50) 50%,transparent)}}.bg-slate-50\/70{background-color:#f8fafcb3}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/70{background-color:color-mix(in oklab,var(--color-slate-50) 70%,transparent)}}.bg-slate-50\/80{background-color:#f8fafccc}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/80{background-color:color-mix(in oklab,var(--color-slate-50) 80%,transparent)}}.bg-slate-50\/90{background-color:#f8fafce6}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/90{background-color:color-mix(in oklab,var(--color-slate-50) 90%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-200\/30{background-color:#e2e8f04d}@supports (color:color-mix(in lab,red,red)){.bg-slate-200\/30{background-color:color-mix(in oklab,var(--color-slate-200) 30%,transparent)}}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-500\/10{background-color:#62748e1a}@supports (color:color-mix(in lab,red,red)){.bg-slate-500\/10{background-color:color-mix(in oklab,var(--color-slate-500) 10%,transparent)}}.bg-slate-700{background-color:var(--color-slate-700)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-800\/70{background-color:#1d293db3}@supports (color:color-mix(in lab,red,red)){.bg-slate-800\/70{background-color:color-mix(in oklab,var(--color-slate-800) 70%,transparent)}}.bg-slate-800\/90{background-color:#1d293de6}@supports (color:color-mix(in lab,red,red)){.bg-slate-800\/90{background-color:color-mix(in oklab,var(--color-slate-800) 90%,transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-900\/30{background-color:#0f172b4d}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/30{background-color:color-mix(in oklab,var(--color-slate-900) 30%,transparent)}}.bg-slate-900\/40{background-color:#0f172b66}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/40{background-color:color-mix(in oklab,var(--color-slate-900) 40%,transparent)}}.bg-slate-900\/70{background-color:#0f172bb3}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/70{background-color:color-mix(in oklab,var(--color-slate-900) 70%,transparent)}}.bg-slate-950{background-color:var(--color-slate-950)}.bg-slate-950\/80{background-color:#020618cc}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/80{background-color:color-mix(in oklab,var(--color-slate-950) 80%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-100{background-color:var(--color-violet-100)}.bg-white{background-color:var(--color-white)}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\/70{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-indigo-500{--tw-gradient-from:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-500{--tw-gradient-from:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-indigo-500{--tw-gradient-via:var(--color-indigo-500);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-blue-500{--tw-gradient-to:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.625rem\]{font-size:.625rem}.text-\[0\.5625rem\]{font-size:.5625rem}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[11px\]{font-size:11px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-blue-200{color:var(--color-blue-200)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-cyan-500{color:var(--color-cyan-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-50{color:var(--color-indigo-50)}.text-indigo-100{color:var(--color-indigo-100)}.text-indigo-200{color:var(--color-indigo-200)}.text-indigo-200\/80{color:#c7d2ffcc}@supports (color:color-mix(in lab,red,red)){.text-indigo-200\/80{color:color-mix(in oklab,var(--color-indigo-200) 80%,transparent)}}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-indigo-800{color:var(--color-indigo-800)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-purple-200{color:var(--color-purple-200)}.text-purple-300{color:var(--color-purple-300)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-purple-900{color:var(--color-purple-900)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-sky-600{color:var(--color-sky-600)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-transparent{color:#0000}.text-violet-500{color:var(--color-violet-500)}.text-violet-700{color:var(--color-violet-700)}.text-violet-800{color:var(--color-violet-800)}.text-white{color:var(--color-white)}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white) 85%,transparent)}}.text-yellow-500{color:var(--color-yellow-500)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-blue-200{-webkit-text-decoration-color:var(--color-blue-200);text-decoration-color:var(--color-blue-200)}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-blue-100{--tw-ring-color:var(--color-blue-100)}.ring-blue-300{--tw-ring-color:var(--color-blue-300)}.ring-blue-400{--tw-ring-color:var(--color-blue-400)}.ring-green-100{--tw-ring-color:var(--color-green-100)}.ring-orange-100{--tw-ring-color:var(--color-orange-100)}.ring-purple-200{--tw-ring-color:var(--color-purple-200)}.ring-purple-300{--tw-ring-color:var(--color-purple-300)}.ring-red-100{--tw-ring-color:var(--color-red-100)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}@media(hover:hover){.group-hover\:pointer-events-auto:is(:where(.group):hover *){pointer-events:auto}.group-hover\:bg-blue-200:is(:where(.group):hover *){background-color:var(--color-blue-200)}.group-hover\:bg-green-200:is(:where(.group):hover *){background-color:var(--color-green-200)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.selection\:bg-blue-100 ::selection{background-color:var(--color-blue-100)}.selection\:bg-blue-100::selection{background-color:var(--color-blue-100)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.odd\:bg-white:nth-child(odd){background-color:var(--color-white)}.even\:bg-slate-50\/50:nth-child(2n){background-color:#f8fafc80}@supports (color:color-mix(in lab,red,red)){.even\:bg-slate-50\/50:nth-child(2n){background-color:color-mix(in oklab,var(--color-slate-50) 50%,transparent)}}@media(hover:hover){.hover\:border-blue-300:hover{border-color:var(--color-blue-300)}.hover\:border-blue-400:hover{border-color:var(--color-blue-400)}.hover\:border-green-400:hover{border-color:var(--color-green-400)}.hover\:border-indigo-300:hover{border-color:var(--color-indigo-300)}.hover\:border-indigo-400:hover{border-color:var(--color-indigo-400)}.hover\:border-purple-300:hover{border-color:var(--color-purple-300)}.hover\:border-red-300:hover{border-color:var(--color-red-300)}.hover\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\:bg-amber-50:hover{background-color:var(--color-amber-50)}.hover\:bg-amber-100:hover{background-color:var(--color-amber-100)}.hover\:bg-amber-700:hover{background-color:var(--color-amber-700)}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-50\/60:hover{background-color:#eff6ff99}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-50\/60:hover{background-color:color-mix(in oklab,var(--color-blue-50) 60%,transparent)}}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-green-50:hover{background-color:var(--color-green-50)}.hover\:bg-green-100:hover{background-color:var(--color-green-100)}.hover\:bg-indigo-50:hover{background-color:var(--color-indigo-50)}.hover\:bg-indigo-50\/60:hover{background-color:#eef2ff99}@supports (color:color-mix(in lab,red,red)){.hover\:bg-indigo-50\/60:hover{background-color:color-mix(in oklab,var(--color-indigo-50) 60%,transparent)}}.hover\:bg-indigo-100:hover{background-color:var(--color-indigo-100)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-indigo-900:hover{background-color:var(--color-indigo-900)}.hover\:bg-purple-50:hover{background-color:var(--color-purple-50)}.hover\:bg-purple-50\/60:hover{background-color:#faf5ff99}@supports (color:color-mix(in lab,red,red)){.hover\:bg-purple-50\/60:hover{background-color:color-mix(in oklab,var(--color-purple-50) 60%,transparent)}}.hover\:bg-purple-100:hover{background-color:var(--color-purple-100)}.hover\:bg-purple-700:hover{background-color:var(--color-purple-700)}.hover\:bg-purple-800:hover{background-color:var(--color-purple-800)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-red-200:hover{background-color:var(--color-red-200)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-slate-200\/50:hover{background-color:#e2e8f080}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-200\/50:hover{background-color:color-mix(in oklab,var(--color-slate-200) 50%,transparent)}}.hover\:bg-slate-300:hover{background-color:var(--color-slate-300)}.hover\:bg-slate-300\/50:hover{background-color:#cad5e280}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-300\/50:hover{background-color:color-mix(in oklab,var(--color-slate-300) 50%,transparent)}}.hover\:bg-slate-700:hover{background-color:var(--color-slate-700)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:bg-slate-900:hover{background-color:var(--color-slate-900)}.hover\:bg-violet-100:hover{background-color:var(--color-violet-100)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-amber-600:hover{color:var(--color-amber-600)}.hover\:text-amber-700:hover{color:var(--color-amber-700)}.hover\:text-amber-800:hover{color:var(--color-amber-800)}.hover\:text-amber-900:hover{color:var(--color-amber-900)}.hover\:text-blue-600:hover{color:var(--color-blue-600)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-green-600:hover{color:var(--color-green-600)}.hover\:text-green-700:hover{color:var(--color-green-700)}.hover\:text-green-800:hover{color:var(--color-green-800)}.hover\:text-orange-500:hover{color:var(--color-orange-500)}.hover\:text-purple-600:hover{color:var(--color-purple-600)}.hover\:text-purple-800:hover{color:var(--color-purple-800)}.hover\:text-purple-900:hover{color:var(--color-purple-900)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-red-800:hover{color:var(--color-red-800)}.hover\:text-slate-500:hover{color:var(--color-slate-500)}.hover\:text-slate-600:hover{color:var(--color-slate-600)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}.hover\:text-slate-800:hover{color:var(--color-slate-800)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-blue-400:hover{-webkit-text-decoration-color:var(--color-blue-400);text-decoration-color:var(--color-blue-400)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-blue-400:focus{border-color:var(--color-blue-400)}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:border-transparent:focus{border-color:#0000}.focus\:bg-blue-50:focus{background-color:var(--color-blue-50)}.focus\:opacity-100:focus{opacity:1}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-amber-500:focus{--tw-ring-color:var(--color-amber-500)}.focus\:ring-blue-400:focus{--tw-ring-color:var(--color-blue-400)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-blue-500\/30:focus{--tw-ring-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.focus\:ring-blue-500\/30:focus{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.focus\:ring-indigo-300:focus{--tw-ring-color:var(--color-indigo-300)}.focus\:ring-purple-400:focus{--tw-ring-color:var(--color-purple-400)}.focus\:ring-purple-500:focus{--tw-ring-color:var(--color-purple-500)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-slate-500:focus{--tw-ring-color:var(--color-slate-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:bg-slate-300:disabled{background-color:var(--color-slate-300)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:shadow-none:disabled{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}@media(min-width:40rem){.sm\:inline{display:inline}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}}@media(min-width:48rem){.md\:inline{display:inline}.md\:max-w-\[10rem\]{max-width:10rem}.md\:max-w-\[14rem\]{max-width:14rem}}@media(min-width:64rem){.lg\:col-span-3{grid-column:span 3/span 3}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:items-stretch{align-items:stretch}}@media(prefers-color-scheme:dark){.dark\:border-slate-700{border-color:var(--color-slate-700)}.dark\:bg-slate-700{background-color:var(--color-slate-700)}.dark\:bg-slate-800{background-color:var(--color-slate-800)}.dark\:text-slate-300{color:var(--color-slate-300)}.dark\:text-slate-400{color:var(--color-slate-400)}@media(hover:hover){.dark\:hover\:bg-slate-700:hover{background-color:var(--color-slate-700)}}}}:root{--ui-scale:.9}html{font-size:calc(16px * var(--ui-scale));scroll-behavior:smooth}.cm-editor,.cm-editor:focus,.cm-editor:focus-within,.cm-editor.cm-focused{outline:none}@media(min-width:1024px){.nebula-filebrowser-offset{padding-left:var(--nebula-filebrowser-width,18rem)}.nebula-chat-offset{padding-right:20rem}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-in.slide-in-from-top-2{animation:.2s ease-out slideInFromTop}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-in.fade-in{animation:.2s ease-out fadeIn}@keyframes loadingBar{0%{width:0%;margin-left:0%}50%{width:60%;margin-left:20%}to{width:0%;margin-left:100%}}.animate-loading-bar{animation:1.2s ease-in-out infinite loadingBar}@keyframes cellHighlight{0%{background-color:#3b82f61a;box-shadow:0 0 #3b82f680}25%{background-color:#3b82f626;box-shadow:0 0 0 4px #3b82f666}50%{background-color:#3b82f61a;box-shadow:0 0 0 4px #3b82f64d}to{background-color:#0000;box-shadow:0 0 #3b82f600}}.cell-highlight-animation{animation:1.5s ease-out forwards cellHighlight}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}/**
2
- * Copyright (c) 2014 The xterm.js authors. All rights reserved.
3
- * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
4
- * https://github.com/chjj/term.js
5
- * @license MIT
6
- *
7
- * Permission is hereby granted, free of charge, to any person obtaining a copy
8
- * of this software and associated documentation files (the "Software"), to deal
9
- * in the Software without restriction, including without limitation the rights
10
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
- * copies of the Software, and to permit persons to whom the Software is
12
- * furnished to do so, subject to the following conditions:
13
- *
14
- * The above copyright notice and this permission notice shall be included in
15
- * all copies or substantial portions of the Software.
16
- *
17
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
- * THE SOFTWARE.
24
- *
25
- * Originally forked from (with the author's permission):
26
- * Fabrice Bellard's javascript vt100 for jslinux:
27
- * http://bellard.org/jslinux/
28
- * Copyright (c) 2011 Fabrice Bellard
29
- * The original design remains. The terminal itself
30
- * has been extended to include xterm CSI codes, among
31
- * other features.
32
- */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}