knitting 0.1.61 → 0.1.63

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.
package/README.md CHANGED
@@ -345,7 +345,7 @@ Common options you might tweak:
345
345
  | `worker.processSharedMemory` | Process-worker memory discovery: `"inherit"` by default on POSIX, or `"named"` for wrappers/containers that cannot preserve fd 0. |
346
346
  | `permission` | Runtime permission policy for workers. |
347
347
  | `host.dispatcher` | Experimental host dispatcher topology: `"per-thread"` or `"serial-channel"`. |
348
- | `host.steal` | Shared-submit work stealing for multi-worker thread pools; enabled by default. Set `false` to use private submit lanes. |
348
+ | `host.steal` | Shared-submit work stealing for compatible multi-worker thread/process pools; enabled by default. Set `false` to use private submit lanes. |
349
349
  | `debug` | Enable diagnostics (`host`, `globals`, `signals`, `imports`, `lifecycle`) or use `KNITTING_DEBUG`. |
350
350
  | `source` | Worker source override for advanced runtimes. |
351
351
 
@@ -355,14 +355,15 @@ multi-worker Node/Deno pools use `"serial-channel"`. Selecting a dispatcher or
355
355
  balancer explicitly preserves that private-lane topology unless
356
356
  `host.steal: true` is also explicit.
357
357
 
358
- Ordinary multi-worker thread pools use shared-submit work stealing by default.
359
- It is not used by one-worker pools, the inliner, process workers, compiled/
360
- Porffor workers, or pools with an explicit balancer/dispatcher, so those modes
361
- retain their existing transport. Pools above the current 31-claimant protocol
362
- limit also fall back. Set `host: { steal: false }` or `KNITTING_STEAL=0` to opt
363
- out for uniformly cheap, low-concurrency workloads where arbitration has
364
- nothing to rebalance. `host: { steal: true }` or `KNITTING_STEAL=1` forces it
365
- for an otherwise compatible thread pool.
358
+ Ordinary multi-worker thread and process pools use shared-submit work stealing
359
+ by default. It is not used by one-worker pools, the inliner, compiled/Porffor
360
+ workers, or pools with an explicit balancer/dispatcher, so those modes retain
361
+ their existing transport. Process workers use one process-shared submit region
362
+ and one private return region per process. Pools above the current 31-claimant
363
+ protocol limit also fall back. Set `host: { steal: false }` or
364
+ `KNITTING_STEAL=0` to opt out for uniformly cheap, low-concurrency workloads
365
+ where arbitration has nothing to rebalance. `host: { steal: true }` or
366
+ `KNITTING_STEAL=1` forces it for an otherwise compatible pool.
366
367
 
367
368
  ### Worker bootstrap
368
369
 
@@ -1 +1 @@
1
- var Is=Object.defineProperty;var Ms=(e)=>e;function Fs(e,r){this[e]=Ms.bind(null,r)}var Ns=(e,r)=>{for(var t in r)Is(e,t,{get:r[t],enumerable:!0,configurable:!0,set:Fs.bind(r,t)})};var Os=(e,r)=>()=>(e&&(r=e(e=0)),r);var ro=()=>({keys:new Set(Reflect.ownKeys(globalThis))}),Da=(e,r)=>{let t=[],n=[];for(let a of r.keys)if(!e.keys.has(a))t.push(a);for(let a of e.keys)if(!r.keys.has(a))n.push(a);return{added:t,removed:n}},Wa=(e)=>{let r=typeof e==="symbol"?e.toString():e,t;try{t=Object.getOwnPropertyDescriptor(globalThis,e)}catch{return r}if(t===void 0)return r;let n=t.get!==void 0||t.set!==void 0?"accessor":typeof t.value,a=`${t.writable===!1?"":"w"}${t.configurable?"c":""}${t.enumerable?"e":""}`;return a.length>0?`${r} (${n} ${a})`:`${r} (${n})`};var Ua={};Ns(Ua,{initDebug:()=>Cu});var Cu=({name:e,runtime:r,namespaces:t})=>{let n=t.has("*"),a=(x)=>n||t.has(x),u=performance.now(),c=`${e}·${r}`,l=(x,W)=>{if(!a(x))return;let k=(performance.now()-u).toFixed(1);console.error(`[${c}·+${k}ms] ${x}: ${W}`)},A=a("globals")?ro():void 0;return{enabled:a,log:l,envPhase:(x)=>{if(A===void 0)return;let W=ro(),{added:k,removed:p}=Da(A,W);if(A=W,k.length===0&&p.length===0){l("globals",`${x}: no new globals`);return}if(k.length>0)l("globals",`${x} +${k.length}: ${k.map(Wa).join(" ")}`);if(p.length>0)l("globals",`${x} -${p.length}: ${p.map(String).join(" ")}`)}}};var Ha=()=>{};var lt=(()=>{let e=globalThis.process;return typeof e?.versions?.node==="string"?e:void 0})(),Ue=()=>lt,dt=(e)=>{let r=lt?.getBuiltinModule;if(typeof r!=="function")return;try{return r.call(lt,e)}catch{}if(!e.startsWith("node:"))return;try{return r.call(lt,e.slice(5))}catch{return}};var br=globalThis,Ds=Ue(),lo=typeof br.Deno?.version?.deno==="string",qr=typeof br.Bun?.version==="string",yo=typeof Ds?.versions?.node==="string",Sr=typeof br.__andromeda__<"u",en=!lo&&!qr&&!yo&&!Sr&&(typeof br.document<"u"||typeof br.WorkerGlobalScope==="function"),Qe=lo?"deno":qr?"bun":yo?"node":Sr?"andromeda":en?"browser":"unknown",Zt=br.WebAssembly,rn=typeof br.setImmediate==="function"?br.setImmediate:void 0,Ws=65536,yt=new WeakMap,pt=new WeakMap,tn=(()=>{if(typeof Zt?.Memory!=="function")return!1;try{return new Zt.Memory({initial:0,maximum:1,shared:!0}),!0}catch{return!1}})();var Vr=(e)=>Math.ceil(Math.max(0,e)/Ws),po=(e,r)=>{let t=new Zt.Memory({initial:Vr(e),maximum:Math.max(Vr(e),Vr(r)),shared:!0}),n=t.buffer;return yt.set(n,t),pt.set(n,r),n},Pr=(e,r=e)=>{if(tn)return po(e,r);return new SharedArrayBuffer(e)},nn=typeof SharedArrayBuffer==="function"&&typeof SharedArrayBuffer.prototype.grow==="function",mt=nn||tn,He=(e,r)=>{if(nn&&typeof r==="number")return new SharedArrayBuffer(e,{maxByteLength:r});if(tn&&typeof r==="number")return po(e,r);return new SharedArrayBuffer(e)};var mo=(e)=>{let r=e;return nn&&typeof r.grow==="function"&&r.growable===!0||yt.has(e)},go=(e)=>{let r=e;if(typeof r.maxByteLength==="number")return r.maxByteLength;return pt.get(e)??e.byteLength},ho=(e,r)=>{let t=e;if(typeof t.grow==="function")return t.grow(r),e;let n=yt.get(e);if(n==null)throw TypeError("SharedArrayBuffer is not growable");let a=n.buffer;if(a.byteLength>=r)return a;let u=Vr(r),c=Vr(a.byteLength);n.grow(u-c);let l=n.buffer,A=pt.get(e)??a.byteLength;return yt.set(l,n),pt.set(l,A),l};var Us="KNITTING_PROCESS_WORKER";var Hs="KNITTING_POOL_DEPTH",gt=Ue(),Ar=gt?.env?.[Us]==="1",js=()=>{let e=gt?.env?.[Hs];if(typeof e!=="string")return 0;let r=Number.parseInt(e,10);return Number.isFinite(r)&&r>0?r:0},on=js(),Ir=dt("node:worker_threads"),Ks=()=>{let e=globalThis.WorkerGlobalScope;if(typeof e==="function")try{if(globalThis instanceof e)return!0}catch{}if(Sr&&typeof globalThis.self<"u")return!0;return!1},So=Ir?.Worker??globalThis.Worker,bo=Ir?.MessageChannel??globalThis.MessageChannel,an=Ir!=null,Br=Ar?!1:Ir?.isMainThread??!Ks(),Qr=Ir?.workerData,Jr=Ir?.parentPort??(Ar&&typeof gt?.send==="function"?{postMessage:(e)=>gt.send(e)}:void 0),Mr=()=>{if(typeof bo!=="function")throw Error("MessageChannel is not available in this runtime");return new bo},Ao=(e,r)=>{if(typeof e.on==="function"){e.on("message",r);return}if(typeof e.addEventListener==="function"){e.addEventListener("message",(t)=>r(t?.data));return}e.onmessage=(t)=>r(t?.data)};var Xr=(e)=>e instanceof SharedArrayBuffer||e instanceof ArrayBuffer,Gs=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return Xr(r.sab)&&typeof r.byteOffset==="number"&&Number.isInteger(r.byteOffset)&&r.byteOffset>=0&&typeof r.byteLength==="number"&&Number.isInteger(r.byteLength)&&r.byteLength>=0},Je=(e)=>Xr(e)||Gs(e),je=(e)=>Xr(e)?{sab:e,byteOffset:0,byteLength:e.byteLength}:e;var Bo=new TextEncoder,$s=new TextDecoder,wo=(e)=>e instanceof TypeError,zs=(e)=>{let r=je(e),t=Math.min(1,r.byteLength);return new Uint8Array(r.sab,r.byteOffset,t)},To=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return typeof r.encodeInto==="boolean"&&typeof r.decode==="boolean"},ht=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return To(r.headers)&&To(r.payload)},ko=(e)=>{let r=zs(e),t=(()=>{if(typeof Bo.encodeInto!=="function")return!1;let a=r.byteLength>0?r:r.subarray(0,0),u=a.byteLength>0?a[0]:void 0;try{return Bo.encodeInto(a.byteLength>0?"a":"",a),!0}catch(c){if(!wo(c))throw c;return!1}finally{if(u!==void 0)a[0]=u}})(),n=(()=>{try{return $s.decode(r),!0}catch(a){if(!wo(a))throw a;return!1}})();return{encodeInto:t,decode:n}},Fr=({headers:e,payload:r})=>({headers:ko(e),payload:ko(r)});class ar{#e;#t;#n=0;#o=0;#r=0;constructor(e=512){let r=2;while(r<e)r<<=1;this.#e=Array(r).fill(null),this.#t=r-1}get size(){return this.#r}get isEmpty(){return this.#r===0}get capacity(){return this.#t+1}clear(){this.#n=0,this.#o=0,this.#r=0}peek(){return this.#r===0?void 0:this.#e[this.#n]}reserve(e){if(e<=this.capacity)return;let r=this.capacity;while(r<e)r<<=1;this.#s(r)}#a(){if(this.#r!==this.#t+1)return;this.#s(this.#t+1<<1)}#s(e){let r=this.#e,t=this.#t+1,n=this.#r,a=Array(e).fill(null),u=this.#n,c=Math.min(n,t-u);for(let l=0;l<c;l++)a[l]=r[u+l];for(let l=c;l<n;l++)a[l]=r[l-c];this.#e=a,this.#t=e-1,this.#n=0,this.#o=n}push(e){this.#a();let r=this.#e,t=this.#t,n=this.#o;return r[n]=e,this.#o=n+1&t,this.#r++,!0}unshift(e){this.#a();let r=this.#e,t=this.#t,n=this.#n-1&t;return this.#n=n,r[n]=e,this.#r++,!0}shift(){let e=this.#r;if(e===0)return;let r=this.#n,t=this.#e,n=t[r];return t[r]=null,this.#n=r+1&this.#t,this.#r=e-1,n}shiftNoClear(){let e=this.#r;if(e===0)return;let r=this.#n,t=this.#e[r];return this.#n=r+1&this.#t,this.#r=e-1,t}*[Symbol.iterator](){let e=this.#e,r=this.#t,t=this.#n,n=0,a=this.#r;while(n<a){let u=e[t];if(u!==null)yield u;t=t+1&r,n++}}toArray(){let e=Array(this.#r),r=this.#e,t=this.#t,n=this.#n;for(let a=0;a<e.length;a++)e[a]=r[n],n=n+1&t;return e}get[Symbol.toStringTag](){return`RingQueue(size=${this.#r}, cap=${this.capacity})`}}var Ys=67108864,Vs=4194304,Nr=(e)=>{if(!Number.isFinite(e))return;let r=Math.floor(e);return r>0?r:void 0},qs=(e)=>{if(e==null)return!1;return e instanceof SharedArrayBuffer&&mt&&mo(e)},Qs=(e)=>{if(e==null)return;if(e instanceof SharedArrayBuffer)return Nr(go(e));return Nr(e.byteLength)},cr=({options:e,sab:r})=>{let t=r===void 0?void 0:je(r),n=t?.sab,c=e?.mode??(mt?"growable":"fixed");if(c==="growable"&&n!=null&&!qs(n))c="fixed";if(c==="growable"&&!mt)c="fixed";let l=Nr(e?.payloadMaxByteLength)??Nr(t?.byteLength)??Qs(n)??Ys,A=Nr(e?.payloadInitialBytes),F=c==="fixed"?l:Math.min(A??Vs,l),x=l>>3;if(x<=0)throw RangeError("payloadMaxByteLength is too small; must be at least 8 bytes.");let W=e?.maxPayloadBytes;if(W!==void 0){let p=Math.floor(W);if(!Number.isFinite(p)||p<=0)throw RangeError(`maxPayloadBytes must be > 0 and <= ${x}.`)}let k=Nr(W)??x;if(k<=0||k>x)throw RangeError(`maxPayloadBytes must be > 0 and <= ${x}.`);return{mode:c,payloadInitialBytes:F,payloadMaxByteLength:l,maxPayloadBytes:k}};var un,cn,Eo=(e,r)=>{un=e,cn=r},Ke={UNREACHABLE:0,BigInt:2,True:3,False:4,Undefined:5,NaN:6,Float64:9,Null:10},v={BORDER_SIGNAL_BUFFER:11,String:11,Json:12,StaticString:15,StaticJson:16,Binary:17,StaticBinary:18,Int32Array:19,Float64Array:20,BigInt64Array:21,BigUint64Array:22,DataView:23,Error:24,Date:25,Symbol:26,StaticSymbol:27,BigInt:28,StaticBigInt:29,StaticInt32Array:31,StaticFloat64Array:32,StaticBigInt64Array:33,StaticBigUint64Array:34,StaticDataView:35,ArrayBuffer:36,StaticArrayBuffer:37,Buffer:38,StaticBuffer:39,EnvelopeStaticHeader:40,EnvelopeDynamicHeader:41,EnvelopeStaticHeaderString:42,EnvelopeDynamicHeaderString:43,ExternalPayload:44,StaticExternalPayload:45,ProcessSharedBuffer:46,BufferReference:47,SharedArrayBuffer:48,EnvelopeStaticHeaderExternal:49,EnvelopeDynamicHeaderExternal:50,EnvelopeStaticHeaderStringExternal:51,EnvelopeDynamicHeaderStringExternal:52,NumericArray:53,StaticNumericArray:54},Ro={};for(let e of Object.keys(v))Ro[v[e]]=e;var xo=(e)=>Ro[e]??String(e),Se={paddingLock:0,padding:0,slots:32,header:0},Bt=64,Js=256,Xs=Symbol.for("knitting.payloadCodec.transportFinalizer");var Ve=7,At=1,bt=2,wt=(e)=>{let r=e[Ve];if((r&At)!==0)return!1;return e[Ve]=(r|At)>>>0,!0},et=(e)=>{e[Ve]=(e[Ve]&~At)>>>0},sn=(e)=>(e[Ve]&At)!==0,ln=(e)=>{e[Ve]=0},Zs=(e,r)=>{let t=e.finalize;e.finalize=t===void 0?r:()=>{try{t()}finally{r()}}},wr=(e,r)=>{if(e.finalize!==void 0||r===null||typeof r!=="object")return;let t=r[Xs]?.();if(typeof t==="function")Zs(e,t)},Or=(e)=>{let r=e.finalize;if(e.finalize=void 0,r!==void 0)try{r()}catch{}},s={FlagsToHost:0,FunctionID:0,ID:1,Type:2,Start:3,End:4,PayloadLen:5,slotBuffer:6,Size:8,TotalBuff:144},Tt=5,Dr=(1<<Tt)-1,$c=32-Tt,kt=4294967295>>>Tt,zc=~Dr>>>0,Et=16,ei=(1<<Et)-1,Yc=32-Et,ri=4294967295>>>Et,Vc=~ei>>>0;var Lo=(e)=>e[s.FunctionID]>>>Et&ri;var vo=(e)=>e[s.slotBuffer]&Dr;var Po=(e)=>e[s.slotBuffer]>>>Tt&kt;var Rt={Reject:1},qc=Int32Array.BYTES_PER_ELEMENT,ti=Se.paddingLock,ni=Bt,Wr=Js,_o=Bt*2,Co=Bt*3;var fr=Se.header+s.TotalBuff,Qc=fr*Uint32Array.BYTES_PER_ELEMENT,oi=Bt/Uint32Array.BYTES_PER_ELEMENT,rt=s.TotalBuff-oi,Io=rt,dn=Io+s.Size,ai=dn+1,si=dn+2,ii=si+1,ui=Se.header+fr*Se.slots,yn=ui*Uint32Array.BYTES_PER_ELEMENT,ci=0,Jc=Ke.UNREACHABLE,Zr=(e)=>{},Mo=()=>{let e=new Uint32Array(s.Size);return e.value=null,e.finalize=void 0,e.resolve=Zr,e.reject=Zr,e[Ve]=0,e},Fo=()=>{let e=Mo();return e[s.ID]=ci++,e},fn=(e,r,t)=>{e[0]=r[t],e[1]=r[t+1],e[2]=r[t+2],e[3]=r[t+3],e[4]=r[t+4],e[5]=r[t+5],e[6]=r[t+6],e[Ve]=0},fi=(e,r)=>{let t=Mo();return fn(t,e,r),t},St=(e)=>{if(e[s.FlagsToHost]===0)e.resolve(e.value);else e.reject(e.value),e[s.FlagsToHost]=0},Tr=({headers:e,headerSlotStrideU32:r,LockBoundSector:t,payload:n,payloadConfig:a,payloadSector:u,textCompat:c,resultList:l,toSentList:A,recycleList:F,processBoundary:x,consumers:W,consumerId:k,regionLanes:p})=>{let H=je(t??Pr(Wr)),L=H.sab,B=new Int32Array(L,H.byteOffset+ti,1),I=new Int32Array(L,H.byteOffset+ni,1),ee=je(e??Pr(yn)),_=new Uint32Array(ee.sab,ee.byteOffset,ee.byteLength>>>2),G=r??fr,O=cr({sab:n,options:a}),ue=n??(O.mode==="growable"?He(O.payloadInitialBytes,O.payloadMaxByteLength):He(O.payloadInitialBytes)),ae=je(u??H),K=c??Fr({headers:ee,payload:ue}),U=Math.max(1,(W??1)|0),z=U>1,Q=k===void 0,J=(k??0)|0,ne=(p??8)|0,te=Se.slots/ne|0;if(z){if(ne<1||(ne&ne-1)!==0)throw RangeError("regionLanes must be a power of two");if(te<U)throw RangeError(`regionLanes=${ne} yields ${te} regions, too few for ${U} consumers`);if(J<0||J>=U)throw RangeError(`consumerId ${J} out of range`)}let ie=new Int32Array(ee.sab,ee.byteOffset,ee.byteLength>>>2),i=new Int32Array(U),P=new Int32Array(U);for(let T=0;T<U;T++){let S=T*G+Se.header;i[T]=S+dn,P[T]=S+ai}let d=Se.header+ii,g=U===32?-1:(1<<U)-1|0;if(z&&Q)Atomics.store(ie,d,g);let f=(T,S)=>(T&1<<S)!==0,m=()=>{let T=0;for(let S=0;S<U;S++)T=T^de(ie,i[S])|0;return T},h;if(un===void 0||cn===void 0)throw Error('Payload codec not registered before lock2(). Ensure the module that builds locks imports "./payloadCodec.ts" (it self-registers on load).');let j=un({payload:{sab:ue,config:O},headersBuffer:_,headerSlotStrideU32:G,lockSector:ae,textCompat:K,processBoundary:x,onPromise:(T,S,D)=>{if((T[Ve]&bt)!==0&&Ge>0)T[Ve]=(T[Ve]&~bt)>>>0,Ge=Ge-1|0;h(T,S,D)}}),b=cn({payload:{sab:ue,config:O},headersBuffer:_,headerSlotStrideU32:G,lockSector:ae,textCompat:K,processBoundary:x}),M=0,C=0,ce=32,oe=A??new ar,be=F??new ar,Ie=l??new ar,we=0,Ge=0,de=Atomics.load,ye=Atomics.store,Fe=0,De=z?()=>Fe=m():()=>Fe=de(I,0)|0;De();let Ne=(T)=>~T!==0?T:M^De()|0,Ce=(T)=>oe.push(T),Re=()=>oe.shiftNoClear(),Xe=(T)=>oe.unshift(T),Ze=()=>be.shiftNoClear(),ge=(T)=>Ie.push(T),Me=Math.clz32,er=Se.header+Io,nr=({queue:T})=>(S)=>{let D=S*G+er,re=T[_[D+s.ID]];return fn(re,_,D),re},ir=(T)=>Ce(T),o=(T)=>{let S=T[Ve];if((S&bt)!==0)return;T[Ve]=(S|bt)>>>0,Ge=Ge+1|0},E=(T,S)=>j(T,S),w=0,y=0,N=(T,S)=>{let D=~S;if(D===0)return 0;if(!E(T,w=31-Me(D)))return 0;return pe(T,w,y=1<<w),y},q=(T)=>{let S=Ne(M^Fe|0),D=0;if(T===oe)while(!0){let re=Re();if(!re)break;S=Ne(S);let me=N(re,S)|0;if(me===0){Xe(re);break}S=S^me|0,D=D+1|0}else while(!0){let re=T.shiftNoClear();if(!re)break;S=Ne(S);let me=N(re,S)|0;if(me===0){T.unshift(re);break}S=S^me|0,D=D+1|0}return D},Y=(T)=>{let S=Ne(M^Fe|0),D=0;if(we=0,T===oe)while(!0){let re=Re();if(!re)break;S=Ne(S);let me=N(re,S)|0;if(me===0){if(sn(re)){we=we+1|0,o(re);continue}Xe(re);break}S=S^me|0,D=D+1|0}else while(!0){let re=T.shiftNoClear();if(!re)break;S=Ne(S);let me=N(re,S)|0;if(me===0){if(sn(re)){we=we+1|0,o(re);continue}T.unshift(re);break}S=S^me|0,D=D+1|0}return D},V=()=>{if(oe.isEmpty)return!0;return Y(oe),we=0,oe.isEmpty},X=(T)=>ye(B,0,M=M^T|0),fe=(T)=>ye(I,0,C=C^T|0),Te=(T,S=M^Fe|0)=>{S=Ne(S);let D=~S;if(D===0)return!1;if(!E(T,w=31-Me(D)))return!1;return pe(T,w,y=1<<w)},ke=(T,S=M^Fe|0)=>{we=0,S=Ne(S);let D=~S;if(D===0)return!1;if(!E(T,w=31-Me(D))){if(sn(T))we=1,o(T);return!1}return pe(T,w,y=1<<w)},pe=(T,S,D)=>{let re=S*G+er;return _[re]=T[0],_[re+1]=T[1],_[re+2]=T[2],_[re+3]=T[3],_[re+4]=T[4],_[re+5]=T[5],_[re+6]=T[6],_[re+Ve]=0,X(D),!0},R=()=>(B[0]^C)!==0,Z=()=>{let T=de(B,0)^C|0;if(T===0)return!1;let S=ce,D=0;try{if(S===32)$e(w=31-Me(T)),y=1<<(S=w),T^=y,D=D^y|0;while(T!==0){let re=T&(1<<S)-1;if(re===0)re=T;$e(w=31-Me(re)),y=1<<(S=w),T^=y,D=D^y|0}}finally{if(D!==0)fe(D)}return ce=S,!0},he=(T)=>ne===32?-1:(1<<ne)-1<<T*ne|0,se=()=>{let T=0;for(let S=0;S<U;S++)if(S!==J)T=T^de(ie,i[S])|0;return T},ve=(T)=>{let S=de(ie,d)|0;for(let D=J+1;D<U;D++){if(!f(S,D))continue;if((de(ie,P[D])&T)!==0)return!0}return!1},Oe=te*J/U|0,Ee=()=>{let T=de(B,0)^C^se()|0;if(T===0)return!1;let S=0;if(te===1)S=1;else for(let le=0;le<te;le++)if((T&he(le))!==0)S|=1<<le;let D=de(ie,d)|0,re=0,me=0;for(let le=0;le<U;le++){if(le===J||!f(D,le))continue;let _e=de(ie,P[le])|0;if(re|=_e,le<J)me|=_e}let rr=S&~me;if(rr===0)return!1;let vr=S&~re,ct=vr!==0?vr:rr,ur=-1;for(let le=0;le<te;le++){let _e=(Oe+le)%te;if((ct&1<<_e)!==0){ur=_e;break}}if(ur<0)return!1;let ze=1<<ur|0;ye(ie,P[J],ze);let or=!1,xe=!1;for(let le=0;le<U;le++){if(le===J||!f(D,le))continue;if((de(ie,P[le])&ze)===0)continue;if(le<J)or=!0;else xe=!0}if(or)return ye(ie,P[J],0),!1;if(xe)while(ve(ze));let We=(de(B,0)^C^se())&he(ur)|0;if(We===0)return ye(ie,P[J],0),!1;let Be=We;while(Be!==0)$e(31-Me((Be&-Be)>>>0)),Be=Be&Be-1|0;return C=C^We|0,ye(ie,i[J],C),ye(ie,P[J],0),Oe=(ur+1)%te,!0},qe=({queue:T,onResolved:S,shouldSettle:D,activeRejectPlaceholder:re})=>{let me=nr({queue:T}),rr=32;if(re!==void 0&&S){let ze=S,or=re;return()=>{let xe=de(B,0)^C|0;if(xe===0)return 0;let We=0,Be=0,le=rr;if(le===32){let _e=31-Me(xe),dr=1<<_e,Ye=me(_e);if(b(Ye,_e),Be=Be^dr|0,Ye.reject!==or)St(Ye),ze(Ye);if(xe^=dr,We++,(We&7)===0&&Be!==0)C=C^Be|0,ye(I,0,C),Be=0;le=_e}while(xe!==0){let _e=le===31?2147483647:(1<<le)-1,dr=xe&_e;if(dr===0)dr=xe;let Ye=31-Me(dr),fo=1<<Ye,ft=me(Ye);if(b(ft,Ye),Be=Be^fo|0,ft.reject!==or)St(ft),ze(ft);if(xe^=fo,We++,(We&7)===0&&Be!==0)C=C^Be|0,ye(I,0,C),Be=0;le=Ye}if(Be!==0)C=C^Be|0,ye(I,0,C);return rr=le,We}}let vr=S!==void 0,ct=S??Zr,ur=D;return()=>{let ze=de(B,0)^C|0;if(ze===0)return 0;let or=0,xe=0,We=rr;if(We===32){let Be=31-Me(ze),le=1<<Be,_e=me(Be);if(b(_e,Be),xe=xe^le|0,ur===void 0||ur(_e)){if(St(_e),vr)ct(_e)}if(ze^=le,or++,(or&7)===0&&xe!==0)C=C^xe|0,ye(I,0,C),xe=0;We=Be}while(ze!==0){let Be=We===31?2147483647:(1<<We)-1,le=ze&Be;if(le===0)le=ze;let _e=31-Me(le),dr=1<<_e,Ye=me(_e);if(b(Ye,_e),xe=xe^dr|0,ur===void 0||ur(Ye)){if(St(Ye),vr)ct(Ye)}if(ze^=dr,or++,(or&7)===0&&xe!==0)C=C^xe|0,ye(I,0,C),xe=0;We=_e}if(xe!==0)C=C^xe|0,ye(I,0,C);return rr=We,or}},$e=(T)=>{let S=T*G+er,D=Ze(),re;if(D)fn(D,_,S),D.value=null,D.finalize=void 0,D.resolve=Zr,D.reject=Zr,re=D;else re=fi(_,S);return b(re,T),ge(re),!0};return{enlist:ir,encode:Te,encodeManyFrom:q,encodeAll:V,publish:(T)=>{if(ke(T))return!0;if((we|0)!==0)return we=0,!1;return Ce(T),!1},flushPending:()=>{if(oe.isEmpty)return!1;let T=Y(oe)|0;return we=0,T!==0},decode:z?Ee:Z,hasSpace:R,resolved:Ie,hostBits:B,workerBits:I,recyclecList:be,resolveHost:qe,hasPendingFrames:()=>oe.size!==0,getPendingFrameCount:()=>oe.size|0,getPendingPromiseCount:()=>Ge|0,resetPendingState:()=>{oe.clear(),we=0,Ge=0},deactivateStealConsumer:(T)=>{if(!z||!Q)return!1;if(!Number.isInteger(T)||T<0||T>=U)throw RangeError(`consumerId ${T} out of range`);let S=1<<T;return(Atomics.and(ie,d,~S)&S)!==0},takeDeferredCount:()=>{let T=we|0;return we=0,T},setPromiseHandler:(T)=>{h=T}}};var li=1,No=1,di=performance.now.bind(performance),yi=(e,r,t,n)=>new Promise((a,u)=>{let c=!1,l=setTimeout(()=>{if(c)return;if(c=!0,t)a(n);else u(n)},r);e.then((A)=>{if(c)return;c=!0,clearTimeout(l),a(A)},(A)=>{if(c)return;c=!0,clearTimeout(l),u(A)})}),pi=(e)=>(Math.floor(e())&kt)>>>0,Oo=(e,r,t,n)=>{let a=pi(n)-Po(r)&kt,u=t.ms-a;if(!(u>0))return e.then(()=>{},()=>{}),t.kind===No?Promise.resolve(t.value):Promise.reject(t.value);let c=Math.max(1,Math.floor(u));return yi(e,c,t.kind===No,t.value)},xt=-1,Do=(e)=>{let r=Lo(e);if(r===0)return xt;let t=r-li|0;return t>=0?t:xt},mi=(e,r)=>{let t=[];return(n)=>{let a=t[n];if(a)return a;return a={hasAborted:()=>e(n),now:r},t[n]=a,a}},Wo=({job:e,timeout:r,hasAborted:t,now:n})=>{let a=n??di;if(!t){if(!r)return(c)=>e(c.value);return(c)=>{let l=e(c.value);if(!(l instanceof Promise))return l;return Oo(l,c,r,a)}}let u=mi(t,a);if(!r)return(c)=>{let l=Do(c);if(l===xt)return e(c.value);return e(c.value,u(l))};return(c)=>{let l=Do(c),A=l===xt?e(c.value):e(c.value,u(l));if(!(A instanceof Promise))return A;return Oo(A,c,r,a)}};var pn=Symbol.for("knitting.bufferReference.numericTransfer"),Uo=Symbol.for("knitting.bufferReference.returnReleaseToken"),Lt=()=>{throw Error('BufferReference cannot run in runtime "browser"')};class vt{constructor(){Lt()}static fromMetadata=Lt}var tt=(e)=>!1,mn=(e,r)=>r(),Ho=(e)=>{return},jo=Lt,Ko=Lt;var Go=({listOfFunctions:e,workerOptions:r,lock:t,returnLock:n,borrowReturnedBufferReferences:a,hasAborted:u,now:c,stealing:l})=>{let A=(b)=>{throw"UNREACHABLE FROM PLACE HOLDER (thread)"},F=0,x=0,W=e.reduce((b,M)=>(b.push(M.run),b),[]),k=new ar,p=new ar,H=(b)=>k.push(b),L=()=>k.shiftNoClear(),B=()=>p.shiftNoClear(),I=(b)=>p.unshift(b),ee=(b)=>p.push(b),_=(b)=>t.recyclecList.push(b),G=65535,O=s.FlagsToHost,ue=Rt.Reject,ae=Atomics.load,K=n.hostBits,U=n.workerBits,z=[],Q=new Map,J=()=>{if(z.length===0)return;if((ae(K,0)^ae(U,0))!==0)return;for(let b=0;b<z.length;b++)try{z[b]()}catch{}z.length=0},ne=(b)=>{let M=b.toString(),C=Q.get(M);if(C===void 0)return;Q.delete(M);try{C()}catch{}},te=e.reduce((b,M,C)=>{let ce=W[C];return b.push(Wo({job:ce,timeout:M.timeout,hasAborted:u,now:c})),b},[]),ie=r?.resolveAfterFinishingAll===!0?()=>F!==0&&k.size===0:()=>F!==0,{decode:i,resolved:P}=t,d=()=>P.shiftNoClear(),g=()=>{if(l&&k.size!==0)return!1;if(!i())return!1;let b=d();while(b)b.resolve=A,b.reject=A,wr(b,b.value),H(b),b=d();return!0},f=(b)=>{if(!n.encode(b))return!1;return!0},m=(b,M)=>{if(b[O]=M?ue:0,!f(b))return!1;if(b.finalize!==void 0){let C=b.finalize[Uo];if(C===void 0||a!==!0)z.push(b.finalize);else Q.set(C.toString(),b.finalize);b.finalize=void 0}return F--,_(b),!0},h=(b,M,C,ce)=>{if(Or(b),b.value=C,F++,ce&&x>0)x--;let oe=M||b[O]===ue;if(!m(b,oe))ee(b)},j=()=>{let b=B();if(!b)return!1;if(!m(b,b[O]===ue))return I(b),!1;return!0};return{hasCompleted:ie,hasPending:()=>k.size!==0,writeBatch:(b)=>{let M=0;while(M<b){if(!j())break;M++}return M},serviceBatchImmediate:()=>{let b=0;while(b<5&&k.size!==0){let M=L();try{let C=M[s.FunctionID]&G,ce=te[C](M);if(M[O]=0,M.value=null,ce instanceof Promise)x++,ce.then((oe)=>h(M,!1,oe,!0),(oe)=>h(M,!0,oe,!0));else h(M,!1,ce,!1)}catch(C){h(M,!0,C,!1)}++b}return b},enqueueLock:g,drainReturnReleases:J,releaseReturnedBufferReference:ne,hasAwaiting:()=>x>0,getAwaiting:()=>x}};var Ur=4096,hn=64,gn={op:0,rxStatus:hn,txStatus:hn*2},bn=hn*3,$o=Atomics.store,Pt=({sabObject:e,isMain:r,startTime:t})=>{let n=e?.size??Ur,a=n+(Ur-n%Ur)%Ur,u=je(e?.sharedSab?e.sharedSab:He(a,Ur*Ur)),c=u.sab,l=u.byteOffset,A=t??performance.now(),F=new Int32Array(c,l+gn.op,1);if(r)$o(F,0,0);let x=new Int32Array(c,l+gn.rxStatus,1);return $o(x,0,1),{sab:u,op:F,startAt:A,opView:F,rxStatus:x,txStatus:new Int32Array(c,l+gn.txStatus,1)}};var kr=4294967264,Sn=({lockSector:e})=>{let r=je(e??Pr(Wr)),t=r.sab,n=new Int32Array(t,r.byteOffset+_o,1),a=new Int32Array(t,r.byteOffset+Co,1),u=new Uint32Array(Se.slots),c=new Uint32Array(Se.slots),l=Math.clz32,A=Atomics.load,F=Atomics.store,x=Atomics.xor,W=4294967295,k=Dr,p=~k>>>0;u.fill(4294967295);let H=0,L=0,B=0,I=(K)=>u.slice(0,K),ee=(K,U)=>{let z=u,Q=0;K=K|0,U=U>>>0;for(let ne=0;ne<K;ne++){let te=z[ne];if(te===4294967295)continue;if((U&1<<(te&k))!==0)continue;if(Q!==ne)z[Q]=te;Q++}let J=Q;for(;Q<K;Q++)z[Q]=4294967295;return J},_=()=>{let K=A(a,0)|0,z=~((B^K)>>>0)>>>0;if(H===0||z===0)return;if(z===4294967295){H=0,L=0;return}if(z&=L,z===0)return;L&=~z,H=ee(H,z)},G=(K,U)=>{let z=u,Q=c,J=H,ne=-1,te=0,ie=0,i=!1;if(J===0&&L===0)return z[0]=0,Q[0]=U,K[s.Start]=0,K[s.slotBuffer]=(K[s.slotBuffer]&kr|0)>>>0,H=1,L=1,B^=1,0;if(J!==0){let f=A(a,0)|0,m=~(B^f)>>>0;if(m!==0)m&=L;if(m===L>>>0)H=0,L=0,J=0,m=0;else if(m!==0)for(let h=0;h<J;h++){let j=z[h],b=j&k,M=1<<b;if((m&M)===0)continue;if(Q[b]>>>0!==U>>>0)continue;let C=~L>>>0,ce=(C&-C)>>>0;if(ce===0)return-1;let oe=31-l(ce),be=j&p;return z[h]=(be|oe)>>>0,Q[oe]=U,K[s.Start]=be,K[s.slotBuffer]=(K[s.slotBuffer]&kr|oe)>>>0,L=L&~M|ce,B^=ce,oe}if(J!==0&&m!==0&&m!==4294967295){i=!0;let h=0;for(let j=0;j<J;j++){let b=z[j],M=b&k;if((m&1<<M)!==0)continue;let C=b&p;if(ne===-1&&C-ie>>>0>=U>>>0)ne=h,te=ie;if(h!==j)z[h]=b;h++,ie=C+(Q[M]>>>0)>>>0}for(let j=h;j<J;j++)z[j]=4294967295;if(m!==0)L&=~m;H=J=h}}if(J>=Se.slots)return-1;let P=~L>>>0,d=(P&-P)>>>0;if(d===0)return-1;let g=31-l(d);if(!i&&J!==0){if((z[0]&p)>=U>>>0){for(let b=J;b>0;b--)z[b]=z[b-1];return z[0]=g,Q[g]=U,K[s.Start]=0,K[s.slotBuffer]=(K[s.slotBuffer]&kr|g)>>>0,H=J+1,L|=d,B^=d,g}for(let b=0;b+1<J;b++){let M=z[b],ce=(M&p)+(Q[M&k]>>>0)>>>0;if((z[b+1]&p)-ce>>>0<U>>>0)continue;for(let be=J;be>b+1;be--)z[be]=z[be-1];return z[b+1]=(ce|g)>>>0,Q[g]=U,K[s.Start]=ce,K[s.slotBuffer]=(K[s.slotBuffer]&kr|g)>>>0,H=J+1,L|=d,B^=d,g}let m=z[J-1],j=(m&p)+(Q[m&k]>>>0)>>>0;return z[J]=(j|g)>>>0,Q[g]=U,K[s.Start]=j,K[s.slotBuffer]=(K[s.slotBuffer]&kr|g)>>>0,H=J+1,L|=d,B^=d,g}if(J===0)return z[0]=g,Q[g]=U,K[s.Start]=0,K[s.slotBuffer]=(K[s.slotBuffer]&kr|g)>>>0,H=1,L|=d,B^=d,g;if(ne!==-1){for(let f=J;f>ne;f--)z[f]=z[f-1];return z[ne]=(te|g)>>>0,Q[g]=U,K[s.Start]=te,K[s.slotBuffer]=(K[s.slotBuffer]&kr|g)>>>0,H=J+1,L|=d,B^=d,g}return z[J]=(ie|g)>>>0,Q[g]=U,K[s.Start]=ie,K[s.slotBuffer]=(K[s.slotBuffer]&kr|g)>>>0,H=J+1,L|=d,B^=d,g};return{allocTask:(K)=>{let z=(K[s.PayloadLen]|0)+63&-64,Q=G(K,z);if(Q===-1)return-1;return F(n,0,B),Q},setSlotLength:(K,U)=>{K=K&Dr;let z=(U|0)+63&-64;return c[K]=z>>>0,!0},lockSAB:t,free:(K)=>{x(a,0,1<<(K&Dr))},hostBits:n,workerBits:a,updateTable:_,startAndIndexToArray:I}};var _t=Uint32Array.BYTES_PER_ELEMENT,lr=(e,r)=>{if(!Number.isInteger(e)||e<0)throw RangeError(`${r} must be a non-negative integer`);return e},Bn=(e,r=64)=>{let t=lr(e,"value"),n=lr(r,"alignment");if(n===0)throw RangeError("alignment must be greater than zero");return Math.ceil(t/n)*n},wn=(e,r,t)=>({sab:e,byteOffset:lr(r,"byteOffset"),byteLength:lr(t,"byteLength")}),gi=({alignTo:e=64,startByteOffset:r=0}={})=>{let t=lr(e,"alignTo");if(t===0)throw RangeError("alignTo must be greater than zero");let n=lr(r,"startByteOffset"),a=[];return{slices:a,take:(c,l,{alignTo:A=t,reserveByteLength:F}={})=>{let x=lr(l,`${c} byteLength`),W=lr(A,`${c} alignTo`);if(W===0)throw RangeError(`${c} alignTo must be greater than zero`);let k=F==null?Bn(x,W):lr(F,`${c} reserveByteLength`);if(k<x)throw RangeError(`${c} reserveByteLength must cover byteLength`);let p=Bn(n,W),H={name:c,byteOffset:p,byteLength:x,reservedByteLength:k};return a.push(H),n=p+k,H},byteLength:()=>n,bind:(c,l)=>wn(c,l.byteOffset,l.byteLength)}},zo=({slotIndex:e,slotStrideU32:r,baseU32:t=0,extraU32:n=0})=>e*r+t+n,Yo=({slotIndex:e,slotStrideU32:r,baseByteOffset:t=0,baseU32:n=0,extraU32:a=0})=>t+zo({slotIndex:e,slotStrideU32:r,baseU32:n,extraU32:a})*_t,Tn=({slotCount:e,slotStrideU32:r,slotLengthU32:t,baseU32:n=0})=>{let a=lr(e,"slotCount");if(a===0)return 0;return(zo({slotIndex:a-1,slotStrideU32:r,baseU32:n})+t)*_t},hi=(e)=>e*2,An=({slotCount:e,slotStrideU32:r,queues:t=1,alignTo:n=64})=>Bn(e*r*_t*t,n),bi=({sab:e,byteOffset:r,slotCount:t,slotStrideU32:n})=>{let a=hi(n),u=n*_t,c=Tn({slotCount:t,slotStrideU32:a,slotLengthU32:n});return{headerSlotStrideU32:a,requestHeaders:wn(e,r,c),returnHeaders:wn(e,r+u,c)}},kn=({signalBytes:e,abortBytes:r,lockSectorBytes:t,headerSlotStrideU32:n,slotCount:a,headerLayout:u="interleaved",alignTo:c=64,createBuffer:l=(A)=>new SharedArrayBuffer(A)})=>{let A=gi({alignTo:c}),F=A.take("signals",e),x=A.take("requestLockSector",t),W=A.take("returnLockSector",t),k,p,H;if(u==="interleaved")H=A.take("interleavedHeaders",An({slotCount:a,slotStrideU32:n,queues:2,alignTo:c}));else k=A.take("requestHeaders",An({slotCount:a,slotStrideU32:n,alignTo:c})),p=A.take("returnHeaders",An({slotCount:a,slotStrideU32:n,alignTo:c}));let L=A.take("abortSignals",r),B=l(A.byteLength()),I=A.bind(B,F),ee=A.bind(B,L),_=A.bind(B,x),G=A.bind(B,W),O=u==="interleaved"?bi({sab:B,byteOffset:H.byteOffset,slotCount:a,slotStrideU32:n}):{headerSlotStrideU32:n,requestHeaders:A.bind(B,k),returnHeaders:A.bind(B,p)};return{controlSAB:B,signals:I,abortSignals:ee,lock:{headers:O.requestHeaders,headerSlotStrideU32:O.headerSlotStrideU32,lockSector:_,payloadSector:_},returnLock:{headers:O.returnHeaders,headerSlotStrideU32:O.headerSlotStrideU32,lockSector:G,payloadSector:G},slices:A.slices}};var Si=4096,Er=new TextEncoder,Rn=new TextDecoder,sr=64,Ai=Si,Bi=(e)=>e+63&-64,qo=(e)=>e.constructor===Uint8Array,wi=(e)=>qo(e)?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),Ti=(e)=>e instanceof TypeError,ki=(e)=>e instanceof TypeError,Qo=()=>{let e=globalThis.Buffer;if(typeof e?.from!=="function"||typeof e?.allocUnsafe!=="function"||typeof e?.allocUnsafeSlow!=="function")return;return e},Ei=(e,r)=>{let t=0,n=0;for(let a of e){let u=Er.encode(a);if(n+u.byteLength>r.byteLength)break;r.set(u,n),n+=u.byteLength,t+=a.length}return{read:t,written:n}},En=(e,r)=>{let t=new Uint8Array(r.byteLength),n=typeof Er.encodeInto==="function"?Er.encodeInto(e,t):Ei(e,t);if(n.written>0)r.set(t.subarray(0,n.written),0);return n},Vo=(e)=>Rn.decode(e.slice()),Jo=(e,r,t)=>{if(typeof Er.encodeInto!=="function")return En(e,r);if(t?.encodeInto===!0)return Er.encodeInto(e,r);if(t?.encodeInto===!1)return En(e,r);try{return Er.encodeInto(e,r)}catch(n){if(!Ti(n))throw n;return En(e,r)}},Xo=(e,r)=>{if(r?.decode===!0)return Rn.decode(e);if(r?.decode===!1)return Vo(e);try{return Rn.decode(e)}catch(t){if(!ki(t))throw t;return Vo(e)}},xn=({sab:e,payloadConfig:r,textCompat:t})=>{let n=e===void 0?void 0:je(e),a=e!==void 0&&!Xr(e),u=n?.sab instanceof ArrayBuffer&&!(n.sab instanceof SharedArrayBuffer),c=a||u,l=n?.byteLength,A=qr&&n?.sab instanceof ArrayBuffer&&!(n.sab instanceof SharedArrayBuffer)?void 0:Qo(),F=cr({sab:n?.sab,options:!c||l===void 0?r:{...r,mode:"fixed",payloadInitialBytes:r?.payloadInitialBytes??l,payloadMaxByteLength:r?.payloadMaxByteLength??l}}),x=F.mode==="growable",W=n?.sab??(x?He(F.payloadInitialBytes,F.payloadMaxByteLength):He(F.payloadInitialBytes)),k=n?.byteOffset??0,p=n?.byteLength??W.byteLength,H=new Uint8Array(W,k+sr,Math.max(0,p-sr)),L=A?(i,P)=>{let d=A.from(i,P+sr);if(d.buffer!==i)throw Error("Buffer view does not alias shared buffer");return d}:void 0,B=L?.(W,k),I=new Float64Array(W,k+sr,Math.max(0,p-sr)>>>3),ee=()=>p-sr,_=(i)=>{if(ee()>=i)return!0;if(!x)return!1;try{if(!(W instanceof SharedArrayBuffer))return!1;W=ho(W,Bi(sr+i+Ai))}catch{return!1}return k=0,p=W.byteLength,H=new Uint8Array(W,k+sr,p-sr),B=L?.(W,k),I=new Float64Array(W,k+sr,p-sr>>>3),!0},G=(i,P)=>{if(!B)return Xo(H.subarray(i,P),t);return B.toString("utf8",i,P)},O=(i,P=0)=>{let d=wi(i);if(!_(P+d.byteLength))return-1;return H.set(d,P),d.byteLength},ue=(i,P=0)=>{let d=i.byteLength;if(!_(P+d))return-1;return H.set(i,P),d},ae=(i,P=0)=>{let d=i.byteLength;if(!_(P+d))return-1;return H.set(new Uint8Array(i),P),d},K=(i,P=0)=>{let d=i.byteLength;if(!_(P+d))return-1;return I.set(i,P>>>3),d},U=(i,P)=>H.slice(i,P),z=(i,P)=>H.subarray(i,P),Q=(i,P)=>{if(!A||!B)return U(i,P);let d=Math.max(0,P-i|0),g=A.allocUnsafe(d);if(d===0)return g;return B.copy(g,0,i,P),g},J=(i,P)=>{if(!A||!B)return U(i,P).buffer;let d=Math.max(0,P-i|0);if(d===0)return new ArrayBuffer(0);let g=A.allocUnsafeSlow(d);return B.copy(g,0,i,P),g.buffer};return{readUtf8:G,writeBinary:O,writeBuffer:ue,writeArrayBuffer:ae,write8Binary:K,readBytesCopy:U,readBytesView:z,readBytesBufferCopy:Q,readBufferCopy:Q,readBytesArrayBufferCopy:J,readArrayBufferCopy:J,read8BytesFloatCopy:(i,P)=>I.slice(i>>>3,P>>>3),read8BytesFloatView:(i,P)=>I.subarray(i>>>3,P>>>3),writeUtf8:(i,P,d=i.length*3)=>{if(!_(P+d))return-1;let g=H.subarray(P,P+d);if(!B){let{read:h,written:j}=Jo(i,g,t);if(h!==i.length)return-1;return j}let{read:f,written:m}=Er.encodeInto(i,g);if(f!==i.length)return-1;return m}}},Zo=({headersBuffer:e,slotStrideU32:r,textCompat:t})=>{let n=Qo(),a=e instanceof Uint32Array?e.buffer:e,u=e instanceof Uint32Array?e.byteOffset:0,c=Uint32Array.BYTES_PER_ELEMENT,l=r??fr,A=rt*c,F=new Uint8Array(a,u),x=n?.from(a,u),W=new Float64Array(a,u,a.byteLength-u>>>3),k=(f)=>Yo({slotIndex:f,slotStrideU32:l,baseByteOffset:u,baseU32:Se.header}),p=new Uint32Array(Se.slots);for(let f=0;f<Se.slots;f++)p[f]=k(f)-u;let H=new Uint32Array(a,u,a.byteLength-u>>>2),L=new Uint32Array(Se.slots);for(let f=0;f<Se.slots;f++)L[f]=p[f]>>>2;let B=(f,m,h)=>{let j=L[h];for(let b=0;b<m;b++)H[j+b]=f[b];return m*c},I=(f,m,h)=>{let j=L[h];for(let b=0;b<m;b++)f[b]=H[j+b];return f},ee=(f,m)=>(f|0)>=0&&f+m<=A,_=(f,m)=>{let h=p[m],j=F.subarray(h,h+A);if(!x){let{read:C,written:ce}=Jo(f,j,t);if(C!==f.length)return-1;return ce}let{read:b,written:M}=Er.encodeInto(f,j);if(b!==f.length)return-1;return M},G=(f,m,h)=>{let j=p[h];if(!x)return Xo(F.subarray(j+f,j+m),t);return x.toString("utf8",j+f,j+m)},O=(f,m,h=0)=>(F.set(f,p[m]+h),f.byteLength),ue=(f,m,h=0)=>(F.set(f,p[m]+h),f.byteLength),ae=(f,m,h=0)=>{let j=f.byteLength;return F.set(new Uint8Array(f),p[m]+h),j},K=(f,m,h=0)=>(F.set(f,p[m]+h),f.byteLength),U=(f,m,h=0)=>{if(!qo(f))return-1;return K(f,m,h)},z=(f,m,h=0)=>{let j=f.byteLength;if(!ee(h,j))return-1;return W.set(f,p[m]+h>>>3),j},Q=(f,m,h)=>F.slice(p[h]+f,p[h]+m),J=(f,m,h)=>F.subarray(p[h]+f,p[h]+m),ne=(f,m,h)=>{if(!n||!x)return Q(f,m,h);let j=m-f,b=n.allocUnsafe(j),M=p[h];return x.copy(b,0,M+f,M+m),b},te=(f,m,h)=>{if(!n)return Q(f,m,h);let j=ne(f,m,h);return new Uint8Array(j.buffer,j.byteOffset,j.byteLength)},i=qr?(f,m,h)=>Q(f,m,h):te,P=(f,m,h)=>{if(!n||!x)return Q(f,m,h).buffer;let j=Math.max(0,m-f|0);if(j===0)return new ArrayBuffer(0);let b=n.allocUnsafeSlow(j),M=p[h];return x.copy(b,0,M+f,M+m),b.buffer};return{writeUtf8:_,readUtf8:G,writeBinary:O,writeBuffer:ue,writeArrayBuffer:ae,writeExactUint8Array:K,writeUint8Array:U,writeU32Words:B,readU32Words:I,write8Binary:z,readBytesCopy:Q,readBytesView:J,readBytesBufferCopy:ne,readBufferCopy:ne,readUint8ArrayCopy:i,readUint8ArrayBufferCopy:te,readBytesArrayBufferCopy:P,readArrayBufferCopy:P,read8BytesFloatCopy:(f,m,h)=>W.slice(p[h]+f>>>3,p[h]+m>>>3),read8BytesFloatView:(f,m,h)=>W.subarray(p[h]+f>>>3,p[h]+m>>>3),maxBytes:A}};var Ae={Function:0,Symbol:1,Json:2,Serializable:3},Ri=(e,r,t)=>{switch(r){case Ae.Function:return`KNT_ERROR_0: Function is not a valid type; name: ${typeof e.value==="function"?e.value.name||"<anonymous>":"<unknown>"}`;case Ae.Symbol:return"KNT_ERROR_1: Symbol must use Symbol.for(...) keys";case Ae.Json:return t==null||t.length===0?"KNT_ERROR_2: JSON stringify failed; payload must be JSON-safe":`KNT_ERROR_2: JSON stringify failed; ${t}`;case Ae.Serializable:return t==null||t.length===0?"KNT_ERROR_3: Unsupported payload type; serialize it yourself":`KNT_ERROR_3: Unsupported payload type; ${t}`}},Le=({task:e,type:r,onPromise:t,detail:n})=>{let a=Ri(e,r,n);if(!Br)return e.value=a,e[s.FlagsToHost]=Rt.Reject,!1;if(t==null)throw TypeError(a);if(!wt(e))return!1;return queueMicrotask(()=>{et(e),e.value=a,t(e,!0,a)}),!1};var ea=Symbol.for("knitting.payloadCodec.transportFinalizer");class yr{header;payload;constructor(e,r){this.header=e,this.payload=r}[Symbol.dispose](){let e=this.payload;if(e!==null&&typeof e==="object")e[Symbol.dispose]?.()}[ea](){let e=this.payload;if(e===null||typeof e!=="object")return;let r=e[ea];return typeof r==="function"?r.call(e):void 0}}var Ct=()=>{throw Error('BufferReference cannot run in runtime "browser"')};var pr="knitting.sharedArrayBuffer",Cn=Symbol.for("knitting.sharedArrayBuffer.numericTransfer"),Mt=8,xi=2,Li=Symbol.for("knitting.payloadCodec"),na=()=>{let e=Ue();if(e!==void 0&&typeof e.pid==="number")return e.pid;let r=globalThis.Deno;if(typeof r?.pid==="number")return r.pid;return 0},vn=`${Qe}:${na()}`,vi=typeof SharedArrayBuffer==="function",Pi=(e)=>vi&&e instanceof SharedArrayBuffer,ra=new WeakMap,It=new WeakMap,ta=new WeakMap,Pn=new Map,_i=typeof FinalizationRegistry==="function"?new FinalizationRegistry((e)=>{try{Ct().releaseShared(e)}catch{}}):void 0,_n=(e)=>[Number(e&0xffffffffn)>>>0,Number(e>>32n&0xffffffffn)>>>0],Ln=(e,r)=>BigInt(r>>>0)<<32n|BigInt(e>>>0),Ci=(e)=>{switch(e){case"node":return 1;case"deno":return 2;case"bun":return 3;default:return 0}},Ii=(e)=>{switch(e){case 1:return"node";case 2:return"deno";case 3:return"bun";default:return}},Mi=(e)=>{if(e===void 0)return;let r=ta.get(e);if(r===void 0)r=new Set,ta.set(e,r);return r},Fi=(e)=>{let r=ra.get(e);if(r===void 0){let t=Ct().produceShared(e);r={token:t.token,pointer:t.pointer,byteLength:t.byteLength},ra.set(e,r),_i?.register(e,r.token)}return r},Ni=(e)=>({kind:pr,origin:vn,runtime:Qe,pointer:e.pointer.toString(),token:e.token.toString(),byteLength:e.byteLength}),Oi=(e)=>{if(e.byteLength>4294967295)return;let[r,t]=_n(e.token),[n,a]=_n(e.pointer);return[r,t,n,a,e.byteLength>>>0,Ci(Qe),na()>>>0,0]},Di=(e)=>{let[r,t]=_n(e.token);return[r,t]},Wi=(e)=>{let r=It.get(e);if(r!==void 0)return r;let t=Fi(e);return r=oa(e,t,Ni(t)),r},oa=(e,r,t)=>{let n=It.get(e);if(n!==void 0)return n;let a=Oi(r),u=Di(r);return n={[Li]:pr,toMetadata:()=>t,[Cn]:(c)=>{if(a===void 0)return;let l=Mi(c);if(l===void 0)return a;if(l.has(r.token))return u;return l.add(r.token),a}},It.set(e,n),n},In=(e)=>{if(Pi(e))return Wi(e);return It.get(e)},Ui=(e)=>{if(e===null||typeof e!=="object")return!1;let r=e;return r.kind===pr&&typeof r.origin==="string"&&typeof r.runtime==="string"&&typeof r.pointer==="string"&&typeof r.token==="string"&&typeof r.byteLength==="number"&&Number.isInteger(r.byteLength)&&r.byteLength>=0},aa=(e,r)=>{if(e.origin!==vn)throw Error(`SharedArrayBuffer cannot cross a process boundary (origin ${e.origin} != ${vn}); it is shared by reference to thread workers only.`);let t=BigInt(e.token),n=Pn.get(t);if(n!==void 0)return n;if(r)throw TypeError("SharedArrayBuffer cache miss for warm token payload");let a=Ct().adoptShared({token:t,pointer:BigInt(e.pointer),byteOffset:0,byteLength:e.byteLength});return Pn.set(t,a.buffer),oa(a.buffer,{token:t,pointer:BigInt(e.pointer),byteLength:e.byteLength},e),a.buffer},Hi=(e)=>{if(!Ui(e))throw TypeError("Invalid SharedArrayBuffer payload metadata");return aa(e,!1)},ji=(e)=>{if(e.length===xi){let a=Ln(e[0]??0,e[1]??0),u=Pn.get(a);if(u!==void 0)return u;throw TypeError("SharedArrayBuffer cache miss for warm token payload")}let r=Ii(e[5]??0);if(r===void 0)throw TypeError("Invalid SharedArrayBuffer numeric runtime");let t=e[6];if(t===void 0||!Number.isInteger(t)||t<0)throw TypeError("Invalid SharedArrayBuffer numeric origin");if(e.length!==Mt)throw TypeError("Invalid SharedArrayBuffer numeric word count");let n={kind:pr,origin:`${r}:${t>>>0}`,runtime:r,pointer:Ln(e[2]??0,e[3]??0).toString(),token:Ln(e[0]??0,e[1]??0).toString(),byteLength:e[4]??0};return aa(n,!1)},Ki=globalThis,Gi=Ki.__KNITTING_PAYLOAD_CODECS__??=Object.create(null);Gi[pr]={decode:Hi,decodeNumeric:ji};var Nt=(e)=>!1,Ft=()=>{throw Error("ProcessSharedBuffer is unavailable in the browser build")};class Rr{constructor(){Ft()}static create=Ft;static fromMetadata=Ft;toMetadata=Ft}var sa=Symbol.for("knitting.numericArray");class Ot extends Array{}Object.defineProperty(Ot.prototype,sa,{value:!0,enumerable:!1,writable:!1,configurable:!1});var Mn=(e)=>e[sa]===!0,Fn=(e)=>{let r=e.length,t=new Ot(r);for(let n=0;n<r;n++)t[n]=e[n];return t};var Wn=new ArrayBuffer(8),Wt=new Float64Array(Wn),ga=new BigInt64Array(Wn),tr=new Uint32Array(Wn),ha=new TextEncoder,Ut=globalThis.Buffer,ia=typeof Ut?.byteLength==="function"?(e,r)=>Ut.byteLength(e,r):void 0,$i=(e)=>typeof Ut?.isBuffer==="function"&&Ut.isBuffer(e),zi=(e)=>e!=null&&typeof e==="object"&&Object.getPrototypeOf(e)===Uint8Array.prototype,Yi=!ia?(e)=>ha.encode(e).byteLength:(e)=>ia(e,"utf8"),Vi=-(1n<<63n),qi=(1n<<63n)-1n,{parse:mr,stringify:jr}=JSON,{for:Nn,keyFor:Qi}=Symbol,ba=Nn("knitting.payloadCodec"),Un="knitting.bufferReference",Hn="knitting.processSharedBuffer",Sa=globalThis,Aa=Object.getPrototypeOf,Kt=Object.prototype.hasOwnProperty,Ht=Array.isArray,Ba=Object.prototype,ua="Unsupported object type. Allowed: plain object, array, Error, Date, Envelope, Buffer, ArrayBuffer, DataView, typed arrays, and registered external payloads. Serialize it yourself.",ca="Envelope payload must be an ArrayBuffer, SharedArrayBuffer, ProcessSharedBuffer, or BufferReference.",Ji="Envelope header must be a JSON-like value or string.",Xi="Envelope header cannot contain Promise values.",Zi="Dynamic payload exceeds maxPayloadBytes.",eu="Dynamic payload buffer capacity exceeded.",Kr="SharedArrayBuffer and BufferReference are process-local pointer payloads and cannot cross a process-worker boundary; use ProcessSharedBuffer instead.",fa="Reserved Knitting external payload codec cannot be forged.",Gr=(e)=>e===pr||e===Un,la=(e)=>Gr(e)||e===Hn,ru=(e)=>{let r=Aa(e);return r===Ba||r===null},da=(e)=>{let r=e[ba];return typeof r==="string"?r:void 0},tu=(e)=>{switch(e){case"node":return 1;case"deno":return 2;case"bun":return 3;default:return 0}},nu=(e)=>{switch(e){case"shared-array-buffer":return 1;case"external-array-buffer":return 2;default:return 0}},Hr=(e)=>typeof e==="number"&&Number.isInteger(e)&&e>=0&&e<=4294967295,ya=(e)=>typeof e.toMetadata==="function"&&typeof e[ba]==="string",pa=(e)=>{if(tt(e))return vt.prototype.toMetadata.call(e);if(Nt(e))return Rr.prototype.toMetadata.call(e);return e.toMetadata()},Dt=(e,r)=>{let t=mr(e);if(!Ht(t)||t.length!==2)return t;let n=t[0],a=t[1];if(typeof n!=="string")return{codec:n,metadata:a};if(r&&Gr(n))throw TypeError(Kr);let u=Sa.__KNITTING_PAYLOAD_CODECS__?.[n];return typeof u?.decode==="function"?u.decode(a):{codec:n,metadata:a}},jt=8,On=8,ou=4294967295,jn=(e,r)=>{let t=Sa.__KNITTING_PAYLOAD_CODECS__?.[e];if(typeof t?.decodeNumeric==="function")return t.decodeNumeric(r);return{codec:e,metadata:Array.from(r)}},au=(e)=>jn(Hn,e),su=(e)=>jn(Un,e),iu=(e)=>jn(pr,e),uu=(e)=>{let r=e.value;switch(typeof r){case"number":if(r!==r)return e[s.Type]=Ke.NaN,!0;return Wt[0]=r,e[s.Type]=Ke.Float64,e[s.Start]=tr[0],e[s.End]=tr[1],!0;case"boolean":return e[s.Type]=r?Ke.True:Ke.False,!0;case"undefined":return e[s.Type]=Ke.Undefined,!0;case"bigint":if(r<Vi||r>qi)return!1;return ga[0]=r,e[s.Type]=Ke.BigInt,e[s.Start]=tr[0],e[s.End]=tr[1],!0;case"object":if(r===null)return e[s.Type]=Ke.Null,!0;return!1;default:return!1}},Dn=(e,r)=>{if(e instanceof Promise)return!0;if(e===null||typeof e!=="object")return!1;let t=e,n=r??new Set;if(n.has(t))return!1;if(n.add(t),Ht(t)){let u=t;for(let c=0;c<u.length;c++)if(Dn(u[c],n))return!0;return!1}if(!ru(t))return!1;let a=t;for(let u in a){if(!Kt.call(a,u))continue;if(Dn(a[u],n))return!0}return!1},wa=(e)=>{if(e===null||e===void 0)return e;switch(typeof e){case"string":case"number":case"boolean":return e;case"bigint":return e.toString();case"symbol":case"function":return String(e)}if(e instanceof Error){let r={name:e.name,message:e.message};if(typeof e.stack==="string")r.stack=e.stack;if(Kt.call(e,"cause"))r.cause=wa(e.cause);return r}try{return mr(jr(e))}catch{return String(e)}},cu=(e)=>{let r={name:e.name,message:e.message};if(typeof e.stack==="string")r.stack=e.stack;if(Kt.call(e,"cause"))r.cause=wa(e.cause);return r},fu=(e)=>{let r;try{r=mr(e)}catch{return Error(e)}if(r==null||typeof r!=="object")return Error(String(r));let t=r,n=Error(typeof t.message==="string"?t.message:"");if(typeof t.name==="string"&&t.name.length>0)n.name=t.name;if(typeof t.stack==="string")try{n.stack=t.stack}catch{}if(Kt.call(t,"cause"))n.cause=t.cause;return n},ma=(e)=>{let r=e[0],t=0n;for(let n=e.length-1;n>=1;n--)t=t<<8n|BigInt(e[n]);return r===1?-t:t},lu=(e,r,t)=>{let n=r??fr,a=Tn({slotCount:Se.slots,slotStrideU32:n,slotLengthU32:rt,baseU32:Se.header});if(e.byteLength<Math.max(a,yn))return null;return Zo({headersBuffer:e,slotStrideU32:n,textCompat:t})},Ta=(e,r,t)=>{let n=lu(e,r,t);if(n===null)throw RangeError("headersBuffer is too small for static payload IO");return n},du=({lockSector:e,payload:r,sab:t,payloadConfig:n,headersBuffer:a,headerSlotStrideU32:u,textCompat:c,onPromise:l,processBoundary:A=!1})=>{let F=r?.sab??t,x=cr({sab:F,options:r?.config??n}),W=x.maxPayloadBytes,{allocTask:k,setSlotLength:p,free:H}=Sn({lockSector:e}),{writeBinary:L,writeBuffer:B,writeArrayBuffer:I,write8Binary:ee,writeUtf8:_}=xn({sab:F,payloadConfig:x,textCompat:c?.payload}),{maxBytes:G,writeBinary:O,writeBuffer:ue,writeArrayBuffer:ae,writeExactUint8Array:K,writeU32Words:U,write8Binary:z,writeUtf8:Q}=Ta(a,u,c?.headers),J=(o,E,w)=>Le({task:o,type:Ae.Serializable,onPromise:l,detail:`${Zi} limit=${W}; actual=${E}; type=${w}.`}),ne=(o)=>Le({task:o,type:Ae.Serializable,onPromise:l,detail:eu}),te=(o,E,w)=>{if(E<=W)return!0;return J(o,E,w)},ie=(o,E,w,y)=>{let N=E.length*3;if(N+w<=W)return N;let Y=Yi(E),V=Y+w;if(V>W)return J(o,V,y),-1;return Y},i=(o,E,w)=>ie(o,E,0,w),P=(o,E)=>(o[s.PayloadLen]=E,k(o)),d=-1,g=(o,E)=>{o[s.PayloadLen]=E;let w=k(o);return d=w,w},f=()=>{if(d!==-1)H(d),d=-1},m=(o,E)=>{if(H(E),d===E)d=-1;return ne(o)},h=new Uint8Array(16),j=(o)=>{let E=0,w=o;if(o<0n)E=1,w=-o;let y=1;while(w>0n){if(y>=h.byteLength){let N=new Uint8Array(h.byteLength<<1);N.set(h,0),h=N}h[y++]=Number(w&0xffn),w>>=8n}return h[0]=E,y},b=(o)=>{h.fill(0,0,o)},M=(o,E)=>{let w;try{w=jr(cu(E))}catch(Y){let V=Y instanceof Error?Y.message:String(Y);return Le({task:o,type:Ae.Serializable,onPromise:l,detail:V})}let y=i(o,w,"Error");if(y<0)return!1;o[s.Type]=v.Error;let N=g(o,y),q=_(w,o[s.Start],y);if(q<0)return m(o,N);return o[s.PayloadLen]=q,p(N,q),o.value=null,!0},C=(o,E,w,y,N)=>{let q=w.byteLength;if(q<=G){let X=O(w,E);if(X!==-1)return o[s.Type]=N,o[s.PayloadLen]=X,o.value=null,!0}if(o[s.Type]=y,!te(o,q,xo(y)))return!1;let Y=g(o,q),V=L(w,o[s.Start]);if(V<0)return m(o,Y);return o[s.PayloadLen]=V,p(Y,V),o.value=null,!0},ce=(o,E,w)=>{let y=w.byteLength;if(y<=G)return K(w,E),o[s.Type]=v.StaticBinary,o[s.PayloadLen]=y,o.value=null,!0;if(o[s.Type]=v.Binary,!te(o,y,"Binary"))return!1;let N=g(o,y),q=L(w,o[s.Start]);if(q<0)return m(o,N);return o[s.PayloadLen]=q,p(N,q),o.value=null,!0},oe=(o,E,w)=>{let y=w.byteLength;if(y<=G){let Y=ue(w,E);if(Y!==-1)return o[s.Type]=v.StaticBuffer,o[s.PayloadLen]=Y,o.value=null,!0}if(o[s.Type]=v.Buffer,!te(o,y,"Buffer"))return!1;let N=g(o,y),q=B(w,o[s.Start]);if(q<0)return m(o,N);return o[s.PayloadLen]=q,p(N,q),o.value=null,!0},be=(o,E,w)=>{let y=w.byteLength;if(y<=G){let Y=z(w,E);if(Y!==-1)return o[s.Type]=v.StaticFloat64Array,o[s.PayloadLen]=Y,o.value=null,!0}if(o[s.Type]=v.Float64Array,!te(o,y,"Float64Array"))return!1;let N=g(o,y),q=ee(w,o[s.Start]);if(q<0)return m(o,N);return o[s.PayloadLen]=q,p(N,q),o.value=null,!0},Ie=new Float64Array(0),we=(o,E,w)=>{let y=w.length;if(Ie.length<y)Ie=new Float64Array(y);for(let X=0;X<y;X++)Ie[X]=w[X];let N=Ie.subarray(0,y),q=N.byteLength;if(q<=G){let X=z(N,E);if(X!==-1)return o[s.Type]=v.StaticNumericArray,o[s.PayloadLen]=X,o.value=null,!0}if(o[s.Type]=v.NumericArray,!te(o,q,"NumericArray"))return!1;let Y=g(o,q),V=ee(N,o[s.Start]);if(V<0)return m(o,Y);return o[s.PayloadLen]=V,p(Y,V),o.value=null,!0},Ge=(o,E,w)=>{let y=w.byteLength;if(y<=G){let Y=ae(w,E);if(Y!==-1)return o[s.Type]=v.StaticArrayBuffer,o[s.PayloadLen]=Y,o.value=null,!0}if(o[s.Type]=v.ArrayBuffer,!te(o,y,"ArrayBuffer"))return!1;let N=g(o,y),q=I(w,o[s.Start]);if(q<0)return m(o,N);return o[s.PayloadLen]=q,p(N,q),o.value=null,!0},de=new Uint32Array(jt),ye=new Uint32Array(Mt),Fe=(o,E,w)=>{let y=w.descriptor;if(y===void 0||y.name!==void 0||!Hr(y.fd)||!Hr(y.size)||!Hr(y.byteLength)||!Hr(w.byteOffset)||!Hr(w.byteLength))return!1;let N=y.baseAddressMod64;if(N!==void 0&&!Hr(N))return!1;return de[0]=y.fd,de[1]=y.size,de[2]=y.byteLength,de[3]=w.byteOffset,de[4]=w.byteLength,de[5]=tu(y.runtime),de[6]=nu(y.kind),de[7]=N===void 0?ou:N,o[s.Type]=v.ProcessSharedBuffer,o[s.PayloadLen]=U(de,jt,E),o.value=null,!0},De=(o,E,w)=>{let y=tt(w)?vt.prototype[pn].call(w):w[pn]?.();if(y===void 0)return!1;return o[s.Type]=v.BufferReference,o[s.PayloadLen]=U(y,On,E),wr(o,w),o.value=null,!0},Ne=(o,E,w)=>{let y=w[Cn]?.(e);if(y===void 0)return!1;return ye[0]=y[0]??0,ye[1]=y[1]??0,ye[2]=y[2]??0,ye[3]=y[3]??0,ye[4]=y[4]??0,ye[5]=y[5]??0,ye[6]=y[6]??0,ye[7]=y[7]??0,o[s.Type]=v.SharedArrayBuffer,o[s.PayloadLen]=U(ye,y.length,E),o.value=null,!0},Ce=(o,E,w,y=!1)=>{let N=da(w);if(N===void 0)return Le({task:o,type:Ae.Serializable,onPromise:l,detail:ua});if(y){if(A&&Gr(N))return Le({task:o,type:Ae.Serializable,onPromise:l,detail:Kr});if(N===pr&&Ne(o,E,w))return!0;if(N===Un&&De(o,E,w))return!0;if(N===Hn&&Fe(o,E,w))return!0}else if(la(N))return Le({task:o,type:Ae.Serializable,onPromise:l,detail:A&&Gr(N)?Kr:fa});let q;try{q=jr([N,y?pa(w):w.toMetadata()])}catch(fe){let Te=fe instanceof Error?fe.message:String(fe);return Le({task:o,type:Ae.Serializable,onPromise:l,detail:Te})}if(typeof q!=="string")return Le({task:o,type:Ae.Serializable,onPromise:l,detail:"External payload metadata must be JSON serializable."});if(q.length<=G){let fe=Q(q,E);if(fe!==-1)return o[s.Type]=v.StaticExternalPayload,o[s.PayloadLen]=fe,wr(o,w),o.value=null,!0}o[s.Type]=v.ExternalPayload;let Y=i(o,q,"ExternalPayload");if(Y<0)return!1;let V=g(o,Y),X=_(q,o[s.Start],Y);if(X<0)return m(o,V);return o[s.PayloadLen]=X,p(V,X),wr(o,w),o.value=null,!0},Re=(o,E)=>(Wt[0]=E.getTime(),o[s.Type]=v.Date,o[s.Start]=tr[0],o[s.End]=tr[1],o.value=null,!0),Xe=(o,E,w)=>{if(Dn(E)){Le({task:o,type:Ae.Serializable,onPromise:l,detail:Xi});return}if(w)return E;let y;try{y=jr(E)}catch(N){let q=N instanceof Error?N.message:String(N);Le({task:o,type:Ae.Json,onPromise:l,detail:q});return}if(typeof y!=="string"){Le({task:o,type:Ae.Serializable,onPromise:l,detail:Ji});return}return y},Ze=(o)=>{if(o===null||typeof o!=="object")return;let E=In(o);if(E!==void 0)return{payload:E,trustedReservedCodec:!0};if(tt(o)||Nt(o))return{payload:o,trustedReservedCodec:!0};if(ya(o))return{payload:o,trustedReservedCodec:!1};return},ge=(o,E,w,y,N)=>{let q=new Uint8Array(N),Y=q.byteLength,V=Y>0?Y:1,X=Q(w,E);if(X!==-1){if(!te(o,V,"EnvelopeStaticHeaderPayload"))return!1;let R=g(o,V);if(o[s.Type]=y?v.EnvelopeStaticHeaderString:v.EnvelopeStaticHeader,o[s.PayloadLen]=X,o[s.End]=Y,Y>0){let Z=L(q,o[s.Start]);if(Z<0)return m(o,R);p(R,Z)}return o.value=null,!0}let fe=ie(o,w,Y,y?"EnvelopeDynamicHeaderString":"EnvelopeDynamicHeader");if(fe<0)return!1;o[s.Type]=y?v.EnvelopeDynamicHeaderString:v.EnvelopeDynamicHeader;let Te=g(o,fe+Y),ke=o[s.Start],pe=_(w,ke,fe);if(pe<0)return m(o,Te);if(Y>0){if(L(q,ke+pe)<0)return m(o,Te)}return o[s.PayloadLen]=pe,o[s.End]=Y,p(Te,pe+Y),o.value=null,!0},Me=(o,E,w,y,N,q)=>{let Y=da(N);if(Y===void 0)return Le({task:o,type:Ae.Serializable,onPromise:l,detail:ca});if(q){if(A&&Gr(Y))return Le({task:o,type:Ae.Serializable,onPromise:l,detail:Kr})}else if(la(Y))return Le({task:o,type:Ae.Serializable,onPromise:l,detail:A&&Gr(Y)?Kr:fa});let V;try{V=jr([Y,q?pa(N):N.toMetadata()])}catch(se){let ve=se instanceof Error?se.message:String(se);return Le({task:o,type:Ae.Serializable,onPromise:l,detail:ve})}if(typeof V!=="string")return Le({task:o,type:Ae.Serializable,onPromise:l,detail:"Envelope body metadata must be JSON serializable."});let X=ha.encode(V),fe=X.byteLength,Te=Q(w,E);if(Te!==-1){if(!te(o,fe,"EnvelopeStaticHeaderExternal"))return!1;let se=g(o,fe);o[s.Type]=y?v.EnvelopeStaticHeaderStringExternal:v.EnvelopeStaticHeaderExternal,o[s.PayloadLen]=Te,o[s.End]=fe;let ve=L(X,o[s.Start]);if(ve<0)return m(o,se);return p(se,ve),wr(o,N),o.value=null,!0}let ke=ie(o,w,fe,y?"EnvelopeDynamicHeaderStringExternal":"EnvelopeDynamicHeaderExternal");if(ke<0)return!1;o[s.Type]=y?v.EnvelopeDynamicHeaderStringExternal:v.EnvelopeDynamicHeaderExternal;let pe=g(o,ke+fe),R=o[s.Start],Z=_(w,R,ke);if(Z<0)return m(o,pe);if(L(X,R+Z)<0)return m(o,pe);return o[s.PayloadLen]=Z,o[s.End]=fe,p(pe,Z+fe),wr(o,N),o.value=null,!0},er=(o,E,w)=>{let{header:y,payload:N}=w,q=typeof y==="string";if(N instanceof ArrayBuffer){let V=Xe(o,y,q);if(V===void 0)return!1;return ge(o,E,V,q,N)}let Y=Ze(N);if(Y!==void 0){let V=Xe(o,y,q);if(V===void 0)return!1;return Me(o,E,V,q,Y.payload,Y.trustedReservedCodec)}return Le({task:o,type:Ae.Serializable,onPromise:l,detail:ca})},nr=(o,E)=>{if(wt(o))E.then((w)=>{et(o),o.value=w,l(o,!1,w)},(w)=>{et(o),o.value=w,l(o,!0,w)});return!1};return(o,E)=>{let w=o.value;if(uu(o))return!0;switch(typeof w){case"bigint":{let y=j(w),N=h.subarray(0,y);if(y<=G){let V=O(N,E);if(V!==-1)return o[s.Type]=v.StaticBigInt,o[s.PayloadLen]=V,b(y),o.value=null,!0}if(o[s.Type]=v.BigInt,!te(o,y,"BigInt"))return b(y),!1;let q=P(o,y),Y=L(N,o[s.Start]);if(Y<0)return b(y),m(o,q);return o[s.PayloadLen]=Y,p(q,Y),b(y),o.value=null,!0}case"function":return Le({task:o,type:Ae.Function,onPromise:l});case"object":d=-1;try{let y=w,N=In(y);if(N!==void 0)return Ce(o,E,N,!0);let q=Aa(y);if(zi(y))return ce(o,E,y);if(Ht(y)&&Mn(y))return we(o,E,y);if(Ht(y)||q===Ba||q===null){let V;try{V=jr(y)}catch(ke){let pe=ke instanceof Error?ke.message:String(ke);return Le({task:o,type:Ae.Json,onPromise:l,detail:pe})}if(V.length<=G){let ke=Q(V,E);if(ke!==-1)return o[s.Type]=v.StaticJson,o[s.PayloadLen]=ke,o.value=null,!0}o[s.Type]=v.Json;let X=i(o,V,"Json");if(X<0)return!1;let fe=g(o,X),Te=_(V,o[s.Start],X);if(Te<0)return m(o,fe);return o[s.PayloadLen]=Te,p(fe,Te),o.value=null,!0}if(tt(y)||Nt(y))return Ce(o,E,y,!0);let Y=y.constructor;if($i(y))return oe(o,E,y);switch(Y){case ArrayBuffer:return Ge(o,E,y);case Int32Array:{let V=y;return C(o,E,new Uint8Array(V.buffer,V.byteOffset,V.byteLength),v.Int32Array,v.StaticInt32Array)}case Float64Array:return be(o,E,y);case BigInt64Array:{let V=y;return C(o,E,new Uint8Array(V.buffer,V.byteOffset,V.byteLength),v.BigInt64Array,v.StaticBigInt64Array)}case BigUint64Array:{let V=y;return C(o,E,new Uint8Array(V.buffer,V.byteOffset,V.byteLength),v.BigUint64Array,v.StaticBigUint64Array)}case DataView:{let V=y;return C(o,E,new Uint8Array(V.buffer,V.byteOffset,V.byteLength),v.DataView,v.StaticDataView)}case Date:return Re(o,y);case yr:return er(o,E,y);case Promise:return nr(o,y);case Error:return M(o,y)}if(y instanceof Date)return Re(o,y);if(y instanceof yr)return er(o,E,y);if(y instanceof Promise)return nr(o,y);if(y instanceof Error)return M(o,y);if(ya(y))return Ce(o,E,y);return Le({task:o,type:Ae.Serializable,onPromise:l,detail:ua})}catch(y){f();let N=y instanceof Error?y.message:String(y);return Le({task:o,type:Ae.Serializable,onPromise:l,detail:N})}case"string":{let y=w;if(y.length<=G){let V=Q(y,E);if(V!==-1)return o[s.Type]=v.StaticString,o[s.PayloadLen]=V,o.value=null,!0}o[s.Type]=v.String;let N=i(o,y,"String");if(N<0)return!1;let q=P(o,N),Y=_(y,o[s.Start],N);if(Y<0)return m(o,q);return o[s.PayloadLen]=Y,p(q,Y),o.value=null,!0}case"symbol":{let y=Qi(w);if(y===void 0)return Le({task:o,type:Ae.Symbol,onPromise:l});if(y.length*3<=G){let V=Q(y,E);if(V!==-1)return o[s.Type]=v.StaticSymbol,o[s.PayloadLen]=V,o.value=null,!0}o[s.Type]=v.Symbol;let N=i(o,y,"Symbol");if(N<0)return!1;let q=P(o,N),Y=_(y,o[s.Start],N);if(Y<0)return m(o,q);return o[s.PayloadLen]=Y,p(q,Y),o.value=null,!0}}return!1}},yu=({lockSector:e,payload:r,sab:t,payloadConfig:n,headersBuffer:a,headerSlotStrideU32:u,textCompat:c,host:l,processBoundary:A=!1})=>{let F=r?.sab??t,x=cr({sab:F,options:r?.config??n}),{free:W}=Sn({lockSector:e}),k=(i)=>W(vo(i)),{readUtf8:p,readBytesCopy:H,readBytesBufferCopy:L,readBufferCopy:B,readBytesArrayBufferCopy:I,readArrayBufferCopy:ee,read8BytesFloatCopy:_,read8BytesFloatView:G}=xn({sab:F,payloadConfig:x,textCompat:c?.payload}),{readUtf8:O,readBytesBufferCopy:ue,readBufferCopy:ae,readUint8ArrayCopy:K,readBytesArrayBufferCopy:U,readArrayBufferCopy:z,read8BytesFloatCopy:Q,readU32Words:J}=Ta(a,u,c?.headers),ne=new Uint32Array(jt),te=new Uint32Array(Mt),ie=new Uint32Array(On);return(i,P,d)=>{let g=i[s.Type];if(A&&(g===v.SharedArrayBuffer||g===v.BufferReference))throw TypeError(Kr);switch(g){case Ke.BigInt:tr[0]=i[s.Start],tr[1]=i[s.End],i.value=ga[0];return;case Ke.True:i.value=!0;return;case Ke.False:i.value=!1;return;case Ke.Float64:tr[0]=i[s.Start],tr[1]=i[s.End],i.value=Wt[0];return;case Ke.NaN:i.value=NaN;return;case Ke.Null:i.value=null;return;case Ke.Undefined:i.value=void 0;return;case v.String:i.value=p(i[s.Start],i[s.Start]+i[s.PayloadLen]),k(i);return;case v.StaticString:i.value=O(0,i[s.PayloadLen],P);return;case v.Json:i.value=mr(p(i[s.Start],i[s.Start]+i[s.PayloadLen])),k(i);return;case v.StaticJson:i.value=mr(O(0,i[s.PayloadLen],P));return;case v.EnvelopeStaticHeader:case v.EnvelopeStaticHeaderString:{let f=O(0,i[s.PayloadLen],P),m=i[s.Type]===v.EnvelopeStaticHeaderString?f:mr(f),h=i[s.End],j=h>0?I(i[s.Start],i[s.Start]+h):new ArrayBuffer(0);i.value=new yr(m,j),k(i);return}case v.EnvelopeDynamicHeader:case v.EnvelopeDynamicHeaderString:{let f=i[s.Start],m=f+i[s.PayloadLen],h=i[s.End],j=p(f,m),b=i[s.Type]===v.EnvelopeDynamicHeaderString?j:mr(j),M=h>0?I(m,m+h):new ArrayBuffer(0);i.value=new yr(b,M),k(i);return}case v.EnvelopeStaticHeaderExternal:case v.EnvelopeStaticHeaderStringExternal:{let f=O(0,i[s.PayloadLen],P),m=i[s.Type]===v.EnvelopeStaticHeaderStringExternal?f:mr(f),h=i[s.Start],j=Dt(p(h,h+i[s.End]),A);i.value=new yr(m,j),k(i);return}case v.EnvelopeDynamicHeaderExternal:case v.EnvelopeDynamicHeaderStringExternal:{let f=i[s.Start],m=f+i[s.PayloadLen],h=p(f,m),j=i[s.Type]===v.EnvelopeDynamicHeaderStringExternal?h:mr(h),b=Dt(p(m,m+i[s.End]),A);i.value=new yr(j,b),k(i);return}case v.BigInt:i.value=ma(L(i[s.Start],i[s.Start]+i[s.PayloadLen])),k(i);return;case v.StaticBigInt:i.value=ma(ue(0,i[s.PayloadLen],P));return;case v.Symbol:i.value=Nn(p(i[s.Start],i[s.Start]+i[s.PayloadLen])),k(i);return;case v.StaticSymbol:i.value=Nn(O(0,i[s.PayloadLen],P));return;case v.Int32Array:{let f=L(i[s.Start],i[s.Start]+i[s.PayloadLen]);i.value=new Int32Array(f.buffer,f.byteOffset,f.byteLength>>>2),k(i);return}case v.StaticInt32Array:{let f=ue(0,i[s.PayloadLen],P);i.value=new Int32Array(f.buffer,f.byteOffset,f.byteLength>>>2);return}case v.Float64Array:{i.value=_(i[s.Start],i[s.Start]+i[s.PayloadLen]),k(i);return}case v.StaticFloat64Array:i.value=Q(0,i[s.PayloadLen],P);return;case v.NumericArray:{i.value=Fn(G(i[s.Start],i[s.Start]+i[s.PayloadLen])),k(i);return}case v.StaticNumericArray:i.value=Fn(Q(0,i[s.PayloadLen],P));return;case v.BigInt64Array:{let f=L(i[s.Start],i[s.Start]+i[s.PayloadLen]);i.value=new BigInt64Array(f.buffer,f.byteOffset,f.byteLength>>>3),k(i);return}case v.StaticBigInt64Array:{let f=ue(0,i[s.PayloadLen],P);i.value=new BigInt64Array(f.buffer,f.byteOffset,f.byteLength>>>3);return}case v.BigUint64Array:{let f=L(i[s.Start],i[s.Start]+i[s.PayloadLen]);i.value=new BigUint64Array(f.buffer,f.byteOffset,f.byteLength>>>3),k(i);return}case v.StaticBigUint64Array:{let f=ue(0,i[s.PayloadLen],P);i.value=new BigUint64Array(f.buffer,f.byteOffset,f.byteLength>>>3);return}case v.DataView:{let f=L(i[s.Start],i[s.Start]+i[s.PayloadLen]);i.value=new DataView(f.buffer,f.byteOffset,f.byteLength),k(i);return}case v.StaticDataView:{let f=ue(0,i[s.PayloadLen],P);i.value=new DataView(f.buffer,f.byteOffset,f.byteLength);return}case v.ExternalPayload:i.value=Dt(p(i[s.Start],i[s.Start]+i[s.PayloadLen]),A),k(i);return;case v.StaticExternalPayload:i.value=Dt(O(0,i[s.PayloadLen],P),A);return;case v.ProcessSharedBuffer:i.value=au(J(ne,jt,P));return;case v.SharedArrayBuffer:i.value=iu(J(te,i[s.PayloadLen]>>>2,P));return;case v.BufferReference:i.value=su(J(ie,On,P));return;case v.Date:tr[0]=i[s.Start],tr[1]=i[s.End],i.value=new Date(Wt[0]);return;case v.Error:i.value=fu(p(i[s.Start],i[s.Start]+i[s.PayloadLen])),k(i);return;case v.Binary:{let f=L(i[s.Start],i[s.Start]+i[s.PayloadLen]);i.value=new Uint8Array(f.buffer,f.byteOffset,f.byteLength)}k(i);return;case v.StaticBinary:i.value=K(0,i[s.PayloadLen],P);return;case v.ArrayBuffer:i.value=ee(i[s.Start],i[s.Start]+i[s.PayloadLen]),k(i);return;case v.StaticArrayBuffer:i.value=z(0,i[s.PayloadLen],P);return;case v.Buffer:i.value=B(i[s.Start],i[s.Start]+i[s.PayloadLen]),k(i);return;case v.StaticBuffer:i.value=ae(0,i[s.PayloadLen],P);return}}};Eo(du,yu);var $r=Symbol.for("task");var pu=/^[A-Za-z]:[\\/]/,mu=/^\\\\[^\\/?]+\\[^\\/?]+/,Kn=(e)=>encodeURI(e).replace(/\?/g,"%3F").replace(/#/g,"%23"),gu=()=>dt("node:url")?.pathToFileURL,hu=(e)=>{let r=e.startsWith("/")?e:`/${e}`;return`file://${Kn(r)}`},gr=(e)=>{if(pu.test(e)){let r=e.replace(/\\/g,"/");return`file:///${Kn(r)}`}if(mu.test(e)){let r=e.replace(/^\\\\+/,"").replace(/\\/g,"/");return`file://${Kn(r)}`}try{return new URL(e).href}catch{let r=gu();return r?r(e).href:hu(e)}},ka=(e)=>{if(!Sr||!e.startsWith("file://"))return e;let r=e.slice(7),t=r.startsWith("/")?r:`/${r}`;try{return decodeURIComponent(t)}catch{return t}};var nt={Reject:0,Resolve:1},bu=(e)=>{if(e==null)return;if(typeof e==="number"){let t=Math.floor(e);return t>=0?{ms:t,kind:nt.Reject,value:Error("Task timeout")}:void 0}let r=Math.floor(e.time);if(!(r>=0))return;if("default"in e)return{ms:r,kind:nt.Resolve,value:e.default};if(e.maybe===!0)return{ms:r,kind:nt.Resolve,value:void 0};if("error"in e)return{ms:r,kind:nt.Reject,value:e.error};return{ms:r,kind:nt.Reject,value:Error("Task timeout")}},Su=(e,r)=>e.f,Ea=async({list:e,ids:r,names:t,at:n,permission:a})=>{let u=e.map((p)=>gr(p)),c=new Set(t),A=(await Promise.all(u.map(async(p)=>{let H=await import(ka(p)),L=Object.entries(H).filter(([I,ee])=>ee!=null&&typeof ee==="object"&&ee?.[$r]===!0).map(([I,ee])=>({...ee,name:I})),B=Object.entries(H).filter(([I,ee])=>c.has(I)&&typeof ee==="function").map(([I,ee])=>({f:ee,id:-1,importedFrom:p,at:-1,name:I,[$r]:!0}));return[...L,...B]}))).flat(),F=u.length===1&&n.length>0,x=F?new Set(n):null,W=F?u[0]:null;return A.filter((p)=>F?p.importedFrom===W&&x.has(p.at):r.includes(p.id)).sort((p,H)=>p.name.localeCompare(H.name)).map((p)=>({...p,run:Su(p,a),timeout:bu(p.timeout)}))};var Au={thisIsAHint:0},Bu=(()=>{let e=globalThis,r=typeof e.gc==="function"?()=>e.gc():void 0;if(r){try{delete e.gc}catch{e.gc=void 0}if(e.global)try{delete e.global.gc}catch{e.global.gc=void 0}}return r??(()=>{})})();var{load:wu,store:Ra}=Atomics,ot=typeof Atomics.wait==="function"?Atomics.wait:void 0,xa=performance.now.bind(performance),La=ot===void 0||typeof SharedArrayBuffer!=="function"?void 0:new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)),va="pause"in Atomics?Atomics.pause:void 0,Gt=globalThis,Tu=Gt.process?.platform==="win32"&&typeof Gt.process?.versions?.node==="string"&&Gt.process?.versions?.bun===void 0&&Gt.Deno===void 0,ku=(e)=>Tu?1:Number.isFinite(e)?e:1/0,Eu=(e)=>Number.isFinite(e)?Math.min(Math.max(e,0),1):1,$t=({pauseInNanoseconds:e})=>{let r=e??250;if(!va||r<=0)return()=>{};return()=>va(r)},Gn=$t({}),Pa=({at:e,opView:r,pauseInNanoseconds:t,rxStatus:n,txStatus:a,enqueueLock:u,write:c,nativeWaitU32:l,useSharedMemoryWait:A=!0,flushBeforeClaim:F=!1})=>{let x=t===void 0?Gn:$t({pauseInNanoseconds:t}),W=()=>{if(!c)return!1;let p=c();if(typeof p==="number")return p>0;return p===!0},k=F?()=>{let p=W();return u()||p}:()=>{let p=u();return W()||p};return(p,H,L)=>{let B=xa()+H/1000;Bu();let I=0;while(!0){if(wu(r,e)!==p||a[Au.thisIsAHint]===1)return;if(k())return;if(x(),(I++&63)===0&&xa()>=B)break}if(k())return;if(Ra(n,0,0),l!==void 0)l(r.buffer,r.byteOffset+e*Int32Array.BYTES_PER_ELEMENT,p>>>0,ku(L));else if(A&&ot&&r.buffer instanceof SharedArrayBuffer)ot(r,e,p,L??1/0);else if(ot&&La)ot(La,0,0,Eu(L));Ra(n,0,1)}};var at=(e)=>e instanceof Error?e.message:String(e),zt=(e,r,t)=>{let n=t===void 0?"":`: ${at(t)}`;throw Error(`KNT_ERROR_PROCESS_GUARD_INSTALL: ${e} ${r}${n}`)},$n=()=>{let e=Ue();if(!e)return;if(e.__knittingTerminationGuard===!0)return;let r=(a)=>{throw Error(`KNT_ERROR_PROCESS_GUARD: ${a} is disabled in worker tasks`)},t=(a)=>{try{Object.defineProperty(e,a,{configurable:!1,writable:!1,value:(...u)=>r(`process.${a}`)})}catch(u){try{e[a]=(...c)=>r(`process.${a}`)}catch(c){zt(`process.${a}`,"install failed",[at(u),at(c)].join("; "))}}if(typeof e[a]!=="function")zt(`process.${a}`,"install verification failed")};t("exit"),t("kill"),t("abort"),t("reallyExit");let n=globalThis;if(n.Deno&&typeof n.Deno.exit==="function"){try{Object.defineProperty(n.Deno,"exit",{configurable:!1,writable:!1,value:(a)=>r("Deno.exit")})}catch(a){try{n.Deno.exit=(u)=>r("Deno.exit")}catch(u){zt("Deno.exit","install failed",[at(a),at(u)].join("; "))}}if(typeof n.Deno.exit!=="function")zt("Deno.exit","install verification failed")}e.__knittingTerminationGuard=!0},zn=()=>{let e=Ue();if(!e||typeof e.on!=="function")return;if(e.__knittingUnhandledRejectionSilencer===!0)return;e.__knittingUnhandledRejectionSilencer=!0,e.on("unhandledRejection",()=>{})};var Yn=()=>{let e=globalThis;if(e.__knittingPerformanceNowGuardInstalled===!0)return;e.__knittingPerformanceNowGuardInstalled=!0;let r=globalThis.performance;if(!r||typeof r.now!=="function")return;try{r.now()}catch{}};var Vn=(e)=>{let r=e;try{r.sab=void 0,r.lock=void 0,r.returnLock=void 0,r.permission=void 0}catch{}try{delete r.sab}catch{}try{delete r.lock}catch{}try{delete r.returnLock}catch{}try{delete r.permission}catch{}try{Object.freeze(r)}catch{}};var _a=(e)=>Je(e?.headers)&&Je(e?.lockSector)&&Je(e?.payload)&&Je(e?.payloadSector)&&(e?.textCompat===void 0||ht(e.textCompat)),qn=({sab:e,lock:r,returnLock:t})=>{if(!Je(e))throw Error("worker missing transport SAB");if(!_a(r))throw Error("worker missing lock SABs");if(!_a(t))throw Error("worker missing return lock SABs")},Qn=({list:e,ids:r,names:t,listOfFunctions:n})=>{if(n.length>0&&(t===void 0||n.length===t.length))return;if(console.log(e),console.log(r),t!==void 0)console.log(t);throw console.log(n),Error("No imports were found.")};var Xn=32,Jn=Xn-1,Ca=Symbol.for("knitting.abortSignal.poolExhausted");var st=({sab:e,maxSignals:r})=>{let t=je(e),n=new Uint32Array(t.sab,t.byteOffset,t.byteLength/Uint32Array.BYTES_PER_ELEMENT),a=n.length,u=new Uint32Array(a),c=a*Xn,l=(()=>{if(!Number.isFinite(r))return c;let B=Math.floor(r);if(B<=0)return c;return Math.min(B,c)})(),A=l+1,F=0,x=0;return{max:l,closeNow:A,getSignal:()=>{if(F>=l)return A;for(let B=0;B<a;B++){let I=(x+B)%a,ee=I<<5,_=l-ee;if(_<=0)continue;let G=_>=Xn?4294967295:(1<<_)-1>>>0,O=(~u[I]&G)>>>0;if(O===0)continue;let ue=(O&-O)>>>0;u[I]=(u[I]|ue)>>>0,F=F+1|0,x=(I+1)%a,Atomics.and(n,I,~ue);let ae=31-Math.clz32(ue);return(I<<5)+ae}return A},setSignal:(B)=>{if(B===A)return 0;if(!Number.isInteger(B))return-1;if(B<0||B>=l)return-1;let I=B>>>5,ee=1<<(B&Jn);return Atomics.or(n,I,ee),1},abortAll:()=>{for(let B=0;B<a;B++)Atomics.store(n,B,u[B]);return F},hasAborted:(B)=>{if(B===A)return!0;if(!Number.isInteger(B))return!1;if(B<0||B>=l)return!1;let I=B>>>5,ee=1<<(B&Jn);return(Atomics.load(n,I)&ee)!==0},resetSignal:(B)=>{if(B===A)return!1;if(!Number.isInteger(B))return!1;if(B<0||B>=l)return!1;let I=B>>>5,ee=1<<(B&Jn);if((u[I]&ee)===0)return!1;if(u[I]=(u[I]&~ee)>>>0,F>0)F=F-1|0;return x=I,Atomics.and(n,I,~ee),!0},inUseCount:()=>F}};class Zn{#e=!1;constructor(e,r,t){let n=(a)=>(...u)=>{if(this.#e)return;this.#e=!0,r(),a(...u)};e.resolve=n(e.resolve),e.reject=n(e.reject),e.promise.reject=(a)=>{if(this.#e)return;if(a===void 0&&t!==void 0){t();return}e.reject(a)}}}var Ru="default",xu=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return typeof r.href==="string"&&r.href.length>0&&(r.name===void 0||typeof r.name==="string"&&r.name.length>0)},Lu=(e)=>{try{return Rr.fromMetadata(e),!0}catch{return!1}},eo=(e,r=new WeakMap)=>{if(Lu(e))return Rr.fromMetadata(e);if(e===null||typeof e!=="object")return e;let t=r.get(e);if(t!==void 0)return t;if(Array.isArray(e)){let u=[];r.set(e,u);for(let c of e)u.push(eo(c,r));return u}let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==null)return e;let a={};r.set(e,a);for(let[u,c]of Object.entries(e))a[u]=eo(c,r);return a},Ia=async({bootstrap:e,thread:r,totalNumberOfThread:t})=>{if(e===void 0)return;if(!xu(e))throw TypeError("worker.bootstrap must include a non-empty href");let n=await import(gr(e.href)),a=e.name??Ru,u=n[a];if(typeof u!=="function"){let l=Object.keys(n).join(", ");throw TypeError(`worker.bootstrap expected export "${a}" from "${e.href}" to be a function. Available exports: ${l||"(none)"}`)}let c=Object.freeze({thread:r,totalNumberOfThread:t,runtime:Qe});await u(eo(e.data),c)};var Ma=()=>{return},Fa=()=>{};var vu=(e)=>{let r=globalThis.Deno?.env;if(typeof r?.get==="function")try{return r.get(e)}catch{}try{return Ue()?.env?.[e]}catch{return}},Pu=vu("KNITTING_DEBUG"),Na=new Set((Pu??"").split(",").map((e)=>e.trim()).filter((e)=>e.length>0)),Oa=Na.size>0,Yt=(e)=>{let r=new Set(Na);if(e===!0)r.add("*");else if(e!==void 0&&e!==!1){for(let[t,n]of Object.entries(e))if(n===!0)r.add(t)}return r};var Iu="__knittingWorkerFatal",Vt=(e)=>{let r=String(e?.message??e),t={[Iu]:r},n=!1;try{Jr?.postMessage?.(t),n=Jr!==void 0}catch{}if(!n)try{globalThis.postMessage(t),n=!0}catch{}if(!n){try{console.error(`Worker startup failed: ${r}`)}catch{}if(Ar)try{Ue()?.exit?.(1)}catch{}}},Mu=(e)=>{let r=(n)=>{let a=Ho(n);if(a!==void 0)e(a)};if(Jr!==void 0){Ao(Jr,r);return}globalThis.addEventListener?.("message",(n)=>{r(n?.data)})},qt=async(e)=>{$n(),zn(),Yn();let{debug:r,sab:t,thread:n,startAt:a,workerOptions:u,lock:c,returnLock:l,abortSignalSAB:A,abortSignalMax:F,payloadConfig:x,bufferReferenceReturn:W,permission:k,totalNumberOfThread:p,list:H,ids:L,names:B,at:I,steal:ee}=e;Vn(e),qn({sab:t,lock:c,returnLock:l});let _=Yt(r),G=_.size>0?await Promise.resolve().then(() => (Ha(),Ua)).then((X)=>X.initDebug({name:`w${n}`,runtime:Qe,namespaces:_})):void 0,O={thisIsAHint:0},ue=Pt({sabObject:{sharedSab:t},isMain:!1,thread:n,startTime:a}),ae=Tr({headers:c.headers,headerSlotStrideU32:c.headerSlotStrideU32,LockBoundSector:c.lockSector,payload:c.payload,payloadSector:c.payloadSector,payloadConfig:x,textCompat:c.textCompat,processBoundary:Ar,consumers:ee?.consumers,consumerId:ee?.consumerId,regionLanes:ee?.regionLanes}),K=Tr({headers:l.headers,headerSlotStrideU32:l.headerSlotStrideU32,LockBoundSector:l.lockSector,payload:l.payload,payloadSector:l.payloadSector,payloadConfig:x,textCompat:l.textCompat,processBoundary:Ar}),U=u?.timers,z=U?.spinMicroseconds??Math.max(1,p)*50,Q=G!==void 0?Number.POSITIVE_INFINITY:U?.parkMs??Math.max(1,p)*50,J=(()=>{let X=typeof U?.pauseNanoseconds==="number"?$t({pauseInNanoseconds:U.pauseNanoseconds}):Gn;return()=>X()})(),{opView:ne,rxStatus:te,txStatus:ie}=ue,i=Atomics.store,P=Atomics.load,d=Ma();await Ia({bootstrap:u?.bootstrap,thread:n,totalNumberOfThread:p}),G?.envPhase("bootstrap");let g=await Ea({list:H,isWorker:!0,ids:L,names:B,at:I,permission:k});G?.envPhase("tasks"),G?.log("imports",`${g.length} task(s) from ${H.map((X)=>X.split(/[\\/]/).pop()||X).join(", ")}`),Qn({list:H,ids:L,names:B,listOfFunctions:g});let f=A?st({sab:A,maxSignals:F}):void 0,{enqueueLock:m,serviceBatchImmediate:h,hasCompleted:j,writeBatch:b,hasPending:M,getAwaiting:C,drainReturnReleases:ce,releaseReturnedBufferReference:oe}=Go({listOfFunctions:g,workerOptions:u,lock:ae,returnLock:K,borrowReturnedBufferReferences:W==="borrow",hasAborted:f?.hasAborted,stealing:ee!==void 0});Mu(oe),i(te,0,1);let be=64,Ie=Pa({opView:ne,at:0,rxStatus:te,txStatus:ie,pauseInNanoseconds:U?.pauseNanoseconds,enqueueLock:m,write:()=>j()?b(be):0,flushBeforeClaim:ee!==void 0,nativeWaitU32:d,useSharedMemoryWait:!(Ar&&Qe==="node"&&d===void 0)}),we=Mr(),Ge=we.port1,de=we.port2,ye=(X)=>de.postMessage(X),Fe=!1,De=0,Ne=0,Ce=10,Re=P(ne,0),Xe=()=>{if(Fe)return;Fe=!0,ye(null)},Ze=(X)=>{if(Fe)return;if(Fe=!0,X<=0&&typeof rn==="function"){rn(Y);return}if(X<=0){ye(null);return}if(typeof setTimeout==="function"){setTimeout(Y,X);return}ye(null)},ge=G?.enabled("signals")===!0,Me=j,er=M,nr=C,ir=ce,o=J,E=ge?()=>{let X=m();if(X)G.log("signals","work from=host");return X}:m,w=ge?(X)=>{let fe=b(X);if(fe>0)G.log("signals",`result count=${fe}`);return fe}:b,y=ge?()=>{let X=h();if(X>0)G.log("signals",`run count=${X}`);return X}:h,N=ge?(X,fe,Te)=>{G.log("signals",`idle token=${X}`),Ie(X,fe,Te)}:Ie,q=ee!==void 0,Y=()=>{Fe=!1;let X=!0,fe=0;while(!0){if(q){if(Me()){if(w(be)>0)X=!0}X=E()||X}else if(X=E(),Me()){if(w(be)>0)X=!0}if(ir(),er()){if(y()>0)X=!0}if((fe=nr())>0){if(fe!==Ne)De=0;Ne=fe,De++;let Te=Math.min(Ce,Math.max(0,De-1));Ze(Te);return}if(De=Ne=0,!X){if(ie[O.thisIsAHint]===1){o();continue}N(Re,z,Q),Re=P(ne,0)}}},V=Ge;if(typeof V.on==="function")V.on("message",Y);else V.onmessage=Y;V.start?.(),de.start?.(),G?.log("lifecycle",`ready: ${g.length} task(s) on thread ${n}/${p}, entering dispatch loop`),Xe()},Fu=()=>{let e=globalThis.WorkerGlobalScope;if(typeof e==="function")try{if(globalThis instanceof e)return!0}catch{}if(Sr&&typeof globalThis.self<"u")return!0;return!1},ja=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return Je(r.headers)&&Je(r.lockSector)&&Je(r.payload)&&Je(r.payloadSector)&&(r.textCompat===void 0||ht(r.textCompat))},it=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return Je(r.sab)&&Array.isArray(r.list)&&Array.isArray(r.ids)&&Array.isArray(r.names)&&Array.isArray(r.at)&&typeof r.thread==="number"&&typeof r.totalNumberOfThread==="number"&&typeof r.startAt==="number"&&(r.abortSignalSAB===void 0||Je(r.abortSignalSAB))&&ja(r.lock)&&ja(r.returnLock)},Nu=()=>{let e=globalThis,r=(t)=>{if(!it(t))return;qt(t).catch(Vt)};if(typeof e.addEventListener==="function"&&typeof e.removeEventListener==="function"){let t=(n)=>{let a=n?.data;if(!it(a))return;try{e.removeEventListener?.("message",t)}catch{}r(a)};e.addEventListener("message",t);return}e.onmessage=(t)=>{let n=t?.data;if(!it(n))return;e.onmessage=null,r(n)}};if(Br===!1&&it(Qr))qt(Qr).catch(Vt);else if(Ar)Fa({isWorkerBootPayload:it,reportWorkerStartupFatal:Vt,startWorker:(e)=>{qt(e).catch(Vt)}});else if(Fu())Nu();var no=((e)=>()=>e++)(0),Ou=["/src/common/task-source.ts","/src/common/task-source.js","\\src\\common\\task-source.ts","\\src\\common\\task-source.js","/src/api.ts","/src/api.js","\\src\\api.ts","\\src\\api.js"],Ka=new Set(["collectStackFrames","resolveCallerHref","getCallerFilePath","buildTaskDefinition","buildTaskDefinitionFromCaller","task","importTask"]),Du=(e)=>e!==void 0,Wu=(e)=>Ou.some((r)=>e.includes(r)),za=(e)=>e.startsWith("node:")||e.startsWith("native:")||e.startsWith("bun:")||e.startsWith("internal/"),Uu=(e,r)=>e!==void 0&&Ka.has(e)||r!==void 0&&Ka.has(r),Hu=()=>{let e=Error,r=e.prepareStackTrace;try{e.prepareStackTrace=(a,u)=>u;let t=Error().stack;if(!Array.isArray(t))return[];return t.map((a)=>{try{let u=a?.getFileName?.();if(typeof u!=="string"||u.length===0)return;return{file:u,functionName:a?.getFunctionName?.()??void 0,methodName:a?.getMethodName?.()??void 0}}catch{return}}).filter(Du)}finally{e.prepareStackTrace=r}},Ga=(e)=>za(e.file)||Wu(e.file)||Uu(e.functionName,e.methodName),to,Ya=(e)=>{to=typeof e==="string"&&e.length>0?gr(e):void 0};var Va=(e)=>{if(to!==void 0)return to;let r=Hu(),t=r[e],n=(t&&!Ga(t)?t.file:void 0)??r.find((a)=>!Ga(a))?.file??r.find((a)=>!za(a.file))?.file;if(!n)throw Error("Unable to determine caller file. This runtime exposes no stack traces (e.g. Andromeda); call setModuleUrl(import.meta.url) at the top of the module that defines your tasks before creating a pool.");return gr(n)},$a=new Map,qa=(e=3)=>Va(e),oo=(e=3)=>{let r=Va(e),t=$a.get(r)??0;return $a.set(r,t+1),[r,t]};var Qa=(e,r)=>{let t=e;return t.reject=r,t},Qt=()=>{let e=Promise.withResolvers;if(typeof e==="function"){let a=e.call(Promise);return{promise:Qa(a.promise,a.reject),resolve:a.resolve,reject:a.reject}}let r,t;return{promise:Qa(new Promise((a,u)=>{r=a,t=u}),t),resolve:r,reject:t}};var ju=31,Ku=134217727,Gu=5,$u=65535,zu=65535,Yu=16,Vu=1;var qu=performance.now.bind(performance);function ao({max:e,lock:r,returnLock:t,extraReturnLocks:n,releaseBufferReferenceReturn:a,abortSignals:u,now:c}){let l=(d)=>{throw"UNREACHABLE FROM PLACE HOLDER (main)"},A=(d)=>{let g=Fo();return g[s.ID]=d,g[s.FunctionID]=0,g.value=null,g.resolve=l,g.reject=l,g},F=e??10,x=Array.from({length:F},(d,g)=>A(g)),W=Array.from({length:F},(d,g)=>g),k=(d)=>W.push(d),p=()=>W.pop(),H=(d)=>x.push(d),{publish:L,flushPending:B,hasPendingFrames:I,getPendingFrameCount:ee,getPendingPromiseCount:_,resetPendingState:G}=r,O=0,ue=u?.resetSignal,ae=c??qu,K=(d)=>{O=O-1|0,ln(d),Or(d),d.value=null,d.resolve=l,d.reject=l,k(d[s.ID])},U=[t,...n??[]].map((d)=>d.resolveHost({queue:x,activeRejectPlaceholder:l,onResolved:K})),z=Array(U.length);if(a!==void 0)z[0]=a;let Q=(d)=>{let g=U[d],f=z[d];return f===void 0?g():mn(f,g)},J=U.length===1?a===void 0?U[0]:()=>mn(a,U[0]):()=>{let d=0;for(let g=0;g<U.length;g++)d=d+Q(g)|0;return d},ne=()=>(O-_()|0)>0,te=()=>ee()===0&&!ne(),ie=(d)=>{for(let g=0;g<x.length;g++){let f=x[g];if(f.reject!==l){try{f.reject(d)}catch{}Or(f),f.resolve=l,f.reject=l,x[g]=A(g)}}G(),O=0},i=()=>B(),P=(d)=>L(d);return{rejectAll:ie,hasPendingFrames:I,txIdle:te,completeFrame:J,setReturnHooks:(d,g)=>{if(!Number.isInteger(d)||d<0||d>=z.length)throw RangeError(`return lane ${d} out of range`);z[d]=g},enqueue:(d,g,f)=>{let m=g!==void 0,h=d&$u,j=f!==void 0&&u!==void 0;return(b)=>{if(O===x.length){let oe=O+32,be=x.length;while(oe>be)H(A(be)),k(be),be++}let M=p(),C=x[M],ce=Qt();if(C[s.FunctionID]=h,j){let oe=u.getSignal();if(oe===u.closeNow)return Promise.reject(Ca);new Zn(ce,()=>ue(oe),()=>{u.setSignal(oe)});let be=(oe+Vu&zu)>>>0;C[s.FunctionID]=(be<<Yu|h)>>>0}if(C.value=b,C[s.ID]=M,C.resolve=ce.resolve,C.reject=ce.reject,m)C[s.slotBuffer]=(C[s.slotBuffer]&ju|(ae()>>>0&Ku)<<Gu>>>0)>>>0;return L(C),O=O+1|0,ce.promise}},flushToWorker:i,enqueueKnown:P,settlePromisePayload:(d,g,f)=>{if(d.reject===l)return!1;if(g){try{d.reject(f)}catch{}return ln(d),Or(d),d.value=null,d.resolve=l,d.reject=l,O=O-1|0,k(d[s.ID]),!1}return d.value=f,P(d)}}}var Ja=()=>{return},Xa=()=>{return},Za=()=>{},_r=()=>{throw Error("process workers are unavailable in the browser build")},es=_r,rs=_r,ts=_r,ns=_r,Jt=_r,os=_r,as=_r;var ss=(e)=>e.split("=",1)[0],is=new Set(["--permission","--experimental-permission","--allow-fs-read","--allow-fs-write","--allow-worker","--allow-child-process","--allow-net","--allow-addons","--allow-ffi","--allow-wasi"]),Qu=new Set(["--experimental-ffi","--experimental-transform-types","--expose-gc","--no-warnings",...is]),Ju=(e)=>Qu.has(ss(e)),Xu=(e)=>is.has(ss(e)),io=(e)=>{if(!e||e.length===0)return;let r=e.filter(Ju);if(r.length===0)return;let t=new Set,n=[];for(let a of r){if(t.has(a))continue;t.add(a),n.push(a)}return n},us=(e)=>{let r=io(e);if(!r||r.length===0)return;let t=r.filter((n)=>!Xu(n));return t.length>0?t:void 0},Zu=(e)=>{if(e===null||typeof e!=="object")return!1;let r=Object.getPrototypeOf(e);return r===Object.prototype||r===null},so=(e,r=new WeakMap)=>{if(e instanceof Rr)return e.toMetadata();if(e===null||typeof e!=="object")return e;let t=r.get(e);if(t!==void 0)return t;if(Array.isArray(e)){let a=[];r.set(e,a);for(let u of e)a.push(so(u,r));return a}if(!Zu(e))return e;let n={};r.set(e,n);for(let[a,u]of Object.entries(e))n[a]=so(u,r);return n},cs=(e)=>{let r=e.bootstrap;if(r===void 0||r.data===void 0)return e;return{...e,bootstrap:{...r,data:so(r.data)}}},fs=(e)=>{try{e.unref?.(),Promise.resolve(e.terminate()).catch(()=>{})}catch{}};var Xt=({signalBox:{opView:e,txStatus:r,rxStatus:t},queue:{completeFrame:n,hasPendingFrames:a,flushToWorker:u,txIdle:c},channelHandler:l,dispatcherOptions:A,notifySignal:F})=>{let{load:x,store:W,notify:k}=Atomics,p=e.buffer instanceof SharedArrayBuffer,H=F??(()=>{if(p)k(e,0,1)}),L=()=>l.notify(),B=0,I=Math.max(0,(A?.stallFreeLoops??128)|0),ee=Math.max(0,(A?.maxBackoffMs??10)|0),_,G=!1,O=()=>{if(G){O.rerun=!0;return}if(c()){O.isRunning=!1;return}if(G=!0,_!==void 0)clearTimeout(_),_=void 0;do{if(O.rerun=!1,r[0]=1,x(t,0)===0)W(e,0,1),H();let ae=!1,K=!0;while(K){if(K=!1,n()>0)K=!0,ae=!0;while(a()){if(!u())break;K=!0,ae=!0}}if(r[0]=0,!c()){if(ae||a())B=0;else B=B+1|0;G=!1,ue();return}B=0}while(O.rerun);O.isRunning=!1,G=!1};O.isRunning=!1,O.rerun=!1;let ue=()=>{if(B<=I){L();return}if(_!==void 0)return;let ae=B-I-1|0;if(ae<0)ae=0;else if(ae>ee)ae=ee;O.isRunning=!1,_=setTimeout(()=>{if(_=void 0,!O.isRunning)O.isRunning=!0,O()},ae)};return{check:O}};class zr{channel;port1;port2;#e;constructor(){this.channel=Mr(),this.port1=this.channel.port1,this.port2=this.channel.port2,this.#e=(e)=>this.port2.postMessage(e)}notify(){this.#e(null)}open(e){let r=this.port1;if(typeof r.on==="function")r.on("message",e);else r.onmessage=e;this.port1.start?.(),this.port2.start?.()}close(){this.port1.onmessage=null,this.port2.onmessage=null,this.port1.close?.(),this.port2.close?.()}}var ls=()=>{throw Error("compiled workers are unavailable in the browser build")};var ds="__knittingWorkerFatal",ec=(e)=>!!e&&typeof e==="object"&&typeof e[ds]==="string",rc=1,tc=258,ys=(e)=>{if(!Number.isFinite(e))return;let r=Math.floor(e);return r>0?r:void 0},ps=(e)=>ys(e)??tc,ms=(e)=>Math.max(1,Math.ceil(e/32))*Uint32Array.BYTES_PER_ELEMENT,nc=(e)=>{let r=e?.timers?.parkMs??rc;if(e===void 0)return{timers:{parkMs:r}};return{...e,timers:{...e.timers,parkMs:r}}},oc=(e)=>({...e,mode:"fixed",payloadInitialBytes:e.payloadMaxByteLength}),ac=(e)=>{for(let r=Se.slots;r>=1;r>>=1)if(Se.slots/r>=e+1)return r;throw RangeError(`${e} stealing workers need more than ${Se.slots} lanes`)},gs=Se.slots-1,hs=({threads:e,payload:r,regionLanes:t,abortSignalCapacity:n,usesAbortSignal:a})=>{let u=cr({options:r}),c=()=>u.mode==="growable"?He(u.payloadInitialBytes,u.payloadMaxByteLength):He(u.payloadInitialBytes),l=()=>kn({signalBytes:0,abortBytes:0,lockSectorBytes:Wr,headerSlotStrideU32:fr,slotCount:Se.slots,headerLayout:"split"}),A=(G,O)=>({...G,payload:O,textCompat:Fr({headers:G.headers,payload:O})}),F=ac(e),x=t===void 0?F:Math.min(Math.max(1,t|0),F),W=l(),k=A(W.lock,c()),p=Tr({headers:k.headers,headerSlotStrideU32:k.headerSlotStrideU32,LockBoundSector:k.lockSector,payload:k.payload,payloadSector:k.payloadSector,payloadConfig:u,textCompat:k.textCompat,consumers:e,regionLanes:x}),H=[],L=[];for(let G=0;G<e;G++){let O=A(l().returnLock,c());H.push(O),L.push(Tr({headers:O.headers,headerSlotStrideU32:O.headerSlotStrideU32,LockBoundSector:O.lockSector,payload:O.payload,payloadSector:O.payloadSector,payloadConfig:u,textCompat:O.textCompat}))}let B=ps(n),I=a===!0?He(ms(B)):void 0,ee=I===void 0?void 0:st({sab:I,maxSignals:B}),_=ao({lock:p,returnLock:L[0],extraReturnLocks:L.slice(1),abortSignals:ee});return{submitBuffers:k,returnBuffers:H,hostSubmitLock:p,hostReturnLocks:L,sharedQueue:_,regionLanes:x,abortSignalSAB:I,abortSignalMax:I===void 0?void 0:B}},bs=({list:e,ids:r,names:t,sab:n,thread:a,debug:u,hostDebug:c,totalNumberOfThread:l,source:A,at:F,workerOptions:x,workerExecArgv:W,permission:k,host:p,payload:H,bufferReferenceReturn:L,abortSignalCapacity:B,usesAbortSignal:I,sharedChannelHandler:ee,stealPool:_})=>{if(x?.runtime==="compiled")return ls({list:e,names:t,workerOptions:x,hostDebug:c,abortSignalCapacity:B,usesAbortSignal:I});let G=new URL(import.meta.url),O=So,ue=cs(nc(x)),ae=ue.runtime==="process",K=ae?Jt(ue):void 0,U=ae?ts(ue):void 0,z=ae?rs(ue):void 0;if(!ae&&typeof O!=="function")throw Error("Worker is not available in this runtime");if(en&&typeof SharedArrayBuffer!=="function")throw Error("SharedArrayBuffer is unavailable: serve the page cross-origin isolated (Cross-Origin-Opener-Policy: same-origin, Cross-Origin-Embedder-Policy: require-corp).");let Q=O,J=ys,ne=cr({options:H}),te=ae?oc(ne):ne,ie=ps(B),i=J(n?.size),P=n?.sharedSab;if(ae&&P!=null)throw Error("process worker runtime cannot use an external signal buffer");let d=Math.max(bn,i??bn),g=_===void 0&&I===!0?ms(ie):0,f=ae?es({signalBytes:d,abortBytes:g,payloadBytes:te.payloadMaxByteLength,thread:a,sharedMemory:z}):void 0,m=f===void 0?Ja(u):void 0,h=m?.createBuffer??Pr,j=m?.createBuffer,b=()=>j?j(te.payloadMaxByteLength):te.mode==="growable"?He(te.payloadInitialBytes,te.payloadMaxByteLength):He(te.payloadInitialBytes),M=()=>kn({signalBytes:d,abortBytes:g,lockSectorBytes:Wr,headerSlotStrideU32:fr,slotCount:Se.slots,headerLayout:"split",createBuffer:h}),C=f?.controlLayout??M(),ce=f?.lockPayload??b(),oe=_?.submitBuffers??{...C.lock,payload:ce,textCompat:Fr({headers:C.lock.headers,payload:ce})},be=f?.returnPayload??b(),Ie=_?.returnBuffers??{...C.returnLock,payload:be,textCompat:Fr({headers:C.returnLock.headers,payload:be})},we=_?.hostSubmitLock??Tr({headers:oe.headers,headerSlotStrideU32:oe.headerSlotStrideU32,LockBoundSector:oe.lockSector,payload:oe.payload,payloadSector:oe.payloadSector,payloadConfig:te,textCompat:oe.textCompat,processBoundary:ae}),Ge=_?.hostReturnLock??Tr({headers:Ie.headers,headerSlotStrideU32:Ie.headerSlotStrideU32,LockBoundSector:Ie.lockSector,payload:Ie.payload,payloadSector:Ie.payloadSector,payloadConfig:te,textCompat:Ie.textCompat,processBoundary:ae}),de=_?.abortSignalSAB??(I===!0?C.abortSignals:void 0),ye=de&&_===void 0?st({sab:de,maxSignals:ie}):void 0,Fe=Pt({sabObject:P==null?{size:i,sharedSab:C.signals}:n,isMain:!0,thread:a}),De=Fe,Ne=Xa({processRuntime:K,signal:De.opView}),Ce=L==="borrow"&&typeof WeakRef==="function"?new Map:void 0,Re=(S)=>{Ce?.delete(S),pe?.postMessage?.(jo(S))},Xe=(S)=>{if(Ce===void 0)return;for(let[D,re]of Ce)try{let me=re.ref.deref();if(me!==void 0){me.revokeBorrow(S);continue}let rr=re.aliasBuffer?.deref();if(rr!==void 0&&Ko(re.runtime,rr)&&S)Re(D)}catch{}Ce.clear()},Ze=L==="borrow"?{release:Re,track:(S,D,re)=>{if(Ce===void 0)return;let me=Ce.get(D);if(me!==void 0){if(re!==void 0)me.aliasBuffer=new WeakRef(re);return}Ce.set(D,{ref:new WeakRef(S),aliasBuffer:re===void 0?void 0:new WeakRef(re),runtime:S.runtime})}}:void 0,ge=_?.sharedQueue??ao({lock:we,returnLock:Ge,abortSignals:ye,releaseBufferReferenceReturn:Ze});if(_!==void 0)_.sharedQueue.setReturnHooks(_.consumerId,Ze);let{enqueue:Me,rejectAll:er,txIdle:nr}=ge,ir=De.opView,o=Atomics.add,E=Atomics.load,w=Atomics.notify,y=ir.buffer instanceof SharedArrayBuffer,N=Ne??(y?()=>w(ir,0,1):void 0),q=()=>{if(E(De.rxStatus,0)===0)o(ir,0,1),N?.()},Y=()=>{},V=()=>Y(),X,fe=ee===void 0&&_===void 0,Te=ee??new zr,{check:ke}=_!==void 0?{check:void 0}:Xt({signalBox:De,queue:ge,channelHandler:Te,dispatcherOptions:p,notifySignal:Ne});if(fe&&ke!==void 0)Te.open(ke),X=Te,Y=()=>{if(ke.isRunning===!0)return;ke.isRunning=!0,Promise.resolve().then(ke),q()};let pe,R=A??G;c?.(`worker thread=${a} mode=${ae?"process":an?"worker_threads":"worker"}${K?` runtime=${K}`:""} url=${String(R)}`);let he={sab:Fe.sab,abortSignalSAB:de,abortSignalMax:_?.abortSignalMax??(I===!0?ie:void 0),list:e,ids:r,names:t,at:F,thread:a,debug:u,workerOptions:ue,totalNumberOfThread:l,startAt:De.startAt,lock:oe,returnLock:Ie,payloadConfig:te,bufferReferenceReturn:L,permission:k,steal:_===void 0?void 0:{consumers:_.consumers,consumerId:_.consumerId,regionLanes:_.regionLanes}},se={type:"module",workerData:he},ve=W&&W.length>0?{...se,execArgv:W}:se;if(f!==void 0)pe=os({workerUrl:R,bootPayload:as(he,f),memory:f,processRuntime:K,commandPrefix:U,permission:k});else if(an)try{pe=new Q(R,ve)}catch(S){if(S?.code==="ERR_WORKER_INVALID_EXEC_ARGV"){let D=io(ve.execArgv);if(D&&D.length>0)try{pe=new Q(R,{...se,execArgv:D})}catch(re){if(re?.code==="ERR_WORKER_INVALID_EXEC_ARGV"){let me=us(D);if(me&&me.length>0)try{pe=new Q(R,{...se,execArgv:me})}catch{pe=new Q(R,se)}else pe=new Q(R,se)}else throw re}else pe=new Q(R,se)}else throw S}else pe=new Q(R,{type:"module"}),pe.postMessage?.(he);let Oe,Ee=()=>{_?.hostSubmitLock.deactivateStealConsumer(_.consumerId)},qe=()=>{try{pe.unref?.(),Promise.resolve(pe.terminate()).catch(()=>{}).finally(Ee)}catch{Ee()}},$e=(S,D=!1)=>{if(Oe)return;Oe=S,Xe(D),er(S),X?.close()},xr=(S)=>{if(!ec(S))return;$e(`Worker startup failed: ${S[ds]}`,!0),qe()},Cr=(S)=>{let D=String(S?.message??S);$e(`Worker crashed: ${D}`),qe()},Pe=pe;if(typeof Pe.on==="function")Pe.on("message",xr),Pe.on("error",Cr),Pe.on("exit",(S)=>{if(Ee(),Oe!==void 0)return;$e(`Worker exited with code ${typeof S==="number"?S:-1}`)});else{let S=pe;if(typeof S.addEventListener==="function")S.addEventListener("message",(D)=>{xr(D?.data)}),S.addEventListener("error",(D)=>{Cr(D?.error??D?.message??D)});else S.onmessage=(D)=>{xr(D?.data)},S.onerror=(D)=>{Cr(D)}}return we.setPromiseHandler((S,D,re)=>{ge.settlePromisePayload(S,D,re),V()}),{txIdle:nr,call:({fnNumber:S,timeout:D,abortSignal:re})=>{let me=Me(S,D,re);return(rr)=>{let vr=me(rr);return V(),vr}},kills:async()=>{$e("Thread closed",!0),fs(pe),Za(f)},lock:we,processSharedMemoryBackings:m?.backings,dispatcherCheck:ke,laneWake:ee!==void 0||_!==void 0?q:void 0,bindSend:ee!==void 0||_!==void 0?(S)=>void(Y=S):void 0}};var Ss=()=>{return},As=()=>[],Bs=()=>{throw Error("process workers are unavailable in the browser build")},ws=Bs,Ts=Bs;var ks=(e,r,t)=>{switch(t??"roundRobin"){case"roundRobin":case"robinRound":return sc(e)(r)(r.length);case"firstIdle":return ic(e)(r)(r.length);case"randomLane":return uc(e)(r)(r.length);case"firstIdleOrRandom":return cc(e)(r)(r.length)}throw Error(`Unknown balancer: ${t}`)},uo=({contexts:e,balancer:r,handlers:t,inlinerGate:n})=>{let a=typeof r==="object"&&r!=null?r.strategy:r;if(e.length<2)throw Error(e.length===0?"No threads available.":"Cannot rotate with a single thread.");if(t.length===0)throw Error("No handlers provided.");let u=ks(e,t,a);if(!n)return u;let c=n.index|0,l=Number.isFinite(n.threshold)?Math.max(1,Math.floor(n.threshold)):1;if(l<=1||c<0||c>=t.length)return u;let A=t.length-1;if(A<=0)return u;let F=Array(A),x=Array(A);for(let L=0,B=0;L<t.length;L+=1){if(L===c)continue;F[B]=t[L],x[B]=e[L],B+=1}let W=ks(x,F,a),k=0,p=(L)=>(k-=1,L),H=(L)=>{throw k-=1,L};return(L)=>{k+=1;let B=k>=l?u:W;try{return B(L).then(p,H)}catch(I){throw k-=1,I}}};function sc(e){return(r)=>(t)=>{let n=Math.min(t,r.length);if(n<=1)return(u)=>r[0](u);let a=0;return(u)=>{let c=a;if(a+=1,a===n)a=0;return r[c](u)}}}function ic(e){let r=e.map((t)=>t.txIdle);return(t)=>(n)=>{let a=Math.min(n,t.length);if(a<=1)return(c)=>t[0](c);let u=0;return(c)=>{for(let A=0;A<a;A+=1)if(r[A]())return t[A](c);let l=u;if(u+=1,u===a)u=0;return t[l](c)}}}var uc=(e)=>(r)=>(t)=>{let n=Math.min(t,r.length);if(n<=1)return(a)=>r[0](a);return(a)=>{let u=Math.random()*n|0;return r[u](a)}};function cc(e){let r=e.map((t)=>t.txIdle);return(t)=>(n)=>{let a=Math.min(n,t.length);if(a<=1)return(u)=>t[0](u);return(u)=>{for(let l=0;l<a;l+=1)if(r[l]())return t[l](u);let c=Math.random()*a|0;return t[c](u)}}}var hr={Free:-1,Pending:0},Yr={Reject:0,Resolve:1},fc=(e)=>{if(e==null)return;if(typeof e==="number")return e>=0?{ms:e,kind:Yr.Reject,value:Error("Task timeout")}:void 0;let r=e.time;if(!(r>=0))return;if("default"in e)return{ms:r,kind:Yr.Resolve,value:e.default};if(e.maybe===!0)return{ms:r,kind:Yr.Resolve,value:void 0};if("error"in e)return{ms:r,kind:Yr.Reject,value:e.error};return{ms:r,kind:Yr.Reject,value:Error("Task timeout")}},lc=(e,r)=>new Promise((t,n)=>{let a=!1,u=setTimeout(()=>{if(a)return;if(a=!0,r.kind===Yr.Resolve)t(r.value);else n(r.value)},r.ms);e.then((c)=>{if(a)return;a=!0,clearTimeout(u),t(c)},(c)=>{if(a)return;a=!0,clearTimeout(u),n(c)})}),dc=(()=>({hasAborted:()=>!1,now:()=>performance.now()}))(),yc=(e,r,t=!1)=>{let n=fc(r),a=t?(u)=>e(u,dc):e;if(!n)return a;return(u)=>{let c=a(u);return c instanceof Promise?lc(c,n):c}},Es=({tasks:e,genTaskID:r,batchSize:t})=>{let a=(Array.isArray(e)?e:Object.values(e).sort((d,g)=>d.id-g.id)).map((d)=>{if(d.imported===!0)return()=>{throw Error("Imported task cannot run on the host inline lane")};return yc(d.f,d.timeout,d.abortSignal!==void 0)}),u=16,c=new Int32Array(16),l=new Int8Array(16).fill(hr.Free),A=Array(16),F=Array(16).fill(-1),x=Array(16),W=Array(16),k=16;for(let d=0;d<16;d++)W[d]=15-d;let p=new ar(16),H=0,L=!1,B=!1,I=Number.isFinite(t)?Math.max(1,Math.floor(t??1)):Number.POSITIVE_INFINITY,ee=Mr(),_=ee.port1,G=ee.port2,O=(d)=>G.postMessage(d),ue=()=>p.isEmpty===!1,ae=typeof queueMicrotask==="function"?queueMicrotask:(d)=>Promise.resolve().then(d),K=()=>{if(H===0||L)return;L=!0,O(null)},U=()=>{if(H===0||L||B)return;B=!0,ae(ie)},z=(d)=>{p.push(d),U()},Q=(d,g)=>{if(l[d]!==hr.Pending||F[d]!==g)return;z(d)},J=(d,g,f,m)=>{if(l[d]!==hr.Pending||F[d]!==g)return;let h=x[d];if(h)if(f)h.reject(m);else h.resolve(m);i(d)};function ne(){if(k>0)return W[--k];let d=c.length,g=d<<1,f=new Int32Array(g);f.set(c),c=f;let m=new Int8Array(g);m.fill(hr.Free),m.set(l),l=m,A.length=g,F.length=g,F.fill(-1,d),x.length=g;for(let h=g-1;h>=d;--h)W[k++]=h;return W[--k]}function te(d=!1){let g=0;while(g<I){let f=p.shiftNoClear();if(f===void 0)break;let m=f|0;if(l[m]!==hr.Pending)continue;let h=F[m];try{let j=A[m],b=c[m],M=a[b](j);if(!(M instanceof Promise)){J(m,h,!1,M),g++;continue}M.then((C)=>J(m,h,!1,C),(C)=>J(m,h,!0,C)),g++}catch(j){J(m,h,!0,j),g++}}if(ue()){if(d)K();else O(null);return}if(!d)L=!1}function ie(){if(!B)return;te(!0),B=!1}function i(d){if(H--,l[d]=hr.Free,c[d]=0,F[d]=-1,A[d]=void 0,x[d]=void 0,W[k++]=d,H===0)L=!1}let P=({fnNumber:d})=>(g)=>{let f=r(),m=Qt(),h=ne();if(F[h]=f,A[h]=g,c[h]=d|0,x[h]=m,l[h]=hr.Pending,H++,g instanceof Promise)g.then((j)=>{if(F[h]!==f)return;A[h]=j,Q(h,f)},(j)=>J(h,f,!0,j));else z(h);return m.promise};return _.onmessage=()=>te(!1),{kills:async()=>{for(let d=0;d<l.length;d++){if(l[d]!==hr.Pending)continue;try{x[d]?.reject("Thread closed")}catch{}}_.onmessage=null,_.close?.(),G.onmessage=null,G.close?.(),p.clear(),k=0,W.length=0,A.fill(void 0),F.fill(-1),x.fill(void 0),c.fill(0),l.fill(hr.Free),H=0,L=!1,B=!1},call:P,txIdle:()=>H===0}};var vs=(e,r)=>e.has("*")||e.has(r),pc=(e)=>{if(!((u)=>vs(e,u))("host"))return;let t=performance.now(),n=`host·${Qe}`;return{log:(u)=>{let c=(performance.now()-t).toFixed(1);console.error(`[${n}·+${c}ms] host: ${u}`)}}},mc=()=>{let e=globalThis.Deno?.cwd;if(typeof e==="function")try{return e()}catch{}let r=Ue();if(typeof r?.cwd==="function")try{return r.cwd()}catch{return}return},Rs=(e,r="(none)")=>e&&e.length>0?e.join(","):r,Ps=65535,xs=Ps+1,co="default",gc=Br;var hc=(e)=>{let r=e.reduce((t,n)=>(t[0].add(n.importedFrom),t[1].add(n.id),t[2].add(n.at),t[3].push(n.name),t),[new Set,new Set,new Set,[]]);return{list:[...r[0]],ids:[...r[1]],at:[...r[2]],names:r[3]}},ut=(e,r)=>{try{return new URL(e,r).href}catch{return gr(e)}},bc=(e,r)=>{if(e===void 0)return;let t=e.processRuntime==="porffor";if(t&&e.runtime!==void 0&&e.runtime!=="compiled")throw Error('worker.processRuntime "porffor" requires worker.runtime to be compiled or omitted');let n=t&&e.runtime===void 0,a=t?{...e,runtime:"compiled",processRuntime:void 0,compiled:n?{...e.compiled,build:"always"}:e.compiled}:e,u=a.bootstrap;if(u!==void 0){let l=u.name??co;if(typeof u.href!=="string"||u.href.length===0)throw TypeError("worker.bootstrap.href must be a non-empty string");if(typeof l!=="string"||l.length===0)throw TypeError("worker.bootstrap.name must be a non-empty string");a={...a,bootstrap:{...u,href:ut(u.href,r),name:l}}}let c=a.compiled;if(c!==void 0){if(c.build!==void 0&&typeof c.build!=="boolean"&&c.build!=="always")throw TypeError('worker.compiled.build must be a boolean or "always"');for(let[l,A]of Object.entries({artifact:c.artifact,manifest:c.manifest,compiler:c.compiler}))if(A!==void 0&&(typeof A!=="string"||A.length===0))throw TypeError("worker.compiled."+l+" must be a non-empty string");a={...a,compiled:{build:c.build,compiler:c.compiler===void 0?void 0:c.compiler.startsWith(".")||c.compiler.startsWith("/")||c.compiler.startsWith("file:")||/^[A-Za-z]:[\\/]/.test(c.compiler)?ut(c.compiler,r):c.compiler,artifact:c.artifact===void 0?void 0:ut(c.artifact,r),manifest:c.manifest===void 0?void 0:ut(c.manifest,r)}}}return a};var Sc=(e)=>e!=null&&typeof e==="object"&&typeof e.f==="function",Ac=(e,r)=>Object.entries(e).map(([t,n])=>{if(Sc(n))return{...n,name:t};if(typeof n==="function")return{f:n,id:-1,importedFrom:new URL(r).href,at:-1,name:t,[$r]:!0};throw TypeError(`createPool task "${t}" must be a task definition or exported function`)}),_s=({threads:e,debug:r,inliner:t,balancer:n,payload:a,unsafe:u,abortSignalCapacity:c,source:l,worker:A,workerExecArgv:F,permission:x,host:W})=>(k)=>{let p=u?.BufferReferenceReturn,H=Oa||r!==void 0&&r!==!1,L,B=()=>L??=Yt(r),I=H?pc(B()):void 0,ee=(R)=>H&&vs(B(),R);if(Br===!1){if(ee("lifecycle"))console.warn("createPool has been called with : "+JSON.stringify(Qr));let R=()=>{throw Error("createPool can only be called in the main thread.")},se=new Proxy(function(){return R()},{get:function(){return R}});return{shutdown:se,[Symbol.dispose]:()=>{},call:se}}let _=qa(3),G=Ac(k,_).sort((R,Z)=>R.name.localeCompare(Z.name)),{list:O,ids:ue,names:ae,at:K}=hc(G);if(I?.log(`cwd=${mc()??"(unknown)"} caller=${_}`),G.forEach((R)=>{I?.log(`task name=${R.name} id=${R.id} from=${R.importedFrom}`)}),G.length>xs)throw RangeError(`Too many tasks: received ${G.length}. Maximum is ${xs} (Uint16 function IDs: 0..${Ps}).`);let U=typeof t==="object"&&t!=null,z=(e??1)+(U?1:0),Q=Ss({permission:x??{mode:"strict",allowImport:!0},modules:O}),J=As(Q),ne=Ue(),te=ne?.allowedNodeEnvironmentFlags??null,ie=(R)=>{let Z=R.split("=",1)[0];return Z==="--permission"||Z==="--experimental-permission"||Z==="--allow-fs-read"||Z==="--allow-fs-write"||Z==="--allow-worker"||Z==="--allow-child-process"||Z==="--allow-net"||Z==="--allow-addons"||Z==="--allow-ffi"||Z==="--allow-wasi"},i=(R)=>R?.filter((Z)=>!ie(Z)),P=(R)=>{let Z=[],he=new Set;for(let se of R){if(he.has(se))continue;he.add(se),Z.push(se)}return Z},d=(R)=>{if(!R||R.length===0)return;if(!te)return R;let Z=R.filter((he)=>{let se=he.split("=",1)[0];return te.has(se)});return Z.length>0?Z:void 0},g=Array.isArray(ne?.execArgv)?ne.execArgv:void 0,f=F??(g?te?.has("--expose-gc")===!0?g.includes("--expose-gc")?g:[...g,"--expose-gc"]:g:void 0),m=Q?.unsafe===!0?i(f):f,h=P([...J,...m??[]]),j=d(h.length>0?h:void 0);I?.log(`pool runtime=${Qe} workers=${e??1} lanes=${z} inliner=${U?"on":"off"}`),I?.log(`modules=${Rs(O)}`),I?.log(`permission=${Q?.mode??"off"} execArgv=${Rs(j)}`);let b=G.some((R)=>R.abortSignal!==void 0),M=bc(A,_),C=ne?.env?.KNITTING_DISPATCHER,ce=ne?.env?.KNITTING_STEAL?.trim().toLowerCase(),oe=ce==="1"||ce==="true"?!0:ce==="0"||ce==="false"?!1:void 0,be=W?.dispatcher!==void 0||C==="serial-channel"||C==="per-thread",Ie=n===void 0&&!be&&(e??1)<=gs,we=W?.steal??oe??Ie,Ge=W?.steal===!0||W?.steal===void 0&&oe===!0,de=M?.runtime==="compiled";if(M?.compiled!==void 0&&!de)throw Error("worker.compiled requires worker.runtime to be compiled");if(de){let R=[];if(U)R.push("inliner");if(a!==void 0)R.push("payload");if(u!==void 0)R.push("unsafe");if(l!==void 0)R.push("source");if(F!==void 0)R.push("workerExecArgv");if(x!==void 0)R.push("permission");if(W!==void 0)R.push("host");if(M.bootstrap!==void 0)R.push("worker.bootstrap");if(M.timers!==void 0)R.push("worker.timers");if(M.processRuntime!==void 0)R.push("worker.processRuntime");if(M.processCommandPrefix!==void 0)R.push("worker.processCommandPrefix");if(M.processSharedMemory!==void 0)R.push("worker.processSharedMemory");if(M.resolveAfterFinishingAll!==void 0)R.push("worker.resolveAfterFinishingAll");if(G.some((Z)=>Z.timeout!==void 0))R.push("task timeout");if(G.some((Z)=>Z.imported===!0))R.push("importTask");if(R.length>0)throw Error("Compiled workers do not support: "+R.join(", "))}if(M?.bootstrap!==void 0)I?.log(`bootstrap href=${M.bootstrap.href} name=${M.bootstrap.name}`);if(U&&M?.bootstrap!==void 0)throw Error("worker.bootstrap cannot be used with the inliner");if(Ge&&M?.runtime==="process")throw Error("host.steal does not support process workers; use worker threads or disable stealing");if(M?.runtime==="process"){let R=Jt(M);Ts(ws({permission:x,resolved:Q,target:{runtime:R,nodeMajor:R==="node"?ns(M):void 0}}))}let ye=Number.isFinite(M?.hardTimeoutMs)?Math.max(1,Math.floor(M?.hardTimeoutMs)):void 0;if(on>=1)throw Error(`createPool() tried to spawn workers from inside a worker process (pool depth ${on}). This usually means a pool is created at module scope in a module your workers import, so every worker spawns its own pool recursively. Is your createPool protected by isMain? Guard pool creation behind \`if (isMain) { ... }\` (import { isMain } from "knitting") so only the main program starts the pool.`);let Fe=W?.dispatcher??(C==="serial-channel"||C==="per-thread"?C:void 0),De=(()=>{if(Qe==="bun")return"per-thread";if((e??1)<=1)return"per-thread";return"serial-channel"})(),Ne=Fe??De,Ce=we&&!de&&M?.runtime!=="process"&&(e??1)>1&&!U,Re=Ce?hs({threads:e??1,payload:a,regionLanes:W?.stealRegionLanes,abortSignalCapacity:c,usesAbortSignal:b}):void 0,Xe=!de&&!Ce&&Ne==="serial-channel",Ze=Xe?new zr:void 0,ge=Array.from({length:e??1}).map((R,Z)=>bs({list:O,ids:ue,names:ae,at:K,thread:Z,debug:r,hostDebug:I?.log,totalNumberOfThread:z,source:l,workerOptions:M,workerExecArgv:j,host:W,payload:a,bufferReferenceReturn:p,abortSignalCapacity:c,usesAbortSignal:b,permission:Q,sharedChannelHandler:Ze,stealPool:Re===void 0?void 0:{submitBuffers:Re.submitBuffers,returnBuffers:Re.returnBuffers[Z],hostSubmitLock:Re.hostSubmitLock,hostReturnLock:Re.hostReturnLocks[Z],sharedQueue:Re.sharedQueue,consumers:e??1,consumerId:Z,regionLanes:Re.regionLanes,abortSignalSAB:Re.abortSignalSAB,abortSignalMax:Re.abortSignalMax}})),Me=Ce?new zr:void 0;if(Ce){let R=Me,Z=Re.sharedQueue,he=0,se=()=>{let Ee=ge.length;if(Ee===0)return;let qe=he;he=he+1<Ee?he+1:0,ge[qe].laneWake?.()},ve=new Int32Array(He(3*Int32Array.BYTES_PER_ELEMENT)),{check:Oe}=Xt({signalBox:{opView:ve.subarray(0,1),txStatus:ve.subarray(1,2),rxStatus:ve.subarray(2,3)},queue:Z,channelHandler:R,dispatcherOptions:W,notifySignal:se});R.open(Oe),ge.forEach((Ee)=>{Ee.bindSend(()=>{if(Oe.isRunning!==!0)Oe.isRunning=!0,Promise.resolve().then(Oe);se()})}),I?.log(`dispatcher=steal lanes=${ge.length} g=${Re.regionLanes}`)}let er=Ze;if(Xe){let R=Ze,Z=ge.map((Pe)=>Pe.dispatcherCheck),he=ge.map((Pe)=>Pe.txIdle),se=!1,ve=!1,Oe=!1,Ee=[],qe=new Uint8Array(Z.length),$e=(Pe)=>{if(qe[Pe]===1)return;qe[Pe]=1,Ee.push(Pe)},xr=()=>{if(ve){Oe=!0;return}ve=!0;do{Oe=!1,se=!1;for(let Pe=Ee.length-1;Pe>=0;Pe--){let Lr=Ee[Pe],T=Z[Lr];if(T.isRunning!==!0)T.isRunning=!0;if(T(),he[Lr]()){qe[Lr]=0;let S=Ee.pop();if(Pe<Ee.length)Ee[Pe]=S}}}while(Oe);ve=!1},Cr=()=>{if(ve){Oe=!0;return}if(se)return;se=!0,Promise.resolve().then(xr)};R.open(xr),ge.forEach((Pe,Lr)=>{let T=Pe.laneWake;Pe.bindSend(()=>{$e(Lr),Cr(),T()})}),I?.log(`dispatcher=serial-channel lanes=${Z.length}`)}else I?.log(`dispatcher=per-thread lanes=${ge.length}`);if(U){let R=Es({tasks:G,genTaskID:no,batchSize:t?.batchSize??1});if(t?.position==="first")ge=[R,...ge];else ge.push(R)}let nr=U?t?.position==="first"?0:ge.length-1:-1,ir=Number.isFinite(t?.dispatchThreshold)?Math.max(1,Math.floor(t?.dispatchThreshold??1)):1,o=!1,E,w,y=()=>{if(E)return E;return o=!0,E=Promise.allSettled(ge.map((R)=>R.kills())).then(()=>{er?.close(),Me?.close()}),E},N=({invoke:R,taskName:Z})=>(he)=>{if(o)return Promise.reject(Error("Pool is shut down"));let se=R(he);if(!ye)return se;return new Promise((ve,Oe)=>{let Ee=!1,qe=setTimeout(()=>{if(Ee)return;Ee=!0,Oe(Error(`Task hard timeout after ${ye}ms (${Z}); pool force-shutdown`)),y()},ye);se.then(($e)=>{if(Ee)return;Ee=!0,clearTimeout(qe),ve($e)},($e)=>{if(Ee)return;Ee=!0,clearTimeout(qe),Oe($e)})})},q=(R)=>{if(E)return E;if(w)return w;let Z=Number.isFinite(R)?Math.max(0,Math.floor(R)):0;return w=(async()=>{if(E)return await E;if(Z>0)await new Promise((he)=>setTimeout(he,Z));if(E)return await E;await y()})(),w},Y=()=>{q()},V=G.map((R,Z)=>({name:R.name,index:Z,timeout:R.timeout,abortSignal:R.abortSignal,imported:R.imported===!0})),X=new Map;for(let{name:R}of V)X.set(R,[]);for(let R of ge)for(let{name:Z,index:he,timeout:se,abortSignal:ve}of V)X.get(Z).push(N({taskName:Z,invoke:R.call({fnNumber:he,timeout:se,abortSignal:ve})}));let fe=(e??1)===1&&!U,Te=(R)=>{let Z=[],he=[];for(let se=0;se<R.length;se+=1){if(se===nr)continue;Z.push(R[se]),he.push(ge[se])}if(Z.length===0)throw Error("Imported task has no worker lane to run on: the pool only has the host inliner. Imported tasks are never inlined on the host; add at least one worker thread.");if(Z.length===1)return Z[0];return uo({contexts:he,balancer:n,handlers:Z})},ke=(R,Z)=>{if(Z&&U)return Te(R);return fe?R[0]:uo({contexts:ge,balancer:n,handlers:R,inlinerGate:U?{index:nr,threshold:ir}:void 0})},pe;try{pe=V.map(({name:R,imported:Z})=>[R,ke(X.get(R),Z)])}catch(R){throw y(),R}return{shutdown:q,[Symbol.dispose]:Y,call:Object.fromEntries(pe)}},Ls="__task__",Bc=(e,r)=>{let t=_s(r??{})({[Ls]:e});return{call:t.call[Ls],shutdown:t.shutdown,[Symbol.dispose]:t[Symbol.dispose]}},Cs=(e,r,t,n=!1)=>{let a=new URL(r).href,u={...e,id:no(),importedFrom:a,at:t,imported:n,[$r]:!0};return u.createPool=(c)=>{if(Br===!1)return u;return Bc(u,c)},u},wc=(e,r)=>{let[t,n]=oo(r);return Cs(e,t,n)},Tc=(e,r)=>{let t,n,a=async()=>{if(t)return t;if(!n)n=import(e).then((u)=>{let c=u,l=r===co?c.default:c[r];if(typeof l!=="function"){let A=Object.keys(c).join(", ");throw TypeError(`importTask expected export "${r}" from "${e}" to be a function. Available exports: ${A||"(none)"}`)}return t=l,t});return n};return async(...u)=>(await a())(...u)};function kc(e){return wc(e,4)}function Ec(e){let[r,t]=oo(3),{href:n,name:a=co,...u}=e,c=ut(n,r);return Cs({...u,f:Tc(c,a)},r,t,!0)}export{yr as Envelope,Ot as NumericArray,_s as createPool,Ec as importTask,gc as isMain,Mn as isNumericArray,Ya as setModuleUrl,kc as task,qt as workerMainLoop};
1
+ var Gs=Object.defineProperty;var $s=(e)=>e;function zs(e,r){this[e]=$s.bind(null,r)}var Ys=(e,r)=>{for(var t in r)Gs(e,t,{get:r[t],enumerable:!0,configurable:!0,set:zs.bind(r,t)})};var Vs=(e,r)=>()=>(e&&(r=e(e=0)),r);var oo=()=>({keys:new Set(Reflect.ownKeys(globalThis))}),ja=(e,r)=>{let t=[],n=[];for(let a of r.keys)if(!e.keys.has(a))t.push(a);for(let a of e.keys)if(!r.keys.has(a))n.push(a);return{added:t,removed:n}},Ka=(e)=>{let r=typeof e==="symbol"?e.toString():e,t;try{t=Object.getOwnPropertyDescriptor(globalThis,e)}catch{return r}if(t===void 0)return r;let n=t.get!==void 0||t.set!==void 0?"accessor":typeof t.value,a=`${t.writable===!1?"":"w"}${t.configurable?"c":""}${t.enumerable?"e":""}`;return a.length>0?`${r} (${n} ${a})`:`${r} (${n})`};var Ga={};Ys(Ga,{initDebug:()=>Ku});var Ku=({name:e,runtime:r,namespaces:t})=>{let n=t.has("*"),a=(v)=>n||t.has(v),u=performance.now(),c=`${e}·${r}`,f=(v,W)=>{if(!a(v))return;let R=(performance.now()-u).toFixed(1);console.error(`[${c}·+${R}ms] ${v}: ${W}`)},A=a("globals")?oo():void 0;return{enabled:a,log:f,envPhase:(v)=>{if(A===void 0)return;let W=oo(),{added:R,removed:h}=ja(A,W);if(A=W,R.length===0&&h.length===0){f("globals",`${v}: no new globals`);return}if(R.length>0)f("globals",`${v} +${R.length}: ${R.map(Ka).join(" ")}`);if(h.length>0)f("globals",`${v} -${h.length}: ${h.map(String).join(" ")}`)}}};var $a=()=>{};var mt=(()=>{let e=globalThis.process;return typeof e?.versions?.node==="string"?e:void 0})(),He=()=>mt,gt=(e)=>{let r=mt?.getBuiltinModule;if(typeof r!=="function")return;try{return r.call(mt,e)}catch{}if(!e.startsWith("node:"))return;try{return r.call(mt,e.slice(5))}catch{return}};var Ar=globalThis,qs=He(),mo=typeof Ar.Deno?.version?.deno==="string",Jr=typeof Ar.Bun?.version==="string",go=typeof qs?.versions?.node==="string",Br=typeof Ar.__andromeda__<"u",un=!mo&&!Jr&&!go&&!Br&&(typeof Ar.document<"u"||typeof Ar.WorkerGlobalScope==="function"),Me=mo?"deno":Jr?"bun":go?"node":Br?"andromeda":un?"browser":"unknown",sn=Ar.WebAssembly,Xr=typeof Ar.setImmediate==="function"?Ar.setImmediate:void 0,Qs=65536,ht=new WeakMap,bt=new WeakMap,cn=(()=>{if(typeof sn?.Memory!=="function")return!1;try{return new sn.Memory({initial:0,maximum:1,shared:!0}),!0}catch{return!1}})();var Qr=(e)=>Math.ceil(Math.max(0,e)/Qs),ho=(e,r)=>{let t=new sn.Memory({initial:Qr(e),maximum:Math.max(Qr(e),Qr(r)),shared:!0}),n=t.buffer;return ht.set(n,t),bt.set(n,r),n},_r=(e,r=e)=>{if(cn)return ho(e,r);return new SharedArrayBuffer(e)},fn=typeof SharedArrayBuffer==="function"&&typeof SharedArrayBuffer.prototype.grow==="function",St=fn||cn,je=(e,r)=>{if(fn&&typeof r==="number")return new SharedArrayBuffer(e,{maxByteLength:r});if(cn&&typeof r==="number")return ho(e,r);return new SharedArrayBuffer(e)};var bo=(e)=>{let r=e;return fn&&typeof r.grow==="function"&&r.growable===!0||ht.has(e)},So=(e)=>{let r=e;if(typeof r.maxByteLength==="number")return r.maxByteLength;return bt.get(e)??e.byteLength},Ao=(e,r)=>{let t=e;if(typeof t.grow==="function")return t.grow(r),e;let n=ht.get(e);if(n==null)throw TypeError("SharedArrayBuffer is not growable");let a=n.buffer;if(a.byteLength>=r)return a;let u=Qr(r),c=Qr(a.byteLength);n.grow(u-c);let f=n.buffer,A=bt.get(e)??a.byteLength;return ht.set(f,n),bt.set(f,A),f};var Js="KNITTING_PROCESS_WORKER";var Xs="KNITTING_POOL_DEPTH",At=He(),wr=At?.env?.[Js]==="1",Zs=()=>{let e=At?.env?.[Xs];if(typeof e!=="string")return 0;let r=Number.parseInt(e,10);return Number.isFinite(r)&&r>0?r:0},ln=Zs(),Mr=gt("node:worker_threads"),ei=()=>{let e=globalThis.WorkerGlobalScope;if(typeof e==="function")try{if(globalThis instanceof e)return!0}catch{}if(Br&&typeof globalThis.self<"u")return!0;return!1},wo=Mr?.Worker??globalThis.Worker,Bo=Mr?.MessageChannel??globalThis.MessageChannel,dn=Mr!=null,Tr=wr?!1:Mr?.isMainThread??!ei(),Zr=Mr?.workerData,et=Mr?.parentPort??(wr&&typeof At?.send==="function"?{postMessage:(e)=>At.send(e)}:void 0),Or=()=>{if(typeof Bo!=="function")throw Error("MessageChannel is not available in this runtime");return new Bo},To=(e,r)=>{if(typeof e.on==="function"){e.on("message",r);return}if(typeof e.addEventListener==="function"){e.addEventListener("message",(t)=>r(t?.data));return}e.onmessage=(t)=>r(t?.data)};var rt=(e)=>e instanceof SharedArrayBuffer||e instanceof ArrayBuffer,ri=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return rt(r.sab)&&typeof r.byteOffset==="number"&&Number.isInteger(r.byteOffset)&&r.byteOffset>=0&&typeof r.byteLength==="number"&&Number.isInteger(r.byteLength)&&r.byteLength>=0},Ze=(e)=>rt(e)||ri(e),Ke=(e)=>rt(e)?{sab:e,byteOffset:0,byteLength:e.byteLength}:e;var ko=new TextEncoder,ti=new TextDecoder,Eo=(e)=>e instanceof TypeError,ni=(e)=>{let r=Ke(e),t=Math.min(1,r.byteLength);return new Uint8Array(r.sab,r.byteOffset,t)},Ro=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return typeof r.encodeInto==="boolean"&&typeof r.decode==="boolean"},Bt=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return Ro(r.headers)&&Ro(r.payload)},xo=(e)=>{let r=ni(e),t=(()=>{if(typeof ko.encodeInto!=="function")return!1;let a=r.byteLength>0?r:r.subarray(0,0),u=a.byteLength>0?a[0]:void 0;try{return ko.encodeInto(a.byteLength>0?"a":"",a),!0}catch(c){if(!Eo(c))throw c;return!1}finally{if(u!==void 0)a[0]=u}})(),n=(()=>{try{return ti.decode(r),!0}catch(a){if(!Eo(a))throw a;return!1}})();return{encodeInto:t,decode:n}},Fr=({headers:e,payload:r})=>({headers:xo(e),payload:xo(r)});class ir{#e;#r;#n=0;#o=0;#t=0;constructor(e=512){let r=2;while(r<e)r<<=1;this.#e=Array(r).fill(null),this.#r=r-1}get size(){return this.#t}get isEmpty(){return this.#t===0}get capacity(){return this.#r+1}clear(){this.#n=0,this.#o=0,this.#t=0}peek(){return this.#t===0?void 0:this.#e[this.#n]}reserve(e){if(e<=this.capacity)return;let r=this.capacity;while(r<e)r<<=1;this.#s(r)}#a(){if(this.#t!==this.#r+1)return;this.#s(this.#r+1<<1)}#s(e){let r=this.#e,t=this.#r+1,n=this.#t,a=Array(e).fill(null),u=this.#n,c=Math.min(n,t-u);for(let f=0;f<c;f++)a[f]=r[u+f];for(let f=c;f<n;f++)a[f]=r[f-c];this.#e=a,this.#r=e-1,this.#n=0,this.#o=n}push(e){this.#a();let r=this.#e,t=this.#r,n=this.#o;return r[n]=e,this.#o=n+1&t,this.#t++,!0}unshift(e){this.#a();let r=this.#e,t=this.#r,n=this.#n-1&t;return this.#n=n,r[n]=e,this.#t++,!0}shift(){let e=this.#t;if(e===0)return;let r=this.#n,t=this.#e,n=t[r];return t[r]=null,this.#n=r+1&this.#r,this.#t=e-1,n}shiftNoClear(){let e=this.#t;if(e===0)return;let r=this.#n,t=this.#e[r];return this.#n=r+1&this.#r,this.#t=e-1,t}*[Symbol.iterator](){let e=this.#e,r=this.#r,t=this.#n,n=0,a=this.#t;while(n<a){let u=e[t];if(u!==null)yield u;t=t+1&r,n++}}toArray(){let e=Array(this.#t),r=this.#e,t=this.#r,n=this.#n;for(let a=0;a<e.length;a++)e[a]=r[n],n=n+1&t;return e}get[Symbol.toStringTag](){return`RingQueue(size=${this.#t}, cap=${this.capacity})`}}var oi=67108864,ai=4194304,Nr=(e)=>{if(!Number.isFinite(e))return;let r=Math.floor(e);return r>0?r:void 0},si=(e)=>{if(e==null)return!1;return e instanceof SharedArrayBuffer&&St&&bo(e)},ii=(e)=>{if(e==null)return;if(e instanceof SharedArrayBuffer)return Nr(So(e));return Nr(e.byteLength)},cr=({options:e,sab:r})=>{let t=r===void 0?void 0:Ke(r),n=t?.sab,c=e?.mode??(St?"growable":"fixed");if(c==="growable"&&n!=null&&!si(n))c="fixed";if(c==="growable"&&!St)c="fixed";let f=Nr(e?.payloadMaxByteLength)??Nr(t?.byteLength)??ii(n)??oi,A=Nr(e?.payloadInitialBytes),N=c==="fixed"?f:Math.min(A??ai,f),v=f>>3;if(v<=0)throw RangeError("payloadMaxByteLength is too small; must be at least 8 bytes.");let W=e?.maxPayloadBytes;if(W!==void 0){let h=Math.floor(W);if(!Number.isFinite(h)||h<=0)throw RangeError(`maxPayloadBytes must be > 0 and <= ${v}.`)}let R=Nr(W)??v;if(R<=0||R>v)throw RangeError(`maxPayloadBytes must be > 0 and <= ${v}.`);return{mode:c,payloadInitialBytes:N,payloadMaxByteLength:f,maxPayloadBytes:R}};var pn,mn,Lo=(e,r)=>{pn=e,mn=r},Ge={UNREACHABLE:0,BigInt:2,True:3,False:4,Undefined:5,NaN:6,Float64:9,Null:10},I={BORDER_SIGNAL_BUFFER:11,String:11,Json:12,StaticString:15,StaticJson:16,Binary:17,StaticBinary:18,Int32Array:19,Float64Array:20,BigInt64Array:21,BigUint64Array:22,DataView:23,Error:24,Date:25,Symbol:26,StaticSymbol:27,BigInt:28,StaticBigInt:29,StaticInt32Array:31,StaticFloat64Array:32,StaticBigInt64Array:33,StaticBigUint64Array:34,StaticDataView:35,ArrayBuffer:36,StaticArrayBuffer:37,Buffer:38,StaticBuffer:39,EnvelopeStaticHeader:40,EnvelopeDynamicHeader:41,EnvelopeStaticHeaderString:42,EnvelopeDynamicHeaderString:43,ExternalPayload:44,StaticExternalPayload:45,ProcessSharedBuffer:46,BufferReference:47,SharedArrayBuffer:48,EnvelopeStaticHeaderExternal:49,EnvelopeDynamicHeaderExternal:50,EnvelopeStaticHeaderStringExternal:51,EnvelopeDynamicHeaderStringExternal:52,NumericArray:53,StaticNumericArray:54},Po={};for(let e of Object.keys(I))Po[I[e]]=e;var vo=(e)=>Po[e]??String(e),we={paddingLock:0,padding:0,slots:32,header:0},Et=64,ui=256,ci=Symbol.for("knitting.payloadCodec.transportFinalizer");var Qe=7,kt=1,wt=2,Rt=(e)=>{let r=e[Qe];if((r&kt)!==0)return!1;return e[Qe]=(r|kt)>>>0,!0},nt=(e)=>{e[Qe]=(e[Qe]&~kt)>>>0},yn=(e)=>(e[Qe]&kt)!==0,hn=(e)=>{e[Qe]=0},fi=(e,r)=>{let t=e.finalize;e.finalize=t===void 0?r:()=>{try{t()}finally{r()}}},kr=(e,r)=>{if(e.finalize!==void 0||r===null||typeof r!=="object")return;let t=r[ci]?.();if(typeof t==="function")fi(e,t)},Dr=(e)=>{let r=e.finalize;if(e.finalize=void 0,r!==void 0)try{r()}catch{}},i={FlagsToHost:0,FunctionID:0,ID:1,Type:2,Start:3,End:4,PayloadLen:5,slotBuffer:6,Size:8,TotalBuff:144},xt=5,Wr=(1<<xt)-1,sf=32-xt,Lt=4294967295>>>xt,uf=~Wr>>>0,Pt=16,li=(1<<Pt)-1,cf=32-Pt,di=4294967295>>>Pt,ff=~li>>>0;var _o=(e)=>e[i.FunctionID]>>>Pt&di;var Co=(e)=>e[i.slotBuffer]&Wr;var Io=(e)=>e[i.slotBuffer]>>>xt&Lt;var vt={Reject:1},lf=Int32Array.BYTES_PER_ELEMENT,yi=we.paddingLock,pi=Et,Ur=ui,Mo=Et*2,Oo=Et*3;var fr=we.header+i.TotalBuff,df=fr*Uint32Array.BYTES_PER_ELEMENT,mi=Et/Uint32Array.BYTES_PER_ELEMENT,ot=i.TotalBuff-mi,Fo=ot,No=Fo+i.Size,gi=No+1,hi=No+2,Do=hi+1,bi=Do+1,Si=we.header+fr*we.slots,bn=Si*Uint32Array.BYTES_PER_ELEMENT,Ai=0,yf=Ge.UNREACHABLE,tt=(e)=>{},Wo=()=>{let e=new Uint32Array(i.Size);return e.value=null,e.finalize=void 0,e.resolve=tt,e.reject=tt,e[Qe]=0,e},Uo=()=>{let e=Wo();return e[i.ID]=Ai++,e},gn=(e,r,t)=>{e[0]=r[t],e[1]=r[t+1],e[2]=r[t+2],e[3]=r[t+3],e[4]=r[t+4],e[5]=r[t+5],e[6]=r[t+6],e[Qe]=0},Bi=(e,r)=>{let t=Wo();return gn(t,e,r),t},Tt=(e)=>{if(e[i.FlagsToHost]===0)e.resolve(e.value);else e.reject(e.value),e[i.FlagsToHost]=0},Er=({headers:e,headerSlotStrideU32:r,LockBoundSector:t,payload:n,payloadConfig:a,payloadSector:u,textCompat:c,resultList:f,toSentList:A,recycleList:N,processBoundary:v,consumers:W,consumerId:R,regionLanes:h,notifyOnHostPublish:O})=>{let L=Ke(t??_r(Ur)),T=L.sab,D=new Int32Array(T,L.byteOffset+yi,1),Q=new Int32Array(T,L.byteOffset+pi,1),X=Ke(e??_r(bn)),C=new Uint32Array(X.sab,X.byteOffset,X.byteLength>>>2),z=r??fr,ee=new Int32Array(X.sab,X.byteOffset+bi*Uint32Array.BYTES_PER_ELEMENT,1),ie=cr({sab:n,options:a}),M=n??(ie.mode==="growable"?je(ie.payloadInitialBytes,ie.payloadMaxByteLength):je(ie.payloadInitialBytes)),Z=Ke(u??L),G=c??Fr({headers:X,payload:M}),j=Math.max(1,(W??1)|0),V=j>1,fe=R===void 0,te=(R??0)|0,ae=(h??8)|0,s=we.slots/ae|0;if(V){if(ae<1||(ae&ae-1)!==0)throw RangeError("regionLanes must be a power of two");if(s<j)throw RangeError(`regionLanes=${ae} yields ${s} regions, too few for ${j} consumers`);if(te<0||te>=j)throw RangeError(`consumerId ${te} out of range`)}let P=new Int32Array(X.sab,X.byteOffset,X.byteLength>>>2),m=new Int32Array(j);for(let p=0;p<j;p++)m[p]=p*z+we.header+gi;let k=we.header+Do,l=j===32?-1:(1<<j)-1|0;if(V&&fe)Atomics.store(P,k,l);let g=(p,E)=>(p&1<<E)!==0,b;if(pn===void 0||mn===void 0)throw Error('Payload codec not registered before lock2(). Ensure the module that builds locks imports "./payloadCodec.ts" (it self-registers on load).');let K=pn({payload:{sab:M,config:ie},headersBuffer:C,headerSlotStrideU32:z,lockSector:Z,textCompat:G,processBoundary:v,onPromise:(p,E,J)=>{if((p[Qe]&wt)!==0&&Ae>0)p[Qe]=(p[Qe]&~wt)>>>0,Ae=Ae-1|0;b(p,E,J)}}),S=mn({payload:{sab:M,config:ie},headersBuffer:C,headerSlotStrideU32:z,lockSector:Z,textCompat:G,processBoundary:v}),y=0,w=0,oe=32,se=A??new ir,Se=N??new ir,Le=f??new ir,he=0,Ae=0,ce=Atomics.load,ye=Atomics.store,Oe=Atomics.notify,Ne=O===!0,De=typeof Atomics.waitAsync==="function"?Atomics.waitAsync.bind(Atomics):void 0,me=0,$e=()=>me=ce(Q,0)|0;$e();let Ee=(p)=>~p!==0?p:y^$e()|0,Be=(p)=>se.push(p),tr=()=>se.shiftNoClear(),nr=(p)=>se.unshift(p),Ue=()=>Se.shiftNoClear(),or=(p)=>Le.push(p),We=Math.clz32,o=we.header+Fo,_=({queue:p})=>(E)=>{let J=E*z+o,re=p[C[J+i.ID]];return gn(re,C,J),re},x=(p)=>Be(p),d=(p)=>{let E=p[Qe];if((E&wt)!==0)return;p[Qe]=(E|wt)>>>0,Ae=Ae+1|0},F=(p,E)=>K(p,E),U=0,H=0,q=(p,E)=>{let J=~E;if(J===0)return 0;if(!F(p,U=31-We(J)))return 0;return de(p,U,H=1<<U),H},pe=(p)=>{let E=Ee(y^me|0),J=0;if(p===se)while(!0){let re=tr();if(!re)break;E=Ee(E);let xe=q(re,E)|0;if(xe===0){nr(re);break}E=E^xe|0,J=J+1|0}else while(!0){let re=p.shiftNoClear();if(!re)break;E=Ee(E);let xe=q(re,E)|0;if(xe===0){p.unshift(re);break}E=E^xe|0,J=J+1|0}return J},ge=(p)=>{let E=Ee(y^me|0),J=0;if(he=0,p===se)while(!0){let re=tr();if(!re)break;E=Ee(E);let xe=q(re,E)|0;if(xe===0){if(yn(re)){he=he+1|0,d(re);continue}nr(re);break}E=E^xe|0,J=J+1|0}else while(!0){let re=p.shiftNoClear();if(!re)break;E=Ee(E);let xe=q(re,E)|0;if(xe===0){if(yn(re)){he=he+1|0,d(re);continue}p.unshift(re);break}E=E^xe|0,J=J+1|0}return J},Re=()=>{if(se.isEmpty)return!0;return ge(se),he=0,se.isEmpty},ne=(p)=>{if(ye(D,0,y=y^p|0),Ne&&ce(ee,0)!==0)Oe(D,0,1)},B=(p)=>ye(Q,0,w=w^p|0),Y=(p,E=y^me|0)=>{E=Ee(E);let J=~E;if(J===0)return!1;if(!F(p,U=31-We(J)))return!1;return de(p,U,H=1<<U)},ue=(p,E=y^me|0)=>{he=0,E=Ee(E);let J=~E;if(J===0)return!1;if(!F(p,U=31-We(J))){if(yn(p))he=1,d(p);return!1}return de(p,U,H=1<<U)},de=(p,E,J)=>{let re=E*z+o;return C[re]=p[0],C[re+1]=p[1],C[re+2]=p[2],C[re+3]=p[3],C[re+4]=p[4],C[re+5]=p[5],C[re+6]=p[6],C[re+Qe]=0,ne(J),!0},Ie=()=>(D[0]^w)!==0,Pe=()=>{let p=ce(D,0)^w|0;if(p===0)return!1;let E=oe,J=0;try{if(E===32)Xe(U=31-We(p)),H=1<<(E=U),p^=H,J=J^H|0;while(p!==0){let re=p&(1<<E)-1;if(re===0)re=p;Xe(U=31-We(re)),H=1<<(E=U),p^=H,J=J^H|0}}finally{if(J!==0)B(J)}return oe=E,!0},be=(p)=>ae===32?-1:(1<<ae)-1<<p*ae|0,Je=(p)=>{let E=ce(P,k)|0;for(let J=te+1;J<j;J++){if(!g(E,J))continue;if((ce(P,m[J])&p)!==0)return!0}return!1},er=s*te/j|0,dr=er,Ir=()=>{let p=ce(D,0)^ce(Q,0)|0;if(p===0)return!1;let E=0;if(s===1)E=1;else for(let le=0;le<s;le++)if((p&be(le))!==0)E|=1<<le;let J=ce(P,k)|0,re=0,xe=0;for(let le=0;le<j;le++){if(le===te||!g(J,le))continue;let Ye=ce(P,m[le])|0;if(re|=Ye,le<te)xe|=Ye}let yr=E&~xe;if(yr===0)return!1;let qr=E&~re,yt=qr!==0?qr:yr,pr=-1;for(let le=0;le<s;le++){let Ye=(dr+le)%s;if((yt&1<<Ye)!==0){pr=Ye;break}}if(pr<0)return!1;let Ve=1<<pr|0;ye(P,m[te],Ve);let sr=!1,_e=!1;for(let le=0;le<j;le++){if(le===te||!g(J,le))continue;if((ce(P,m[le])&Ve)===0)continue;if(le<te)sr=!0;else _e=!0}if(sr)return ye(P,m[te],0),!1;if(_e)while(Je(Ve));let ze=(ce(D,0)^ce(Q,0))&be(pr)|0;if(ze===0)return ye(P,m[te],0),!1;let ke=ze,Fe=0;try{while(ke!==0){let le=ke&-ke|0;Xe(31-We(le>>>0)),ke=ke&ke-1|0,Fe=Fe^le|0}}finally{if(w=w^Fe|0,Fe!==0)Atomics.xor(Q,0,Fe);ye(P,m[te],0),dr=er}return!0},ve=({queue:p,onResolved:E,shouldSettle:J,activeRejectPlaceholder:re})=>{let xe=_({queue:p}),yr=32;if(re!==void 0&&E){let Ve=E,sr=re;return()=>{let _e=ce(D,0)^w|0;if(_e===0)return 0;let ze=0,ke=0,Fe=yr;if(Fe===32){let le=31-We(_e),Ye=1<<le,qe=xe(le);if(S(qe,le),ke=ke^Ye|0,qe.reject!==sr)Tt(qe),Ve(qe);if(_e^=Ye,ze++,(ze&7)===0&&ke!==0)w=w^ke|0,ye(Q,0,w),ke=0;Fe=le}while(_e!==0){let le=Fe===31?2147483647:(1<<Fe)-1,Ye=_e&le;if(Ye===0)Ye=_e;let qe=31-We(Ye),po=1<<qe,pt=xe(qe);if(S(pt,qe),ke=ke^po|0,pt.reject!==sr)Tt(pt),Ve(pt);if(_e^=po,ze++,(ze&7)===0&&ke!==0)w=w^ke|0,ye(Q,0,w),ke=0;Fe=qe}if(ke!==0)w=w^ke|0,ye(Q,0,w);return yr=Fe,ze}}let qr=E!==void 0,yt=E??tt,pr=J;return()=>{let Ve=ce(D,0)^w|0;if(Ve===0)return 0;let sr=0,_e=0,ze=yr;if(ze===32){let ke=31-We(Ve),Fe=1<<ke,le=xe(ke);if(S(le,ke),_e=_e^Fe|0,pr===void 0||pr(le)){if(Tt(le),qr)yt(le)}if(Ve^=Fe,sr++,(sr&7)===0&&_e!==0)w=w^_e|0,ye(Q,0,w),_e=0;ze=ke}while(Ve!==0){let ke=ze===31?2147483647:(1<<ze)-1,Fe=Ve&ke;if(Fe===0)Fe=Ve;let le=31-We(Fe),Ye=1<<le,qe=xe(le);if(S(qe,le),_e=_e^Ye|0,pr===void 0||pr(qe)){if(Tt(qe),qr)yt(qe)}if(Ve^=Ye,sr++,(sr&7)===0&&_e!==0)w=w^_e|0,ye(Q,0,w),_e=0;ze=le}if(_e!==0)w=w^_e|0,ye(Q,0,w);return yr=ze,sr}},ar=(p)=>{if(De===void 0){ye(ee,0,0);return}ye(ee,0,1);try{let E=De(D,0,w|0,p);if(!E.async)ye(ee,0,0);return E}catch{ye(ee,0,0);return}},Xe=(p)=>{let E=p*z+o,J=Ue(),re;if(J)gn(J,C,E),J.value=null,J.finalize=void 0,J.resolve=tt,J.reject=tt,re=J;else re=Bi(C,E);return S(re,p),or(re),!0};return{enlist:x,encode:Y,encodeManyFrom:pe,encodeAll:Re,publish:(p)=>{if(ue(p))return!0;if((he|0)!==0)return he=0,!1;return Be(p),!1},flushPending:()=>{if(se.isEmpty)return!1;let p=ge(se)|0;return he=0,p!==0},decode:V?Ir:Pe,hasSpace:Ie,resolved:Le,hostBits:D,workerBits:Q,recyclecList:Se,resolveHost:ve,waitForHostChange:ar,setHostWaiterArmed:(p)=>{ye(ee,0,p?1:0)},hasPendingFrames:()=>se.size!==0,getPendingFrameCount:()=>se.size|0,getPendingPromiseCount:()=>Ae|0,resetPendingState:()=>{se.clear(),he=0,Ae=0},deactivateStealConsumer:(p)=>{if(!V||!fe)return!1;if(!Number.isInteger(p)||p<0||p>=j)throw RangeError(`consumerId ${p} out of range`);let E=1<<p;return(Atomics.and(P,k,~E)&E)!==0},takeDeferredCount:()=>{let p=he|0;return he=0,p},setPromiseHandler:(p)=>{b=p}}};var wi=1,Ho=1,Ti=performance.now.bind(performance),ki=(e,r,t,n)=>new Promise((a,u)=>{let c=!1,f=setTimeout(()=>{if(c)return;if(c=!0,t)a(n);else u(n)},r);e.then((A)=>{if(c)return;c=!0,clearTimeout(f),a(A)},(A)=>{if(c)return;c=!0,clearTimeout(f),u(A)})}),Ei=(e)=>(Math.floor(e())&Lt)>>>0,jo=(e,r,t,n)=>{let a=Ei(n)-Io(r)&Lt,u=t.ms-a;if(!(u>0))return e.then(()=>{},()=>{}),t.kind===Ho?Promise.resolve(t.value):Promise.reject(t.value);let c=Math.max(1,Math.floor(u));return ki(e,c,t.kind===Ho,t.value)},_t=-1,Ko=(e)=>{let r=_o(e);if(r===0)return _t;let t=r-wi|0;return t>=0?t:_t},Ri=(e,r)=>{let t=[];return(n)=>{let a=t[n];if(a)return a;return a={hasAborted:()=>e(n),now:r},t[n]=a,a}},Go=({job:e,timeout:r,hasAborted:t,now:n})=>{let a=n??Ti;if(!t){if(!r)return(c)=>e(c.value);return(c)=>{let f=e(c.value);if(!(f instanceof Promise))return f;return jo(f,c,r,a)}}let u=Ri(t,a);if(!r)return(c)=>{let f=Ko(c);if(f===_t)return e(c.value);return e(c.value,u(f))};return(c)=>{let f=Ko(c),A=f===_t?e(c.value):e(c.value,u(f));if(!(A instanceof Promise))return A;return jo(A,c,r,a)}};var Sn=Symbol.for("knitting.bufferReference.numericTransfer"),$o=Symbol.for("knitting.bufferReference.returnReleaseToken"),Ct=()=>{throw Error('BufferReference cannot run in runtime "browser"')};class It{constructor(){Ct()}static fromMetadata=Ct}var at=(e)=>!1,An=(e,r)=>r(),zo=(e)=>{return},Yo=Ct,Vo=Ct;var qo=({listOfFunctions:e,workerOptions:r,lock:t,returnLock:n,borrowReturnedBufferReferences:a,hasAborted:u,now:c,stealing:f})=>{let A=(S)=>{throw"UNREACHABLE FROM PLACE HOLDER (thread)"},N=0,v=0,W=e.reduce((S,y)=>(S.push(y.run),S),[]),R=new ir,h=new ir,O=(S)=>R.push(S),L=()=>R.shiftNoClear(),T=()=>h.shiftNoClear(),D=(S)=>h.unshift(S),Q=(S)=>h.push(S),X=(S)=>t.recyclecList.push(S),C=65535,z=i.FlagsToHost,ee=vt.Reject,ie=Atomics.load,M=n.hostBits,Z=n.workerBits,G=[],j=new Map,V=()=>{if(G.length===0)return;if((ie(M,0)^ie(Z,0))!==0)return;for(let S=0;S<G.length;S++)try{G[S]()}catch{}G.length=0},fe=(S)=>{let y=S.toString(),w=j.get(y);if(w===void 0)return;j.delete(y);try{w()}catch{}},te=e.reduce((S,y,w)=>{let oe=W[w];return S.push(Go({job:oe,timeout:y.timeout,hasAborted:u,now:c})),S},[]),ae=r?.resolveAfterFinishingAll===!0?()=>N!==0&&R.size===0:()=>N!==0,{decode:s,resolved:P}=t,m=()=>P.shiftNoClear(),k=()=>{if(f&&R.size!==0)return!1;if(!s())return!1;let S=m();while(S)S.resolve=A,S.reject=A,kr(S,S.value),O(S),S=m();return!0},l=(S)=>{if(!n.encode(S))return!1;return!0},g=(S,y)=>{if(S[z]=y?ee:0,!l(S))return!1;if(S.finalize!==void 0){let w=S.finalize[$o];if(w===void 0||a!==!0)G.push(S.finalize);else j.set(w.toString(),S.finalize);S.finalize=void 0}return N--,X(S),!0},b=(S,y,w,oe)=>{if(Dr(S),S.value=w,N++,oe&&v>0)v--;let se=y||S[z]===ee;if(!g(S,se))Q(S)},K=()=>{let S=T();if(!S)return!1;if(!g(S,S[z]===ee))return D(S),!1;return!0};return{hasCompleted:ae,hasPending:()=>R.size!==0,writeBatch:(S)=>{let y=0;while(y<S){if(!K())break;y++}return y},serviceBatchImmediate:()=>{let S=0;while(S<5&&R.size!==0){let y=L();try{let w=y[i.FunctionID]&C,oe=te[w](y);if(y[z]=0,y.value=null,oe instanceof Promise)v++,oe.then((se)=>b(y,!1,se,!0),(se)=>b(y,!0,se,!0));else b(y,!1,oe,!1)}catch(w){b(y,!0,w,!1)}++S}return S},enqueueLock:k,drainReturnReleases:V,releaseReturnedBufferReference:fe,hasAwaiting:()=>v>0,getAwaiting:()=>v}};var Hr=4096,Ot=64,Mt={op:0,rxStatus:Ot,txStatus:Ot*2,stop:Ot*3},st=Ot*4,Cr={running:0,requested:1,acknowledged:2},Bn=Atomics.store,Ft=({sabObject:e,isMain:r,startTime:t})=>{let n=e?.size??Hr,a=n+(Hr-n%Hr)%Hr,u=Ke(e?.sharedSab?e.sharedSab:je(a,Hr*Hr)),c=u.sab,f=u.byteOffset,A=t??performance.now(),N=new Int32Array(c,f+Mt.op,1);if(r)Bn(N,0,0);let v=new Int32Array(c,f+Mt.rxStatus,1);Bn(v,0,1);let W=new Int32Array(c,f+Mt.stop,1);if(r)Bn(W,0,Cr.running);return{sab:u,op:N,startAt:A,opView:N,rxStatus:v,txStatus:new Int32Array(c,f+Mt.txStatus,1),stopView:W}};var Rr=4294967264,wn=({lockSector:e})=>{let r=Ke(e??_r(Ur)),t=r.sab,n=new Int32Array(t,r.byteOffset+Mo,1),a=new Int32Array(t,r.byteOffset+Oo,1),u=new Uint32Array(we.slots),c=new Uint32Array(we.slots),f=Math.clz32,A=Atomics.load,N=Atomics.store,v=Atomics.xor,W=4294967295,R=Wr,h=~R>>>0;u.fill(4294967295);let O=0,L=0,T=0,D=(M)=>u.slice(0,M),Q=(M,Z)=>{let G=u,j=0;M=M|0,Z=Z>>>0;for(let fe=0;fe<M;fe++){let te=G[fe];if(te===4294967295)continue;if((Z&1<<(te&R))!==0)continue;if(j!==fe)G[j]=te;j++}let V=j;for(;j<M;j++)G[j]=4294967295;return V},X=()=>{let M=A(a,0)|0,G=~((T^M)>>>0)>>>0;if(O===0||G===0)return;if(G===4294967295){O=0,L=0;return}if(G&=L,G===0)return;L&=~G,O=Q(O,G)},C=(M,Z)=>{let G=u,j=c,V=O,fe=-1,te=0,ae=0,s=!1;if(V===0&&L===0)return G[0]=0,j[0]=Z,M[i.Start]=0,M[i.slotBuffer]=(M[i.slotBuffer]&Rr|0)>>>0,O=1,L=1,T^=1,0;if(V!==0){let l=A(a,0)|0,g=~(T^l)>>>0;if(g!==0)g&=L;if(g===L>>>0)O=0,L=0,V=0,g=0;else if(g!==0)for(let b=0;b<V;b++){let K=G[b],S=K&R,y=1<<S;if((g&y)===0)continue;if(j[S]>>>0!==Z>>>0)continue;let w=~L>>>0,oe=(w&-w)>>>0;if(oe===0)return-1;let se=31-f(oe),Se=K&h;return G[b]=(Se|se)>>>0,j[se]=Z,M[i.Start]=Se,M[i.slotBuffer]=(M[i.slotBuffer]&Rr|se)>>>0,L=L&~y|oe,T^=oe,se}if(V!==0&&g!==0&&g!==4294967295){s=!0;let b=0;for(let K=0;K<V;K++){let S=G[K],y=S&R;if((g&1<<y)!==0)continue;let w=S&h;if(fe===-1&&w-ae>>>0>=Z>>>0)fe=b,te=ae;if(b!==K)G[b]=S;b++,ae=w+(j[y]>>>0)>>>0}for(let K=b;K<V;K++)G[K]=4294967295;if(g!==0)L&=~g;O=V=b}}if(V>=we.slots)return-1;let P=~L>>>0,m=(P&-P)>>>0;if(m===0)return-1;let k=31-f(m);if(!s&&V!==0){if((G[0]&h)>=Z>>>0){for(let S=V;S>0;S--)G[S]=G[S-1];return G[0]=k,j[k]=Z,M[i.Start]=0,M[i.slotBuffer]=(M[i.slotBuffer]&Rr|k)>>>0,O=V+1,L|=m,T^=m,k}for(let S=0;S+1<V;S++){let y=G[S],oe=(y&h)+(j[y&R]>>>0)>>>0;if((G[S+1]&h)-oe>>>0<Z>>>0)continue;for(let Se=V;Se>S+1;Se--)G[Se]=G[Se-1];return G[S+1]=(oe|k)>>>0,j[k]=Z,M[i.Start]=oe,M[i.slotBuffer]=(M[i.slotBuffer]&Rr|k)>>>0,O=V+1,L|=m,T^=m,k}let g=G[V-1],K=(g&h)+(j[g&R]>>>0)>>>0;return G[V]=(K|k)>>>0,j[k]=Z,M[i.Start]=K,M[i.slotBuffer]=(M[i.slotBuffer]&Rr|k)>>>0,O=V+1,L|=m,T^=m,k}if(V===0)return G[0]=k,j[k]=Z,M[i.Start]=0,M[i.slotBuffer]=(M[i.slotBuffer]&Rr|k)>>>0,O=1,L|=m,T^=m,k;if(fe!==-1){for(let l=V;l>fe;l--)G[l]=G[l-1];return G[fe]=(te|k)>>>0,j[k]=Z,M[i.Start]=te,M[i.slotBuffer]=(M[i.slotBuffer]&Rr|k)>>>0,O=V+1,L|=m,T^=m,k}return G[V]=(ae|k)>>>0,j[k]=Z,M[i.Start]=ae,M[i.slotBuffer]=(M[i.slotBuffer]&Rr|k)>>>0,O=V+1,L|=m,T^=m,k};return{allocTask:(M)=>{let G=(M[i.PayloadLen]|0)+63&-64,j=C(M,G);if(j===-1)return-1;return N(n,0,T),j},setSlotLength:(M,Z)=>{M=M&Wr;let G=(Z|0)+63&-64;return c[M]=G>>>0,!0},lockSAB:t,free:(M)=>{v(a,0,1<<(M&Wr))},hostBits:n,workerBits:a,updateTable:X,startAndIndexToArray:D}};var Nt=Uint32Array.BYTES_PER_ELEMENT,lr=(e,r)=>{if(!Number.isInteger(e)||e<0)throw RangeError(`${r} must be a non-negative integer`);return e},kn=(e,r=64)=>{let t=lr(e,"value"),n=lr(r,"alignment");if(n===0)throw RangeError("alignment must be greater than zero");return Math.ceil(t/n)*n},En=(e,r,t)=>({sab:e,byteOffset:lr(r,"byteOffset"),byteLength:lr(t,"byteLength")}),xi=({alignTo:e=64,startByteOffset:r=0}={})=>{let t=lr(e,"alignTo");if(t===0)throw RangeError("alignTo must be greater than zero");let n=lr(r,"startByteOffset"),a=[];return{slices:a,take:(c,f,{alignTo:A=t,reserveByteLength:N}={})=>{let v=lr(f,`${c} byteLength`),W=lr(A,`${c} alignTo`);if(W===0)throw RangeError(`${c} alignTo must be greater than zero`);let R=N==null?kn(v,W):lr(N,`${c} reserveByteLength`);if(R<v)throw RangeError(`${c} reserveByteLength must cover byteLength`);let h=kn(n,W),O={name:c,byteOffset:h,byteLength:v,reservedByteLength:R};return a.push(O),n=h+R,O},byteLength:()=>n,bind:(c,f)=>En(c,f.byteOffset,f.byteLength)}},Qo=({slotIndex:e,slotStrideU32:r,baseU32:t=0,extraU32:n=0})=>e*r+t+n,Jo=({slotIndex:e,slotStrideU32:r,baseByteOffset:t=0,baseU32:n=0,extraU32:a=0})=>t+Qo({slotIndex:e,slotStrideU32:r,baseU32:n,extraU32:a})*Nt,Rn=({slotCount:e,slotStrideU32:r,slotLengthU32:t,baseU32:n=0})=>{let a=lr(e,"slotCount");if(a===0)return 0;return(Qo({slotIndex:a-1,slotStrideU32:r,baseU32:n})+t)*Nt},Li=(e)=>e*2,Tn=({slotCount:e,slotStrideU32:r,queues:t=1,alignTo:n=64})=>kn(e*r*Nt*t,n),Pi=({sab:e,byteOffset:r,slotCount:t,slotStrideU32:n})=>{let a=Li(n),u=n*Nt,c=Rn({slotCount:t,slotStrideU32:a,slotLengthU32:n});return{headerSlotStrideU32:a,requestHeaders:En(e,r,c),returnHeaders:En(e,r+u,c)}},xn=({signalBytes:e,abortBytes:r,lockSectorBytes:t,headerSlotStrideU32:n,slotCount:a,headerLayout:u="interleaved",alignTo:c=64,createBuffer:f=(A)=>new SharedArrayBuffer(A)})=>{let A=xi({alignTo:c}),N=A.take("signals",e),v=A.take("requestLockSector",t),W=A.take("returnLockSector",t),R,h,O;if(u==="interleaved")O=A.take("interleavedHeaders",Tn({slotCount:a,slotStrideU32:n,queues:2,alignTo:c}));else R=A.take("requestHeaders",Tn({slotCount:a,slotStrideU32:n,alignTo:c})),h=A.take("returnHeaders",Tn({slotCount:a,slotStrideU32:n,alignTo:c}));let L=A.take("abortSignals",r),T=f(A.byteLength()),D=A.bind(T,N),Q=A.bind(T,L),X=A.bind(T,v),C=A.bind(T,W),z=u==="interleaved"?Pi({sab:T,byteOffset:O.byteOffset,slotCount:a,slotStrideU32:n}):{headerSlotStrideU32:n,requestHeaders:A.bind(T,R),returnHeaders:A.bind(T,h)};return{controlSAB:T,signals:D,abortSignals:Q,lock:{headers:z.requestHeaders,headerSlotStrideU32:z.headerSlotStrideU32,lockSector:X,payloadSector:X},returnLock:{headers:z.returnHeaders,headerSlotStrideU32:z.headerSlotStrideU32,lockSector:C,payloadSector:C},slices:A.slices}};var vi=4096,xr=new TextEncoder,Pn=new TextDecoder,ur=64,_i=vi,Ci=(e)=>e+63&-64,Zo=(e)=>e.constructor===Uint8Array,Ii=(e)=>Zo(e)?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),Mi=(e)=>e instanceof TypeError,Oi=(e)=>e instanceof TypeError,ea=()=>{let e=globalThis.Buffer;if(typeof e?.from!=="function"||typeof e?.allocUnsafe!=="function"||typeof e?.allocUnsafeSlow!=="function")return;return e},Fi=(e,r)=>{let t=0,n=0;for(let a of e){let u=xr.encode(a);if(n+u.byteLength>r.byteLength)break;r.set(u,n),n+=u.byteLength,t+=a.length}return{read:t,written:n}},Ln=(e,r)=>{let t=new Uint8Array(r.byteLength),n=typeof xr.encodeInto==="function"?xr.encodeInto(e,t):Fi(e,t);if(n.written>0)r.set(t.subarray(0,n.written),0);return n},Xo=(e)=>Pn.decode(e.slice()),ra=(e,r,t)=>{if(typeof xr.encodeInto!=="function")return Ln(e,r);if(t?.encodeInto===!0)return xr.encodeInto(e,r);if(t?.encodeInto===!1)return Ln(e,r);try{return xr.encodeInto(e,r)}catch(n){if(!Mi(n))throw n;return Ln(e,r)}},ta=(e,r)=>{if(r?.decode===!0)return Pn.decode(e);if(r?.decode===!1)return Xo(e);try{return Pn.decode(e)}catch(t){if(!Oi(t))throw t;return Xo(e)}},vn=({sab:e,payloadConfig:r,textCompat:t})=>{let n=e===void 0?void 0:Ke(e),a=e!==void 0&&!rt(e),u=n?.sab instanceof ArrayBuffer&&!(n.sab instanceof SharedArrayBuffer),c=a||u,f=n?.byteLength,A=Jr&&n?.sab instanceof ArrayBuffer&&!(n.sab instanceof SharedArrayBuffer)?void 0:ea(),N=cr({sab:n?.sab,options:!c||f===void 0?r:{...r,mode:"fixed",payloadInitialBytes:r?.payloadInitialBytes??f,payloadMaxByteLength:r?.payloadMaxByteLength??f}}),v=N.mode==="growable",W=n?.sab??(v?je(N.payloadInitialBytes,N.payloadMaxByteLength):je(N.payloadInitialBytes)),R=n?.byteOffset??0,h=n?.byteLength??W.byteLength,O=new Uint8Array(W,R+ur,Math.max(0,h-ur)),L=A?(s,P)=>{let m=A.from(s,P+ur);if(m.buffer!==s)throw Error("Buffer view does not alias shared buffer");return m}:void 0,T=L?.(W,R),D=new Float64Array(W,R+ur,Math.max(0,h-ur)>>>3),Q=()=>h-ur,X=(s)=>{if(Q()>=s)return!0;if(!v)return!1;try{if(!(W instanceof SharedArrayBuffer))return!1;W=Ao(W,Ci(ur+s+_i))}catch{return!1}return R=0,h=W.byteLength,O=new Uint8Array(W,R+ur,h-ur),T=L?.(W,R),D=new Float64Array(W,R+ur,h-ur>>>3),!0},C=(s,P)=>{if(!T)return ta(O.subarray(s,P),t);return T.toString("utf8",s,P)},z=(s,P=0)=>{let m=Ii(s);if(!X(P+m.byteLength))return-1;return O.set(m,P),m.byteLength},ee=(s,P=0)=>{let m=s.byteLength;if(!X(P+m))return-1;return O.set(s,P),m},ie=(s,P=0)=>{let m=s.byteLength;if(!X(P+m))return-1;return O.set(new Uint8Array(s),P),m},M=(s,P=0)=>{let m=s.byteLength;if(!X(P+m))return-1;return D.set(s,P>>>3),m},Z=(s,P)=>O.slice(s,P),G=(s,P)=>O.subarray(s,P),j=(s,P)=>{if(!A||!T)return Z(s,P);let m=Math.max(0,P-s|0),k=A.allocUnsafe(m);if(m===0)return k;return T.copy(k,0,s,P),k},V=(s,P)=>{if(!A||!T)return Z(s,P).buffer;let m=Math.max(0,P-s|0);if(m===0)return new ArrayBuffer(0);let k=A.allocUnsafeSlow(m);return T.copy(k,0,s,P),k.buffer};return{readUtf8:C,writeBinary:z,writeBuffer:ee,writeArrayBuffer:ie,write8Binary:M,readBytesCopy:Z,readBytesView:G,readBytesBufferCopy:j,readBufferCopy:j,readBytesArrayBufferCopy:V,readArrayBufferCopy:V,read8BytesFloatCopy:(s,P)=>D.slice(s>>>3,P>>>3),read8BytesFloatView:(s,P)=>D.subarray(s>>>3,P>>>3),writeUtf8:(s,P,m=s.length*3)=>{if(!X(P+m))return-1;let k=O.subarray(P,P+m);if(!T){let{read:b,written:K}=ra(s,k,t);if(b!==s.length)return-1;return K}let{read:l,written:g}=xr.encodeInto(s,k);if(l!==s.length)return-1;return g}}},na=({headersBuffer:e,slotStrideU32:r,textCompat:t})=>{let n=ea(),a=e instanceof Uint32Array?e.buffer:e,u=e instanceof Uint32Array?e.byteOffset:0,c=Uint32Array.BYTES_PER_ELEMENT,f=r??fr,A=ot*c,N=new Uint8Array(a,u),v=n?.from(a,u),W=new Float64Array(a,u,a.byteLength-u>>>3),R=(l)=>Jo({slotIndex:l,slotStrideU32:f,baseByteOffset:u,baseU32:we.header}),h=new Uint32Array(we.slots);for(let l=0;l<we.slots;l++)h[l]=R(l)-u;let O=new Uint32Array(a,u,a.byteLength-u>>>2),L=new Uint32Array(we.slots);for(let l=0;l<we.slots;l++)L[l]=h[l]>>>2;let T=(l,g,b)=>{let K=L[b];for(let S=0;S<g;S++)O[K+S]=l[S];return g*c},D=(l,g,b)=>{let K=L[b];for(let S=0;S<g;S++)l[S]=O[K+S];return l},Q=(l,g)=>(l|0)>=0&&l+g<=A,X=(l,g)=>{let b=h[g],K=N.subarray(b,b+A);if(!v){let{read:w,written:oe}=ra(l,K,t);if(w!==l.length)return-1;return oe}let{read:S,written:y}=xr.encodeInto(l,K);if(S!==l.length)return-1;return y},C=(l,g,b)=>{let K=h[b];if(!v)return ta(N.subarray(K+l,K+g),t);return v.toString("utf8",K+l,K+g)},z=(l,g,b=0)=>(N.set(l,h[g]+b),l.byteLength),ee=(l,g,b=0)=>(N.set(l,h[g]+b),l.byteLength),ie=(l,g,b=0)=>{let K=l.byteLength;return N.set(new Uint8Array(l),h[g]+b),K},M=(l,g,b=0)=>(N.set(l,h[g]+b),l.byteLength),Z=(l,g,b=0)=>{if(!Zo(l))return-1;return M(l,g,b)},G=(l,g,b=0)=>{let K=l.byteLength;if(!Q(b,K))return-1;return W.set(l,h[g]+b>>>3),K},j=(l,g,b)=>N.slice(h[b]+l,h[b]+g),V=(l,g,b)=>N.subarray(h[b]+l,h[b]+g),fe=(l,g,b)=>{if(!n||!v)return j(l,g,b);let K=g-l,S=n.allocUnsafe(K),y=h[b];return v.copy(S,0,y+l,y+g),S},te=(l,g,b)=>{if(!n)return j(l,g,b);let K=fe(l,g,b);return new Uint8Array(K.buffer,K.byteOffset,K.byteLength)},s=Jr?(l,g,b)=>j(l,g,b):te,P=(l,g,b)=>{if(!n||!v)return j(l,g,b).buffer;let K=Math.max(0,g-l|0);if(K===0)return new ArrayBuffer(0);let S=n.allocUnsafeSlow(K),y=h[b];return v.copy(S,0,y+l,y+g),S.buffer};return{writeUtf8:X,readUtf8:C,writeBinary:z,writeBuffer:ee,writeArrayBuffer:ie,writeExactUint8Array:M,writeUint8Array:Z,writeU32Words:T,readU32Words:D,write8Binary:G,readBytesCopy:j,readBytesView:V,readBytesBufferCopy:fe,readBufferCopy:fe,readUint8ArrayCopy:s,readUint8ArrayBufferCopy:te,readBytesArrayBufferCopy:P,readArrayBufferCopy:P,read8BytesFloatCopy:(l,g,b)=>W.slice(h[b]+l>>>3,h[b]+g>>>3),read8BytesFloatView:(l,g,b)=>W.subarray(h[b]+l>>>3,h[b]+g>>>3),maxBytes:A}};var Te={Function:0,Symbol:1,Json:2,Serializable:3},Ni=(e,r,t)=>{switch(r){case Te.Function:return`KNT_ERROR_0: Function is not a valid type; name: ${typeof e.value==="function"?e.value.name||"<anonymous>":"<unknown>"}`;case Te.Symbol:return"KNT_ERROR_1: Symbol must use Symbol.for(...) keys";case Te.Json:return t==null||t.length===0?"KNT_ERROR_2: JSON stringify failed; payload must be JSON-safe":`KNT_ERROR_2: JSON stringify failed; ${t}`;case Te.Serializable:return t==null||t.length===0?"KNT_ERROR_3: Unsupported payload type; serialize it yourself":`KNT_ERROR_3: Unsupported payload type; ${t}`}},Ce=({task:e,type:r,onPromise:t,detail:n})=>{let a=Ni(e,r,n);if(!Tr)return e.value=a,e[i.FlagsToHost]=vt.Reject,!1;if(t==null)throw TypeError(a);if(!Rt(e))return!1;return queueMicrotask(()=>{nt(e),e.value=a,t(e,!0,a)}),!1};var oa=Symbol.for("knitting.payloadCodec.transportFinalizer");class mr{header;payload;constructor(e,r){this.header=e,this.payload=r}[Symbol.dispose](){let e=this.payload;if(e!==null&&typeof e==="object")e[Symbol.dispose]?.()}[oa](){let e=this.payload;if(e===null||typeof e!=="object")return;let r=e[oa];return typeof r==="function"?r.call(e):void 0}}var Dt=()=>{throw Error('BufferReference cannot run in runtime "browser"')};var gr="knitting.sharedArrayBuffer",On=Symbol.for("knitting.sharedArrayBuffer.numericTransfer"),Ut=8,Di=2,Wi=Symbol.for("knitting.payloadCodec"),ia=()=>{let e=He();if(e!==void 0&&typeof e.pid==="number")return e.pid;let r=globalThis.Deno;if(typeof r?.pid==="number")return r.pid;return 0},Cn=`${Me}:${ia()}`,Ui=typeof SharedArrayBuffer==="function",Hi=(e)=>Ui&&e instanceof SharedArrayBuffer,aa=new WeakMap,Wt=new WeakMap,sa=new WeakMap,In=new Map,ji=typeof FinalizationRegistry==="function"?new FinalizationRegistry((e)=>{try{Dt().releaseShared(e)}catch{}}):void 0,Mn=(e)=>[Number(e&0xffffffffn)>>>0,Number(e>>32n&0xffffffffn)>>>0],_n=(e,r)=>BigInt(r>>>0)<<32n|BigInt(e>>>0),Ki=(e)=>{switch(e){case"node":return 1;case"deno":return 2;case"bun":return 3;default:return 0}},Gi=(e)=>{switch(e){case 1:return"node";case 2:return"deno";case 3:return"bun";default:return}},$i=(e)=>{if(e===void 0)return;let r=sa.get(e);if(r===void 0)r=new Set,sa.set(e,r);return r},zi=(e)=>{let r=aa.get(e);if(r===void 0){let t=Dt().produceShared(e);r={token:t.token,pointer:t.pointer,byteLength:t.byteLength},aa.set(e,r),ji?.register(e,r.token)}return r},Yi=(e)=>({kind:gr,origin:Cn,runtime:Me,pointer:e.pointer.toString(),token:e.token.toString(),byteLength:e.byteLength}),Vi=(e)=>{if(e.byteLength>4294967295)return;let[r,t]=Mn(e.token),[n,a]=Mn(e.pointer);return[r,t,n,a,e.byteLength>>>0,Ki(Me),ia()>>>0,0]},qi=(e)=>{let[r,t]=Mn(e.token);return[r,t]},Qi=(e)=>{let r=Wt.get(e);if(r!==void 0)return r;let t=zi(e);return r=ua(e,t,Yi(t)),r},ua=(e,r,t)=>{let n=Wt.get(e);if(n!==void 0)return n;let a=Vi(r),u=qi(r);return n={[Wi]:gr,toMetadata:()=>t,[On]:(c)=>{if(a===void 0)return;let f=$i(c);if(f===void 0)return a;if(f.has(r.token))return u;return f.add(r.token),a}},Wt.set(e,n),n},Fn=(e)=>{if(Hi(e))return Qi(e);return Wt.get(e)},Ji=(e)=>{if(e===null||typeof e!=="object")return!1;let r=e;return r.kind===gr&&typeof r.origin==="string"&&typeof r.runtime==="string"&&typeof r.pointer==="string"&&typeof r.token==="string"&&typeof r.byteLength==="number"&&Number.isInteger(r.byteLength)&&r.byteLength>=0},ca=(e,r)=>{if(e.origin!==Cn)throw Error(`SharedArrayBuffer cannot cross a process boundary (origin ${e.origin} != ${Cn}); it is shared by reference to thread workers only.`);let t=BigInt(e.token),n=In.get(t);if(n!==void 0)return n;if(r)throw TypeError("SharedArrayBuffer cache miss for warm token payload");let a=Dt().adoptShared({token:t,pointer:BigInt(e.pointer),byteOffset:0,byteLength:e.byteLength});return In.set(t,a.buffer),ua(a.buffer,{token:t,pointer:BigInt(e.pointer),byteLength:e.byteLength},e),a.buffer},Xi=(e)=>{if(!Ji(e))throw TypeError("Invalid SharedArrayBuffer payload metadata");return ca(e,!1)},Zi=(e)=>{if(e.length===Di){let a=_n(e[0]??0,e[1]??0),u=In.get(a);if(u!==void 0)return u;throw TypeError("SharedArrayBuffer cache miss for warm token payload")}let r=Gi(e[5]??0);if(r===void 0)throw TypeError("Invalid SharedArrayBuffer numeric runtime");let t=e[6];if(t===void 0||!Number.isInteger(t)||t<0)throw TypeError("Invalid SharedArrayBuffer numeric origin");if(e.length!==Ut)throw TypeError("Invalid SharedArrayBuffer numeric word count");let n={kind:gr,origin:`${r}:${t>>>0}`,runtime:r,pointer:_n(e[2]??0,e[3]??0).toString(),token:_n(e[0]??0,e[1]??0).toString(),byteLength:e[4]??0};return ca(n,!1)},eu=globalThis,ru=eu.__KNITTING_PAYLOAD_CODECS__??=Object.create(null);ru[gr]={decode:Xi,decodeNumeric:Zi};var jt=(e)=>!1,Ht=()=>{throw Error("ProcessSharedBuffer is unavailable in the browser build")};class Lr{constructor(){Ht()}static create=Ht;static fromMetadata=Ht;toMetadata=Ht}var fa=Symbol.for("knitting.numericArray");class Kt extends Array{}Object.defineProperty(Kt.prototype,fa,{value:!0,enumerable:!1,writable:!1,configurable:!1});var Nn=(e)=>e[fa]===!0,Dn=(e)=>{let r=e.length,t=new Kt(r);for(let n=0;n<r;n++)t[n]=e[n];return t};var jn=new ArrayBuffer(8),$t=new Float64Array(jn),Aa=new BigInt64Array(jn),rr=new Uint32Array(jn),Ba=new TextEncoder,zt=globalThis.Buffer,la=typeof zt?.byteLength==="function"?(e,r)=>zt.byteLength(e,r):void 0,tu=(e)=>typeof zt?.isBuffer==="function"&&zt.isBuffer(e),nu=(e)=>e!=null&&typeof e==="object"&&Object.getPrototypeOf(e)===Uint8Array.prototype,ou=!la?(e)=>Ba.encode(e).byteLength:(e)=>la(e,"utf8"),au=-(1n<<63n),su=(1n<<63n)-1n,{parse:hr,stringify:Kr}=JSON,{for:Wn,keyFor:iu}=Symbol,wa=Wn("knitting.payloadCodec"),Kn="knitting.bufferReference",Gn="knitting.processSharedBuffer",Ta=globalThis,ka=Object.getPrototypeOf,qt=Object.prototype.hasOwnProperty,Yt=Array.isArray,Ea=Object.prototype,da="Unsupported object type. Allowed: plain object, array, Error, Date, Envelope, Buffer, ArrayBuffer, DataView, typed arrays, and registered external payloads. Serialize it yourself.",ya="Envelope payload must be an ArrayBuffer, SharedArrayBuffer, ProcessSharedBuffer, or BufferReference.",uu="Envelope header must be a JSON-like value or string.",cu="Envelope header cannot contain Promise values.",fu="Dynamic payload exceeds maxPayloadBytes.",lu="Dynamic payload buffer capacity exceeded.",Gr="SharedArrayBuffer and BufferReference are process-local pointer payloads and cannot cross a process-worker boundary; use ProcessSharedBuffer instead.",pa="Reserved Knitting external payload codec cannot be forged.",$r=(e)=>e===gr||e===Kn,ma=(e)=>$r(e)||e===Gn,du=(e)=>{let r=ka(e);return r===Ea||r===null},ga=(e)=>{let r=e[wa];return typeof r==="string"?r:void 0},yu=(e)=>{switch(e){case"node":return 1;case"deno":return 2;case"bun":return 3;default:return 0}},pu=(e)=>{switch(e){case"shared-array-buffer":return 1;case"external-array-buffer":return 2;default:return 0}},jr=(e)=>typeof e==="number"&&Number.isInteger(e)&&e>=0&&e<=4294967295,ha=(e)=>typeof e.toMetadata==="function"&&typeof e[wa]==="string",ba=(e)=>{if(at(e))return It.prototype.toMetadata.call(e);if(jt(e))return Lr.prototype.toMetadata.call(e);return e.toMetadata()},Gt=(e,r)=>{let t=hr(e);if(!Yt(t)||t.length!==2)return t;let n=t[0],a=t[1];if(typeof n!=="string")return{codec:n,metadata:a};if(r&&$r(n))throw TypeError(Gr);let u=Ta.__KNITTING_PAYLOAD_CODECS__?.[n];return typeof u?.decode==="function"?u.decode(a):{codec:n,metadata:a}},Vt=8,Un=8,mu=4294967295,$n=(e,r)=>{let t=Ta.__KNITTING_PAYLOAD_CODECS__?.[e];if(typeof t?.decodeNumeric==="function")return t.decodeNumeric(r);return{codec:e,metadata:Array.from(r)}},gu=(e)=>$n(Gn,e),hu=(e)=>$n(Kn,e),bu=(e)=>$n(gr,e),Su=(e)=>{let r=e.value;switch(typeof r){case"number":if(r!==r)return e[i.Type]=Ge.NaN,!0;return $t[0]=r,e[i.Type]=Ge.Float64,e[i.Start]=rr[0],e[i.End]=rr[1],!0;case"boolean":return e[i.Type]=r?Ge.True:Ge.False,!0;case"undefined":return e[i.Type]=Ge.Undefined,!0;case"bigint":if(r<au||r>su)return!1;return Aa[0]=r,e[i.Type]=Ge.BigInt,e[i.Start]=rr[0],e[i.End]=rr[1],!0;case"object":if(r===null)return e[i.Type]=Ge.Null,!0;return!1;default:return!1}},Hn=(e,r)=>{if(e instanceof Promise)return!0;if(e===null||typeof e!=="object")return!1;let t=e,n=r??new Set;if(n.has(t))return!1;if(n.add(t),Yt(t)){let u=t;for(let c=0;c<u.length;c++)if(Hn(u[c],n))return!0;return!1}if(!du(t))return!1;let a=t;for(let u in a){if(!qt.call(a,u))continue;if(Hn(a[u],n))return!0}return!1},Ra=(e)=>{if(e===null||e===void 0)return e;switch(typeof e){case"string":case"number":case"boolean":return e;case"bigint":return e.toString();case"symbol":case"function":return String(e)}if(e instanceof Error){let r={name:e.name,message:e.message};if(typeof e.stack==="string")r.stack=e.stack;if(qt.call(e,"cause"))r.cause=Ra(e.cause);return r}try{return hr(Kr(e))}catch{return String(e)}},Au=(e)=>{let r={name:e.name,message:e.message};if(typeof e.stack==="string")r.stack=e.stack;if(qt.call(e,"cause"))r.cause=Ra(e.cause);return r},Bu=(e)=>{let r;try{r=hr(e)}catch{return Error(e)}if(r==null||typeof r!=="object")return Error(String(r));let t=r,n=Error(typeof t.message==="string"?t.message:"");if(typeof t.name==="string"&&t.name.length>0)n.name=t.name;if(typeof t.stack==="string")try{n.stack=t.stack}catch{}if(qt.call(t,"cause"))n.cause=t.cause;return n},Sa=(e)=>{let r=e[0],t=0n;for(let n=e.length-1;n>=1;n--)t=t<<8n|BigInt(e[n]);return r===1?-t:t},wu=(e,r,t)=>{let n=r??fr,a=Rn({slotCount:we.slots,slotStrideU32:n,slotLengthU32:ot,baseU32:we.header});if(e.byteLength<Math.max(a,bn))return null;return na({headersBuffer:e,slotStrideU32:n,textCompat:t})},xa=(e,r,t)=>{let n=wu(e,r,t);if(n===null)throw RangeError("headersBuffer is too small for static payload IO");return n},Tu=({lockSector:e,payload:r,sab:t,payloadConfig:n,headersBuffer:a,headerSlotStrideU32:u,textCompat:c,onPromise:f,processBoundary:A=!1})=>{let N=r?.sab??t,v=cr({sab:N,options:r?.config??n}),W=v.maxPayloadBytes,{allocTask:R,setSlotLength:h,free:O}=wn({lockSector:e}),{writeBinary:L,writeBuffer:T,writeArrayBuffer:D,write8Binary:Q,writeUtf8:X}=vn({sab:N,payloadConfig:v,textCompat:c?.payload}),{maxBytes:C,writeBinary:z,writeBuffer:ee,writeArrayBuffer:ie,writeExactUint8Array:M,writeU32Words:Z,write8Binary:G,writeUtf8:j}=xa(a,u,c?.headers),V=(o,_,x)=>Ce({task:o,type:Te.Serializable,onPromise:f,detail:`${fu} limit=${W}; actual=${_}; type=${x}.`}),fe=(o)=>Ce({task:o,type:Te.Serializable,onPromise:f,detail:lu}),te=(o,_,x)=>{if(_<=W)return!0;return V(o,_,x)},ae=(o,_,x,d)=>{let F=_.length*3;if(F+x<=W)return F;let H=ou(_),q=H+x;if(q>W)return V(o,q,d),-1;return H},s=(o,_,x)=>ae(o,_,0,x),P=(o,_)=>(o[i.PayloadLen]=_,R(o)),m=-1,k=(o,_)=>{o[i.PayloadLen]=_;let x=R(o);return m=x,x},l=()=>{if(m!==-1)O(m),m=-1},g=(o,_)=>{if(O(_),m===_)m=-1;return fe(o)},b=new Uint8Array(16),K=(o)=>{let _=0,x=o;if(o<0n)_=1,x=-o;let d=1;while(x>0n){if(d>=b.byteLength){let F=new Uint8Array(b.byteLength<<1);F.set(b,0),b=F}b[d++]=Number(x&0xffn),x>>=8n}return b[0]=_,d},S=(o)=>{b.fill(0,0,o)},y=(o,_)=>{let x;try{x=Kr(Au(_))}catch(H){let q=H instanceof Error?H.message:String(H);return Ce({task:o,type:Te.Serializable,onPromise:f,detail:q})}let d=s(o,x,"Error");if(d<0)return!1;o[i.Type]=I.Error;let F=k(o,d),U=X(x,o[i.Start],d);if(U<0)return g(o,F);return o[i.PayloadLen]=U,h(F,U),o.value=null,!0},w=(o,_,x,d,F)=>{let U=x.byteLength;if(U<=C){let pe=z(x,_);if(pe!==-1)return o[i.Type]=F,o[i.PayloadLen]=pe,o.value=null,!0}if(o[i.Type]=d,!te(o,U,vo(d)))return!1;let H=k(o,U),q=L(x,o[i.Start]);if(q<0)return g(o,H);return o[i.PayloadLen]=q,h(H,q),o.value=null,!0},oe=(o,_,x)=>{let d=x.byteLength;if(d<=C)return M(x,_),o[i.Type]=I.StaticBinary,o[i.PayloadLen]=d,o.value=null,!0;if(o[i.Type]=I.Binary,!te(o,d,"Binary"))return!1;let F=k(o,d),U=L(x,o[i.Start]);if(U<0)return g(o,F);return o[i.PayloadLen]=U,h(F,U),o.value=null,!0},se=(o,_,x)=>{let d=x.byteLength;if(d<=C){let H=ee(x,_);if(H!==-1)return o[i.Type]=I.StaticBuffer,o[i.PayloadLen]=H,o.value=null,!0}if(o[i.Type]=I.Buffer,!te(o,d,"Buffer"))return!1;let F=k(o,d),U=T(x,o[i.Start]);if(U<0)return g(o,F);return o[i.PayloadLen]=U,h(F,U),o.value=null,!0},Se=(o,_,x)=>{let d=x.byteLength;if(d<=C){let H=G(x,_);if(H!==-1)return o[i.Type]=I.StaticFloat64Array,o[i.PayloadLen]=H,o.value=null,!0}if(o[i.Type]=I.Float64Array,!te(o,d,"Float64Array"))return!1;let F=k(o,d),U=Q(x,o[i.Start]);if(U<0)return g(o,F);return o[i.PayloadLen]=U,h(F,U),o.value=null,!0},Le=new Float64Array(0),he=(o,_,x)=>{let d=x.length;if(Le.length<d)Le=new Float64Array(d);for(let pe=0;pe<d;pe++)Le[pe]=x[pe];let F=Le.subarray(0,d),U=F.byteLength;if(U<=C){let pe=G(F,_);if(pe!==-1)return o[i.Type]=I.StaticNumericArray,o[i.PayloadLen]=pe,o.value=null,!0}if(o[i.Type]=I.NumericArray,!te(o,U,"NumericArray"))return!1;let H=k(o,U),q=Q(F,o[i.Start]);if(q<0)return g(o,H);return o[i.PayloadLen]=q,h(H,q),o.value=null,!0},Ae=(o,_,x)=>{let d=x.byteLength;if(d<=C){let H=ie(x,_);if(H!==-1)return o[i.Type]=I.StaticArrayBuffer,o[i.PayloadLen]=H,o.value=null,!0}if(o[i.Type]=I.ArrayBuffer,!te(o,d,"ArrayBuffer"))return!1;let F=k(o,d),U=D(x,o[i.Start]);if(U<0)return g(o,F);return o[i.PayloadLen]=U,h(F,U),o.value=null,!0},ce=new Uint32Array(Vt),ye=new Uint32Array(Ut),Oe=(o,_,x)=>{let d=x.descriptor;if(d===void 0||d.name!==void 0||!jr(d.fd)||!jr(d.size)||!jr(d.byteLength)||!jr(x.byteOffset)||!jr(x.byteLength))return!1;let F=d.baseAddressMod64;if(F!==void 0&&!jr(F))return!1;return ce[0]=d.fd,ce[1]=d.size,ce[2]=d.byteLength,ce[3]=x.byteOffset,ce[4]=x.byteLength,ce[5]=yu(d.runtime),ce[6]=pu(d.kind),ce[7]=F===void 0?mu:F,o[i.Type]=I.ProcessSharedBuffer,o[i.PayloadLen]=Z(ce,Vt,_),o.value=null,!0},Ne=(o,_,x)=>{let d=at(x)?It.prototype[Sn].call(x):x[Sn]?.();if(d===void 0)return!1;return o[i.Type]=I.BufferReference,o[i.PayloadLen]=Z(d,Un,_),kr(o,x),o.value=null,!0},De=(o,_,x)=>{let d=x[On]?.(e);if(d===void 0)return!1;return ye[0]=d[0]??0,ye[1]=d[1]??0,ye[2]=d[2]??0,ye[3]=d[3]??0,ye[4]=d[4]??0,ye[5]=d[5]??0,ye[6]=d[6]??0,ye[7]=d[7]??0,o[i.Type]=I.SharedArrayBuffer,o[i.PayloadLen]=Z(ye,d.length,_),o.value=null,!0},me=(o,_,x,d=!1)=>{let F=ga(x);if(F===void 0)return Ce({task:o,type:Te.Serializable,onPromise:f,detail:da});if(d){if(A&&$r(F))return Ce({task:o,type:Te.Serializable,onPromise:f,detail:Gr});if(F===gr&&De(o,_,x))return!0;if(F===Kn&&Ne(o,_,x))return!0;if(F===Gn&&Oe(o,_,x))return!0}else if(ma(F))return Ce({task:o,type:Te.Serializable,onPromise:f,detail:A&&$r(F)?Gr:pa});let U;try{U=Kr([F,d?ba(x):x.toMetadata()])}catch(ge){let Re=ge instanceof Error?ge.message:String(ge);return Ce({task:o,type:Te.Serializable,onPromise:f,detail:Re})}if(typeof U!=="string")return Ce({task:o,type:Te.Serializable,onPromise:f,detail:"External payload metadata must be JSON serializable."});if(U.length<=C){let ge=j(U,_);if(ge!==-1)return o[i.Type]=I.StaticExternalPayload,o[i.PayloadLen]=ge,kr(o,x),o.value=null,!0}o[i.Type]=I.ExternalPayload;let H=s(o,U,"ExternalPayload");if(H<0)return!1;let q=k(o,H),pe=X(U,o[i.Start],H);if(pe<0)return g(o,q);return o[i.PayloadLen]=pe,h(q,pe),kr(o,x),o.value=null,!0},$e=(o,_)=>($t[0]=_.getTime(),o[i.Type]=I.Date,o[i.Start]=rr[0],o[i.End]=rr[1],o.value=null,!0),Ee=(o,_,x)=>{if(Hn(_)){Ce({task:o,type:Te.Serializable,onPromise:f,detail:cu});return}if(x)return _;let d;try{d=Kr(_)}catch(F){let U=F instanceof Error?F.message:String(F);Ce({task:o,type:Te.Json,onPromise:f,detail:U});return}if(typeof d!=="string"){Ce({task:o,type:Te.Serializable,onPromise:f,detail:uu});return}return d},Be=(o)=>{if(o===null||typeof o!=="object")return;let _=Fn(o);if(_!==void 0)return{payload:_,trustedReservedCodec:!0};if(at(o)||jt(o))return{payload:o,trustedReservedCodec:!0};if(ha(o))return{payload:o,trustedReservedCodec:!1};return},tr=(o,_,x,d,F)=>{let U=new Uint8Array(F),H=U.byteLength,q=H>0?H:1,pe=j(x,_);if(pe!==-1){if(!te(o,q,"EnvelopeStaticHeaderPayload"))return!1;let Y=k(o,q);if(o[i.Type]=d?I.EnvelopeStaticHeaderString:I.EnvelopeStaticHeader,o[i.PayloadLen]=pe,o[i.End]=H,H>0){let ue=L(U,o[i.Start]);if(ue<0)return g(o,Y);h(Y,ue)}return o.value=null,!0}let ge=ae(o,x,H,d?"EnvelopeDynamicHeaderString":"EnvelopeDynamicHeader");if(ge<0)return!1;o[i.Type]=d?I.EnvelopeDynamicHeaderString:I.EnvelopeDynamicHeader;let Re=k(o,ge+H),ne=o[i.Start],B=X(x,ne,ge);if(B<0)return g(o,Re);if(H>0){if(L(U,ne+B)<0)return g(o,Re)}return o[i.PayloadLen]=B,o[i.End]=H,h(Re,B+H),o.value=null,!0},nr=(o,_,x,d,F,U)=>{let H=ga(F);if(H===void 0)return Ce({task:o,type:Te.Serializable,onPromise:f,detail:ya});if(U){if(A&&$r(H))return Ce({task:o,type:Te.Serializable,onPromise:f,detail:Gr})}else if(ma(H))return Ce({task:o,type:Te.Serializable,onPromise:f,detail:A&&$r(H)?Gr:pa});let q;try{q=Kr([H,U?ba(F):F.toMetadata()])}catch(Ie){let Pe=Ie instanceof Error?Ie.message:String(Ie);return Ce({task:o,type:Te.Serializable,onPromise:f,detail:Pe})}if(typeof q!=="string")return Ce({task:o,type:Te.Serializable,onPromise:f,detail:"Envelope body metadata must be JSON serializable."});let pe=Ba.encode(q),ge=pe.byteLength,Re=j(x,_);if(Re!==-1){if(!te(o,ge,"EnvelopeStaticHeaderExternal"))return!1;let Ie=k(o,ge);o[i.Type]=d?I.EnvelopeStaticHeaderStringExternal:I.EnvelopeStaticHeaderExternal,o[i.PayloadLen]=Re,o[i.End]=ge;let Pe=L(pe,o[i.Start]);if(Pe<0)return g(o,Ie);return h(Ie,Pe),kr(o,F),o.value=null,!0}let ne=ae(o,x,ge,d?"EnvelopeDynamicHeaderStringExternal":"EnvelopeDynamicHeaderExternal");if(ne<0)return!1;o[i.Type]=d?I.EnvelopeDynamicHeaderStringExternal:I.EnvelopeDynamicHeaderExternal;let B=k(o,ne+ge),Y=o[i.Start],ue=X(x,Y,ne);if(ue<0)return g(o,B);if(L(pe,Y+ue)<0)return g(o,B);return o[i.PayloadLen]=ue,o[i.End]=ge,h(B,ue+ge),kr(o,F),o.value=null,!0},Ue=(o,_,x)=>{let{header:d,payload:F}=x,U=typeof d==="string";if(F instanceof ArrayBuffer){let q=Ee(o,d,U);if(q===void 0)return!1;return tr(o,_,q,U,F)}let H=Be(F);if(H!==void 0){let q=Ee(o,d,U);if(q===void 0)return!1;return nr(o,_,q,U,H.payload,H.trustedReservedCodec)}return Ce({task:o,type:Te.Serializable,onPromise:f,detail:ya})},or=(o,_)=>{if(Rt(o))_.then((x)=>{nt(o),o.value=x,f(o,!1,x)},(x)=>{nt(o),o.value=x,f(o,!0,x)});return!1};return(o,_)=>{let x=o.value;if(Su(o))return!0;switch(typeof x){case"bigint":{let d=K(x),F=b.subarray(0,d);if(d<=C){let q=z(F,_);if(q!==-1)return o[i.Type]=I.StaticBigInt,o[i.PayloadLen]=q,S(d),o.value=null,!0}if(o[i.Type]=I.BigInt,!te(o,d,"BigInt"))return S(d),!1;let U=P(o,d),H=L(F,o[i.Start]);if(H<0)return S(d),g(o,U);return o[i.PayloadLen]=H,h(U,H),S(d),o.value=null,!0}case"function":return Ce({task:o,type:Te.Function,onPromise:f});case"object":m=-1;try{let d=x,F=Fn(d);if(F!==void 0)return me(o,_,F,!0);let U=ka(d);if(nu(d))return oe(o,_,d);if(Yt(d)&&Nn(d))return he(o,_,d);if(Yt(d)||U===Ea||U===null){let q;try{q=Kr(d)}catch(ne){let B=ne instanceof Error?ne.message:String(ne);return Ce({task:o,type:Te.Json,onPromise:f,detail:B})}if(q.length<=C){let ne=j(q,_);if(ne!==-1)return o[i.Type]=I.StaticJson,o[i.PayloadLen]=ne,o.value=null,!0}o[i.Type]=I.Json;let pe=s(o,q,"Json");if(pe<0)return!1;let ge=k(o,pe),Re=X(q,o[i.Start],pe);if(Re<0)return g(o,ge);return o[i.PayloadLen]=Re,h(ge,Re),o.value=null,!0}if(at(d)||jt(d))return me(o,_,d,!0);let H=d.constructor;if(tu(d))return se(o,_,d);switch(H){case ArrayBuffer:return Ae(o,_,d);case Int32Array:{let q=d;return w(o,_,new Uint8Array(q.buffer,q.byteOffset,q.byteLength),I.Int32Array,I.StaticInt32Array)}case Float64Array:return Se(o,_,d);case BigInt64Array:{let q=d;return w(o,_,new Uint8Array(q.buffer,q.byteOffset,q.byteLength),I.BigInt64Array,I.StaticBigInt64Array)}case BigUint64Array:{let q=d;return w(o,_,new Uint8Array(q.buffer,q.byteOffset,q.byteLength),I.BigUint64Array,I.StaticBigUint64Array)}case DataView:{let q=d;return w(o,_,new Uint8Array(q.buffer,q.byteOffset,q.byteLength),I.DataView,I.StaticDataView)}case Date:return $e(o,d);case mr:return Ue(o,_,d);case Promise:return or(o,d);case Error:return y(o,d)}if(d instanceof Date)return $e(o,d);if(d instanceof mr)return Ue(o,_,d);if(d instanceof Promise)return or(o,d);if(d instanceof Error)return y(o,d);if(ha(d))return me(o,_,d);return Ce({task:o,type:Te.Serializable,onPromise:f,detail:da})}catch(d){l();let F=d instanceof Error?d.message:String(d);return Ce({task:o,type:Te.Serializable,onPromise:f,detail:F})}case"string":{let d=x;if(d.length<=C){let q=j(d,_);if(q!==-1)return o[i.Type]=I.StaticString,o[i.PayloadLen]=q,o.value=null,!0}o[i.Type]=I.String;let F=s(o,d,"String");if(F<0)return!1;let U=P(o,F),H=X(d,o[i.Start],F);if(H<0)return g(o,U);return o[i.PayloadLen]=H,h(U,H),o.value=null,!0}case"symbol":{let d=iu(x);if(d===void 0)return Ce({task:o,type:Te.Symbol,onPromise:f});if(d.length*3<=C){let q=j(d,_);if(q!==-1)return o[i.Type]=I.StaticSymbol,o[i.PayloadLen]=q,o.value=null,!0}o[i.Type]=I.Symbol;let F=s(o,d,"Symbol");if(F<0)return!1;let U=P(o,F),H=X(d,o[i.Start],F);if(H<0)return g(o,U);return o[i.PayloadLen]=H,h(U,H),o.value=null,!0}}return!1}},ku=({lockSector:e,payload:r,sab:t,payloadConfig:n,headersBuffer:a,headerSlotStrideU32:u,textCompat:c,host:f,processBoundary:A=!1})=>{let N=r?.sab??t,v=cr({sab:N,options:r?.config??n}),{free:W}=wn({lockSector:e}),R=(s)=>W(Co(s)),{readUtf8:h,readBytesCopy:O,readBytesBufferCopy:L,readBufferCopy:T,readBytesArrayBufferCopy:D,readArrayBufferCopy:Q,read8BytesFloatCopy:X,read8BytesFloatView:C}=vn({sab:N,payloadConfig:v,textCompat:c?.payload}),{readUtf8:z,readBytesBufferCopy:ee,readBufferCopy:ie,readUint8ArrayCopy:M,readBytesArrayBufferCopy:Z,readArrayBufferCopy:G,read8BytesFloatCopy:j,readU32Words:V}=xa(a,u,c?.headers),fe=new Uint32Array(Vt),te=new Uint32Array(Ut),ae=new Uint32Array(Un);return(s,P,m)=>{let k=s[i.Type];if(A&&(k===I.SharedArrayBuffer||k===I.BufferReference))throw TypeError(Gr);switch(k){case Ge.BigInt:rr[0]=s[i.Start],rr[1]=s[i.End],s.value=Aa[0];return;case Ge.True:s.value=!0;return;case Ge.False:s.value=!1;return;case Ge.Float64:rr[0]=s[i.Start],rr[1]=s[i.End],s.value=$t[0];return;case Ge.NaN:s.value=NaN;return;case Ge.Null:s.value=null;return;case Ge.Undefined:s.value=void 0;return;case I.String:s.value=h(s[i.Start],s[i.Start]+s[i.PayloadLen]),R(s);return;case I.StaticString:s.value=z(0,s[i.PayloadLen],P);return;case I.Json:s.value=hr(h(s[i.Start],s[i.Start]+s[i.PayloadLen])),R(s);return;case I.StaticJson:s.value=hr(z(0,s[i.PayloadLen],P));return;case I.EnvelopeStaticHeader:case I.EnvelopeStaticHeaderString:{let l=z(0,s[i.PayloadLen],P),g=s[i.Type]===I.EnvelopeStaticHeaderString?l:hr(l),b=s[i.End],K=b>0?D(s[i.Start],s[i.Start]+b):new ArrayBuffer(0);s.value=new mr(g,K),R(s);return}case I.EnvelopeDynamicHeader:case I.EnvelopeDynamicHeaderString:{let l=s[i.Start],g=l+s[i.PayloadLen],b=s[i.End],K=h(l,g),S=s[i.Type]===I.EnvelopeDynamicHeaderString?K:hr(K),y=b>0?D(g,g+b):new ArrayBuffer(0);s.value=new mr(S,y),R(s);return}case I.EnvelopeStaticHeaderExternal:case I.EnvelopeStaticHeaderStringExternal:{let l=z(0,s[i.PayloadLen],P),g=s[i.Type]===I.EnvelopeStaticHeaderStringExternal?l:hr(l),b=s[i.Start],K=Gt(h(b,b+s[i.End]),A);s.value=new mr(g,K),R(s);return}case I.EnvelopeDynamicHeaderExternal:case I.EnvelopeDynamicHeaderStringExternal:{let l=s[i.Start],g=l+s[i.PayloadLen],b=h(l,g),K=s[i.Type]===I.EnvelopeDynamicHeaderStringExternal?b:hr(b),S=Gt(h(g,g+s[i.End]),A);s.value=new mr(K,S),R(s);return}case I.BigInt:s.value=Sa(L(s[i.Start],s[i.Start]+s[i.PayloadLen])),R(s);return;case I.StaticBigInt:s.value=Sa(ee(0,s[i.PayloadLen],P));return;case I.Symbol:s.value=Wn(h(s[i.Start],s[i.Start]+s[i.PayloadLen])),R(s);return;case I.StaticSymbol:s.value=Wn(z(0,s[i.PayloadLen],P));return;case I.Int32Array:{let l=L(s[i.Start],s[i.Start]+s[i.PayloadLen]);s.value=new Int32Array(l.buffer,l.byteOffset,l.byteLength>>>2),R(s);return}case I.StaticInt32Array:{let l=ee(0,s[i.PayloadLen],P);s.value=new Int32Array(l.buffer,l.byteOffset,l.byteLength>>>2);return}case I.Float64Array:{s.value=X(s[i.Start],s[i.Start]+s[i.PayloadLen]),R(s);return}case I.StaticFloat64Array:s.value=j(0,s[i.PayloadLen],P);return;case I.NumericArray:{s.value=Dn(C(s[i.Start],s[i.Start]+s[i.PayloadLen])),R(s);return}case I.StaticNumericArray:s.value=Dn(j(0,s[i.PayloadLen],P));return;case I.BigInt64Array:{let l=L(s[i.Start],s[i.Start]+s[i.PayloadLen]);s.value=new BigInt64Array(l.buffer,l.byteOffset,l.byteLength>>>3),R(s);return}case I.StaticBigInt64Array:{let l=ee(0,s[i.PayloadLen],P);s.value=new BigInt64Array(l.buffer,l.byteOffset,l.byteLength>>>3);return}case I.BigUint64Array:{let l=L(s[i.Start],s[i.Start]+s[i.PayloadLen]);s.value=new BigUint64Array(l.buffer,l.byteOffset,l.byteLength>>>3),R(s);return}case I.StaticBigUint64Array:{let l=ee(0,s[i.PayloadLen],P);s.value=new BigUint64Array(l.buffer,l.byteOffset,l.byteLength>>>3);return}case I.DataView:{let l=L(s[i.Start],s[i.Start]+s[i.PayloadLen]);s.value=new DataView(l.buffer,l.byteOffset,l.byteLength),R(s);return}case I.StaticDataView:{let l=ee(0,s[i.PayloadLen],P);s.value=new DataView(l.buffer,l.byteOffset,l.byteLength);return}case I.ExternalPayload:s.value=Gt(h(s[i.Start],s[i.Start]+s[i.PayloadLen]),A),R(s);return;case I.StaticExternalPayload:s.value=Gt(z(0,s[i.PayloadLen],P),A);return;case I.ProcessSharedBuffer:s.value=gu(V(fe,Vt,P));return;case I.SharedArrayBuffer:s.value=bu(V(te,s[i.PayloadLen]>>>2,P));return;case I.BufferReference:s.value=hu(V(ae,Un,P));return;case I.Date:rr[0]=s[i.Start],rr[1]=s[i.End],s.value=new Date($t[0]);return;case I.Error:s.value=Bu(h(s[i.Start],s[i.Start]+s[i.PayloadLen])),R(s);return;case I.Binary:{let l=L(s[i.Start],s[i.Start]+s[i.PayloadLen]);s.value=new Uint8Array(l.buffer,l.byteOffset,l.byteLength)}R(s);return;case I.StaticBinary:s.value=M(0,s[i.PayloadLen],P);return;case I.ArrayBuffer:s.value=Q(s[i.Start],s[i.Start]+s[i.PayloadLen]),R(s);return;case I.StaticArrayBuffer:s.value=G(0,s[i.PayloadLen],P);return;case I.Buffer:s.value=T(s[i.Start],s[i.Start]+s[i.PayloadLen]),R(s);return;case I.StaticBuffer:s.value=ie(0,s[i.PayloadLen],P);return}}};Lo(Tu,ku);var zr=Symbol.for("task");var Eu=/^[A-Za-z]:[\\/]/,Ru=/^\\\\[^\\/?]+\\[^\\/?]+/,zn=(e)=>encodeURI(e).replace(/\?/g,"%3F").replace(/#/g,"%23"),xu=()=>gt("node:url")?.pathToFileURL,Lu=(e)=>{let r=e.startsWith("/")?e:`/${e}`;return`file://${zn(r)}`},br=(e)=>{if(Eu.test(e)){let r=e.replace(/\\/g,"/");return`file:///${zn(r)}`}if(Ru.test(e)){let r=e.replace(/^\\\\+/,"").replace(/\\/g,"/");return`file://${zn(r)}`}try{return new URL(e).href}catch{let r=xu();return r?r(e).href:Lu(e)}},La=(e)=>{if(!Br||!e.startsWith("file://"))return e;let r=e.slice(7),t=r.startsWith("/")?r:`/${r}`;try{return decodeURIComponent(t)}catch{return t}};var it={Reject:0,Resolve:1},Pu=(e)=>{if(e==null)return;if(typeof e==="number"){let t=Math.floor(e);return t>=0?{ms:t,kind:it.Reject,value:Error("Task timeout")}:void 0}let r=Math.floor(e.time);if(!(r>=0))return;if("default"in e)return{ms:r,kind:it.Resolve,value:e.default};if(e.maybe===!0)return{ms:r,kind:it.Resolve,value:void 0};if("error"in e)return{ms:r,kind:it.Reject,value:e.error};return{ms:r,kind:it.Reject,value:Error("Task timeout")}},vu=(e,r)=>e.f,Pa=async({list:e,ids:r,names:t,at:n,permission:a})=>{let u=e.map((h)=>br(h)),c=new Set(t),A=(await Promise.all(u.map(async(h)=>{let O=await import(La(h)),L=Object.entries(O).filter(([D,Q])=>Q!=null&&typeof Q==="object"&&Q?.[zr]===!0).map(([D,Q])=>({...Q,name:D})),T=Object.entries(O).filter(([D,Q])=>c.has(D)&&typeof Q==="function").map(([D,Q])=>({f:Q,id:-1,importedFrom:h,at:-1,name:D,[zr]:!0}));return[...L,...T]}))).flat(),N=u.length===1&&n.length>0,v=N?new Set(n):null,W=N?u[0]:null;return A.filter((h)=>N?h.importedFrom===W&&v.has(h.at):r.includes(h.id)).sort((h,O)=>h.name.localeCompare(O.name)).map((h)=>({...h,run:vu(h,a),timeout:Pu(h.timeout)}))};var _u={thisIsAHint:0},Cu=(()=>{let e=globalThis,r=typeof e.gc==="function"?()=>e.gc():void 0;if(r){try{delete e.gc}catch{e.gc=void 0}if(e.global)try{delete e.global.gc}catch{e.global.gc=void 0}}return r??(()=>{})})();var{load:Iu,store:va}=Atomics,ut=typeof Atomics.wait==="function"?Atomics.wait:void 0,_a=performance.now.bind(performance),Ca=ut===void 0||typeof SharedArrayBuffer!=="function"?void 0:new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)),Ia="pause"in Atomics?Atomics.pause:void 0,Qt=globalThis,Mu=Qt.process?.platform==="win32"&&typeof Qt.process?.versions?.node==="string"&&Qt.process?.versions?.bun===void 0&&Qt.Deno===void 0,Ou=(e)=>Mu?1:Number.isFinite(e)?e:1/0,Fu=(e)=>Number.isFinite(e)?Math.min(Math.max(e,0),1):1,Jt=({pauseInNanoseconds:e})=>{let r=e??250;if(!Ia||r<=0)return()=>{};return()=>Ia(r)},Yn=Jt({}),Ma=({at:e,opView:r,pauseInNanoseconds:t,rxStatus:n,txStatus:a,enqueueLock:u,write:c,nativeWaitU32:f,useSharedMemoryWait:A=!0,flushBeforeClaim:N=!1})=>{let v=t===void 0?Yn:Jt({pauseInNanoseconds:t}),W=()=>{if(!c)return!1;let h=c();if(typeof h==="number")return h>0;return h===!0},R=N?()=>{let h=W();return u()||h}:()=>{let h=u();return W()||h};return(h,O,L)=>{let T=_a()+O/1000;Cu();let D=0;while(!0){if(Iu(r,e)!==h||a[_u.thisIsAHint]===1)return;if(R())return;if(v(),(D++&63)===0&&_a()>=T)break}if(R())return;if(va(n,0,0),f!==void 0)f(r.buffer,r.byteOffset+e*Int32Array.BYTES_PER_ELEMENT,h>>>0,Ou(L));else if(A&&ut&&r.buffer instanceof SharedArrayBuffer)ut(r,e,h,L??1/0);else if(ut&&Ca)ut(Ca,0,0,Fu(L));va(n,0,1)}};var ct=(e)=>e instanceof Error?e.message:String(e),Xt=(e,r,t)=>{let n=t===void 0?"":`: ${ct(t)}`;throw Error(`KNT_ERROR_PROCESS_GUARD_INSTALL: ${e} ${r}${n}`)},Vn=()=>{let e=He();if(!e)return;if(e.__knittingTerminationGuard===!0)return;let r=(a)=>{throw Error(`KNT_ERROR_PROCESS_GUARD: ${a} is disabled in worker tasks`)},t=(a)=>{try{Object.defineProperty(e,a,{configurable:!1,writable:!1,value:(...u)=>r(`process.${a}`)})}catch(u){try{e[a]=(...c)=>r(`process.${a}`)}catch(c){Xt(`process.${a}`,"install failed",[ct(u),ct(c)].join("; "))}}if(typeof e[a]!=="function")Xt(`process.${a}`,"install verification failed")};t("exit"),t("kill"),t("abort"),t("reallyExit");let n=globalThis;if(n.Deno&&typeof n.Deno.exit==="function"){try{Object.defineProperty(n.Deno,"exit",{configurable:!1,writable:!1,value:(a)=>r("Deno.exit")})}catch(a){try{n.Deno.exit=(u)=>r("Deno.exit")}catch(u){Xt("Deno.exit","install failed",[ct(a),ct(u)].join("; "))}}if(typeof n.Deno.exit!=="function")Xt("Deno.exit","install verification failed")}e.__knittingTerminationGuard=!0},qn=()=>{let e=He();if(!e||typeof e.on!=="function")return;if(e.__knittingUnhandledRejectionSilencer===!0)return;e.__knittingUnhandledRejectionSilencer=!0,e.on("unhandledRejection",()=>{})};var Qn=()=>{let e=globalThis;if(e.__knittingPerformanceNowGuardInstalled===!0)return;e.__knittingPerformanceNowGuardInstalled=!0;let r=globalThis.performance;if(!r||typeof r.now!=="function")return;try{r.now()}catch{}};var Jn=(e)=>{let r=e;try{r.sab=void 0,r.lock=void 0,r.returnLock=void 0,r.permission=void 0}catch{}try{delete r.sab}catch{}try{delete r.lock}catch{}try{delete r.returnLock}catch{}try{delete r.permission}catch{}try{Object.freeze(r)}catch{}};var Oa=(e)=>Ze(e?.headers)&&Ze(e?.lockSector)&&Ze(e?.payload)&&Ze(e?.payloadSector)&&(e?.textCompat===void 0||Bt(e.textCompat)),Xn=({sab:e,lock:r,returnLock:t})=>{if(!Ze(e))throw Error("worker missing transport SAB");if(!Oa(r))throw Error("worker missing lock SABs");if(!Oa(t))throw Error("worker missing return lock SABs")},Zn=({list:e,ids:r,names:t,listOfFunctions:n})=>{if(n.length>0&&(t===void 0||n.length===t.length))return;if(console.log(e),console.log(r),t!==void 0)console.log(t);throw console.log(n),Error("No imports were found.")};var ro=32,eo=ro-1,Fa=Symbol.for("knitting.abortSignal.poolExhausted");var ft=({sab:e,maxSignals:r})=>{let t=Ke(e),n=new Uint32Array(t.sab,t.byteOffset,t.byteLength/Uint32Array.BYTES_PER_ELEMENT),a=n.length,u=new Uint32Array(a),c=a*ro,f=(()=>{if(!Number.isFinite(r))return c;let T=Math.floor(r);if(T<=0)return c;return Math.min(T,c)})(),A=f+1,N=0,v=0;return{max:f,closeNow:A,getSignal:()=>{if(N>=f)return A;for(let T=0;T<a;T++){let D=(v+T)%a,Q=D<<5,X=f-Q;if(X<=0)continue;let C=X>=ro?4294967295:(1<<X)-1>>>0,z=(~u[D]&C)>>>0;if(z===0)continue;let ee=(z&-z)>>>0;u[D]=(u[D]|ee)>>>0,N=N+1|0,v=(D+1)%a,Atomics.and(n,D,~ee);let ie=31-Math.clz32(ee);return(D<<5)+ie}return A},setSignal:(T)=>{if(T===A)return 0;if(!Number.isInteger(T))return-1;if(T<0||T>=f)return-1;let D=T>>>5,Q=1<<(T&eo);return Atomics.or(n,D,Q),1},abortAll:()=>{for(let T=0;T<a;T++)Atomics.store(n,T,u[T]);return N},hasAborted:(T)=>{if(T===A)return!0;if(!Number.isInteger(T))return!1;if(T<0||T>=f)return!1;let D=T>>>5,Q=1<<(T&eo);return(Atomics.load(n,D)&Q)!==0},resetSignal:(T)=>{if(T===A)return!1;if(!Number.isInteger(T))return!1;if(T<0||T>=f)return!1;let D=T>>>5,Q=1<<(T&eo);if((u[D]&Q)===0)return!1;if(u[D]=(u[D]&~Q)>>>0,N>0)N=N-1|0;return v=D,Atomics.and(n,D,~Q),!0},inUseCount:()=>N}};class to{#e=!1;constructor(e,r,t){let n=(a)=>(...u)=>{if(this.#e)return;this.#e=!0,r(),a(...u)};e.resolve=n(e.resolve),e.reject=n(e.reject),e.promise.reject=(a)=>{if(this.#e)return;if(a===void 0&&t!==void 0){t();return}e.reject(a)}}}var Nu="default",Du=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return typeof r.href==="string"&&r.href.length>0&&(r.name===void 0||typeof r.name==="string"&&r.name.length>0)},Wu=(e)=>{try{return Lr.fromMetadata(e),!0}catch{return!1}},no=(e,r=new WeakMap)=>{if(Wu(e))return Lr.fromMetadata(e);if(e===null||typeof e!=="object")return e;let t=r.get(e);if(t!==void 0)return t;if(Array.isArray(e)){let u=[];r.set(e,u);for(let c of e)u.push(no(c,r));return u}let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==null)return e;let a={};r.set(e,a);for(let[u,c]of Object.entries(e))a[u]=no(c,r);return a},Na=async({bootstrap:e,thread:r,totalNumberOfThread:t})=>{if(e===void 0)return;if(!Du(e))throw TypeError("worker.bootstrap must include a non-empty href");let n=await import(br(e.href)),a=e.name??Nu,u=n[a];if(typeof u!=="function"){let f=Object.keys(n).join(", ");throw TypeError(`worker.bootstrap expected export "${a}" from "${e.href}" to be a function. Available exports: ${f||"(none)"}`)}let c=Object.freeze({thread:r,totalNumberOfThread:t,runtime:Me});await u(no(e.data),c)};var Da=()=>{return},Wa=()=>{};var Uu=(e)=>{let r=globalThis.Deno?.env;if(typeof r?.get==="function")try{return r.get(e)}catch{}try{return He()?.env?.[e]}catch{return}},Hu=Uu("KNITTING_DEBUG"),Ua=new Set((Hu??"").split(",").map((e)=>e.trim()).filter((e)=>e.length>0)),Ha=Ua.size>0,Zt=(e)=>{let r=new Set(Ua);if(e===!0)r.add("*");else if(e!==void 0&&e!==!1){for(let[t,n]of Object.entries(e))if(n===!0)r.add(t)}return r};var Gu="__knittingWorkerFatal",en=(e)=>{let r=String(e?.message??e),t={[Gu]:r},n=!1;try{et?.postMessage?.(t),n=et!==void 0}catch{}if(!n)try{globalThis.postMessage(t),n=!0}catch{}if(!n){try{console.error(`Worker startup failed: ${r}`)}catch{}if(wr)try{He()?.exit?.(1)}catch{}}},$u=(e)=>{let r=(n)=>{let a=zo(n);if(a!==void 0)e(a)};if(et!==void 0){To(et,r);return}globalThis.addEventListener?.("message",(n)=>{r(n?.data)})},rn=async(e)=>{Vn(),qn(),Qn();let{debug:r,sab:t,thread:n,startAt:a,workerOptions:u,lock:c,returnLock:f,abortSignalSAB:A,abortSignalMax:N,payloadConfig:v,bufferReferenceReturn:W,permission:R,notifyOnHostPublish:h,totalNumberOfThread:O,list:L,ids:T,names:D,at:Q,steal:X}=e;Jn(e),Xn({sab:t,lock:c,returnLock:f});let C=Zt(r),z=C.size>0?await Promise.resolve().then(() => ($a(),Ga)).then((ne)=>ne.initDebug({name:`w${n}`,runtime:Me,namespaces:C})):void 0,ee={thisIsAHint:0},ie=Ft({sabObject:{sharedSab:t},isMain:!1,thread:n,startTime:a}),M=Er({headers:c.headers,headerSlotStrideU32:c.headerSlotStrideU32,LockBoundSector:c.lockSector,payload:c.payload,payloadSector:c.payloadSector,payloadConfig:v,textCompat:c.textCompat,processBoundary:wr,consumers:X?.consumers,consumerId:X?.consumerId,regionLanes:X?.regionLanes}),Z=Er({headers:f.headers,headerSlotStrideU32:f.headerSlotStrideU32,LockBoundSector:f.lockSector,payload:f.payload,payloadSector:f.payloadSector,payloadConfig:v,textCompat:f.textCompat,processBoundary:wr,notifyOnHostPublish:h}),G=u?.timers,j=G?.spinMicroseconds??(O<=1?50:0),V=z!==void 0?Number.POSITIVE_INFINITY:G?.parkMs??1,fe=(()=>{let ne=typeof G?.pauseNanoseconds==="number"?Jt({pauseInNanoseconds:G.pauseNanoseconds}):Yn;return()=>ne()})(),{opView:te,rxStatus:ae,txStatus:s,stopView:P}=ie,m=Atomics.store,k=Atomics.load,l=Da();await Na({bootstrap:u?.bootstrap,thread:n,totalNumberOfThread:O}),z?.envPhase("bootstrap");let g=await Pa({list:L,isWorker:!0,ids:T,names:D,at:Q,permission:R});z?.envPhase("tasks"),z?.log("imports",`${g.length} task(s) from ${L.map((ne)=>ne.split(/[\\/]/).pop()||ne).join(", ")}`),Zn({list:L,ids:T,names:D,listOfFunctions:g});let b=A?ft({sab:A,maxSignals:N}):void 0,{enqueueLock:K,serviceBatchImmediate:S,hasCompleted:y,writeBatch:w,hasPending:oe,getAwaiting:se,drainReturnReleases:Se,releaseReturnedBufferReference:Le}=qo({listOfFunctions:g,workerOptions:u,lock:M,returnLock:Z,borrowReturnedBufferReferences:W==="borrow",hasAborted:b?.hasAborted,stealing:X!==void 0});$u(Le),m(ae,0,1);let he=64,Ae=Ma({opView:te,at:0,rxStatus:ae,txStatus:s,pauseInNanoseconds:G?.pauseNanoseconds,enqueueLock:K,write:()=>y()?w(he):0,flushBeforeClaim:X!==void 0,nativeWaitU32:l,useSharedMemoryWait:!(wr&&Me==="node"&&l===void 0)}),ce=Or(),ye=ce.port1,Oe=ce.port2,Ne=(ne)=>Oe.postMessage(ne),De=!1,me=0,$e=0,Ee=10,Be=k(te,0),tr=()=>{if(De)return;De=!0,Ne(null)},nr=(ne)=>{if(De)return;if(De=!0,ne<=0&&typeof Xr==="function"){Xr(ge);return}if(ne<=0){Ne(null);return}if(typeof setTimeout==="function"){setTimeout(ge,ne);return}Ne(null)},Ue=z?.enabled("signals")===!0,or=y,We=oe,o=se,_=Se,x=fe,d=Ue?()=>{let ne=K();if(ne)z.log("signals","work from=host");return ne}:K,F=Ue?(ne)=>{let B=w(ne);if(B>0)z.log("signals",`result count=${B}`);return B}:w,U=Ue?()=>{let ne=S();if(ne>0)z.log("signals",`run count=${ne}`);return ne}:S,H=Ue?(ne,B,Y)=>{z.log("signals",`idle token=${ne}`),Ae(ne,B,Y)}:Ae,q=X!==void 0,pe=()=>{m(P,0,Cr.acknowledged),m(ae,0,0);try{ye.close?.(),Oe.close?.()}catch{}},ge=()=>{De=!1;let ne=!0,B=0;while(!0){if(P[0]!==Cr.running)return pe();if(q){if(ne=!1,or()){if(F(he)>0)ne=!0}ne=d()||ne}else if(ne=d(),or()){if(F(he)>0)ne=!0}if(_(),We()){if(U()>0)ne=!0}if((B=o())>0){if(B!==$e)me=0;$e=B,me++;let Y=Math.min(Ee,Math.max(0,me-1));nr(Y);return}if(me=$e=0,!ne){if(s[ee.thisIsAHint]===1){x();continue}H(Be,j,V),Be=k(te,0)}}},Re=ye;if(typeof Re.on==="function")Re.on("message",ge);else Re.onmessage=ge;Re.start?.(),Oe.start?.(),z?.log("lifecycle",`ready: ${g.length} task(s) on thread ${n}/${O}, entering dispatch loop`),tr()},zu=()=>{let e=globalThis.WorkerGlobalScope;if(typeof e==="function")try{if(globalThis instanceof e)return!0}catch{}if(Br&&typeof globalThis.self<"u")return!0;return!1},za=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return Ze(r.headers)&&Ze(r.lockSector)&&Ze(r.payload)&&Ze(r.payloadSector)&&(r.textCompat===void 0||Bt(r.textCompat))},lt=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return Ze(r.sab)&&Array.isArray(r.list)&&Array.isArray(r.ids)&&Array.isArray(r.names)&&Array.isArray(r.at)&&typeof r.thread==="number"&&typeof r.totalNumberOfThread==="number"&&typeof r.startAt==="number"&&(r.abortSignalSAB===void 0||Ze(r.abortSignalSAB))&&za(r.lock)&&za(r.returnLock)},Yu=()=>{let e=globalThis,r=(t)=>{if(!lt(t))return;rn(t).catch(en)};if(typeof e.addEventListener==="function"&&typeof e.removeEventListener==="function"){let t=(n)=>{let a=n?.data;if(!lt(a))return;try{e.removeEventListener?.("message",t)}catch{}r(a)};e.addEventListener("message",t);return}e.onmessage=(t)=>{let n=t?.data;if(!lt(n))return;e.onmessage=null,r(n)}};if(Tr===!1&&lt(Zr))rn(Zr).catch(en);else if(wr)Wa({isWorkerBootPayload:lt,reportWorkerStartupFatal:en,startWorker:(e)=>{rn(e).catch(en)}});else if(zu())Yu();var Qa=((e)=>()=>e++)(0),Ja=(e,r)=>{let t=2166136261;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),16777619);return Math.imul(t^r,16777619)>>>0},Vu=["/src/common/task-source.ts","/src/common/task-source.js","\\src\\common\\task-source.ts","\\src\\common\\task-source.js","/src/api.ts","/src/api.js","\\src\\api.ts","\\src\\api.js"],Ya=new Set(["collectStackFrames","resolveCallerHref","getCallerFilePath","buildTaskDefinition","buildTaskDefinitionFromCaller","task","importTask"]),qu=(e)=>e!==void 0,Qu=(e)=>Vu.some((r)=>e.includes(r)),Xa=(e)=>e.startsWith("node:")||e.startsWith("native:")||e.startsWith("bun:")||e.startsWith("internal/"),Ju=(e,r)=>e!==void 0&&Ya.has(e)||r!==void 0&&Ya.has(r),Xu=()=>{let e=Error,r=e.prepareStackTrace;try{e.prepareStackTrace=(a,u)=>u;let t=Error().stack;if(!Array.isArray(t))return[];return t.map((a)=>{try{let u=a?.getFileName?.();if(typeof u!=="string"||u.length===0)return;return{file:u,functionName:a?.getFunctionName?.()??void 0,methodName:a?.getMethodName?.()??void 0}}catch{return}}).filter(qu)}finally{e.prepareStackTrace=r}},Va=(e)=>Xa(e.file)||Qu(e.file)||Ju(e.functionName,e.methodName),ao,Za=(e)=>{ao=typeof e==="string"&&e.length>0?br(e):void 0};var es=(e)=>{if(ao!==void 0)return ao;let r=Xu(),t=r[e],n=(t&&!Va(t)?t.file:void 0)??r.find((a)=>!Va(a))?.file??r.find((a)=>!Xa(a.file))?.file;if(!n)throw Error("Unable to determine caller file. This runtime exposes no stack traces (e.g. Andromeda); call setModuleUrl(import.meta.url) at the top of the module that defines your tasks before creating a pool.");return br(n)},qa=new Map,rs=(e=3)=>es(e),so=(e=3)=>{let r=es(e),t=qa.get(r)??0;return qa.set(r,t+1),[r,t]};var ts=(e,r)=>{let t=e;return t.reject=r,t},tn=()=>{let e=Promise.withResolvers;if(typeof e==="function"){let a=e.call(Promise);return{promise:ts(a.promise,a.reject),resolve:a.resolve,reject:a.reject}}let r,t;return{promise:ts(new Promise((a,u)=>{r=a,t=u}),t),resolve:r,reject:t}};var Zu=31,ec=134217727,rc=5,tc=65535,nc=65535,oc=16,ac=1;var sc=performance.now.bind(performance);function io({max:e,lock:r,returnLock:t,extraReturnLocks:n,releaseBufferReferenceReturn:a,abortSignals:u,now:c}){let f=(y)=>{throw"UNREACHABLE FROM PLACE HOLDER (main)"},A=(y)=>{let w=Uo();return w[i.ID]=y,w[i.FunctionID]=0,w.value=null,w.resolve=f,w.reject=f,w},N=e??10,v=Array.from({length:N},(y,w)=>A(w)),W=Array.from({length:N},(y,w)=>w),R=(y)=>W.push(y),h=()=>W.pop(),O=(y)=>v.push(y),{publish:L,flushPending:T,hasPendingFrames:D,getPendingFrameCount:Q,getPendingPromiseCount:X,resetPendingState:C}=r,z=0,ee=u?.resetSignal,ie=c??sc,M=(y)=>{z=z-1|0,hn(y),Dr(y),y.value=null,y.resolve=f,y.reject=f,R(y[i.ID])},Z=[t,...n??[]].map((y)=>y.resolveHost({queue:v,activeRejectPlaceholder:f,onResolved:M})),G=[t,...n??[]].map((y)=>typeof y.waitForHostChange==="function"?y.waitForHostChange:()=>{return}),j=[t,...n??[]].map((y)=>typeof y.setHostWaiterArmed==="function"?y.setHostWaiterArmed:(w)=>{}),V=Array(Z.length);if(a!==void 0)V[0]=a;let fe=(y)=>{let w=Z[y],oe=V[y];return oe===void 0?w():An(oe,w)},te=Z.length===1?a===void 0?Z[0]:()=>An(a,Z[0]):()=>{let y=0;for(let w=0;w<Z.length;w++)y=y+fe(w)|0;return y},ae=new Uint8Array(G.length),s,P=0,m=(y)=>{for(let w of j)w(y)},k=(y,w)=>{s=y,m(!0);let oe=!0;for(let se=0;se<G.length;se++){if(ae[se]!==0)continue;let Se;try{Se=G[se](w)}catch{Se=void 0}if(Se===void 0){oe=!1;break}ae[se]=1;let Le=P,he=()=>{if(ae[se]===0)return;if(ae[se]=0,j[se](!1),Le!==P)return;s?.()};if(!Se.async)he();else Promise.resolve(Se.value).then(he,he)}if(!oe)s=void 0,m(!1),P=P+1|0;return oe},l=()=>(z-X()|0)>0,g=()=>Q()===0&&!l(),b=(y)=>{for(let w=0;w<v.length;w++){let oe=v[w];if(oe.reject!==f){try{oe.reject(y)}catch{}Dr(oe),oe.resolve=f,oe.reject=f,v[w]=A(w)}}C(),z=0},K=()=>T(),S=(y)=>L(y);return{rejectAll:b,hasPendingFrames:D,txIdle:g,completeFrame:te,waitForCompletion:k,setCompletionWaiterArmed:m,setReturnHooks:(y,w)=>{if(!Number.isInteger(y)||y<0||y>=V.length)throw RangeError(`return lane ${y} out of range`);V[y]=w},enqueue:(y,w,oe)=>{let se=w!==void 0,Se=y&tc,Le=oe!==void 0&&u!==void 0;return(he)=>{if(z===v.length){let Oe=z+32,Ne=v.length;while(Oe>Ne)O(A(Ne)),R(Ne),Ne++}let Ae=h(),ce=v[Ae],ye=tn();if(ce[i.FunctionID]=Se,Le){let Oe=u.getSignal();if(Oe===u.closeNow)return Promise.reject(Fa);new to(ye,()=>ee(Oe),()=>{u.setSignal(Oe)});let Ne=(Oe+ac&nc)>>>0;ce[i.FunctionID]=(Ne<<oc|Se)>>>0}if(ce.value=he,ce[i.ID]=Ae,ce.resolve=ye.resolve,ce.reject=ye.reject,se)ce[i.slotBuffer]=(ce[i.slotBuffer]&Zu|(ie()>>>0&ec)<<rc>>>0)>>>0;return L(ce),z=z+1|0,ye.promise}},flushToWorker:K,enqueueKnown:S,settlePromisePayload:(y,w,oe)=>{if(y.reject===f)return!1;if(w){try{y.reject(oe)}catch{}return hn(y),Dr(y),y.value=null,y.resolve=f,y.reject=f,z=z-1|0,R(y[i.ID]),!1}return y.value=oe,S(y)}}}var ns=()=>{return},os=()=>{return},as=()=>{},Pr=()=>{throw Error("process workers are unavailable in the browser build")},ss=Pr,is=Pr,nn=Pr,us=Pr,cs=Pr,on=Pr,fs=Pr,ls=Pr;var ds=(e)=>e.split("=",1)[0],ys=new Set(["--permission","--experimental-permission","--allow-fs-read","--allow-fs-write","--allow-worker","--allow-child-process","--allow-net","--allow-addons","--allow-ffi","--allow-wasi"]),ic=new Set(["--experimental-ffi","--experimental-transform-types","--expose-gc","--no-warnings",...ys]),uc=(e)=>ic.has(ds(e)),cc=(e)=>ys.has(ds(e)),co=(e)=>{if(!e||e.length===0)return;let r=e.filter(uc);if(r.length===0)return;let t=new Set,n=[];for(let a of r){if(t.has(a))continue;t.add(a),n.push(a)}return n},ps=(e)=>{let r=co(e);if(!r||r.length===0)return;let t=r.filter((n)=>!cc(n));return t.length>0?t:void 0},fc=(e)=>{if(e===null||typeof e!=="object")return!1;let r=Object.getPrototypeOf(e);return r===Object.prototype||r===null},uo=(e,r=new WeakMap)=>{if(e instanceof Lr)return e.toMetadata();if(e===null||typeof e!=="object")return e;let t=r.get(e);if(t!==void 0)return t;if(Array.isArray(e)){let a=[];r.set(e,a);for(let u of e)a.push(uo(u,r));return a}if(!fc(e))return e;let n={};r.set(e,n);for(let[a,u]of Object.entries(e))n[a]=uo(u,r);return n},ms=(e)=>{let r=e.bootstrap;if(r===void 0||r.data===void 0)return e;return{...e,bootstrap:{...r,data:uo(r.data)}}},lc=2000,gs=(e,r=!1)=>{try{if(!r)e.unref?.();let t=Promise.resolve(e.terminate()).then(()=>{},()=>{});if(!r)return t;return new Promise((n)=>{let a=setTimeout(()=>{e.unref?.(),n()},lc);t.then(()=>{clearTimeout(a),n()})})}catch{return Promise.resolve()}};var hs=Me==="deno"||Me==="node"?Xr:void 0,bs=128,dc=1,an=({signalBox:{opView:e,txStatus:r,rxStatus:t},queue:{completeFrame:n,hasPendingFrames:a,flushToWorker:u,txIdle:c,waitForCompletion:f,setCompletionWaiterArmed:A},channelHandler:N,dispatcherOptions:v,notifySignal:W,crossProcess:R})=>{let{load:h,store:O,notify:L}=Atomics,T=e.buffer instanceof SharedArrayBuffer,D=W??(()=>{if(T)L(e,0,1)}),Q=()=>N.notify(),X=R!==!0&&(v?.doorbell??!0)&&(Me==="bun"||Me==="node")&&typeof Atomics.waitAsync==="function",C=X,z=!1,ee=0,ie=1000,M=0,Z=v?.stallFreeLoops,G=Z!==void 0?Math.max(0,Z|0):X?dc:bs,j=Math.max(0,(v?.maxBackoffMs??10)|0),V,fe=!1,te=()=>{if(!z)return;ee=ee+1|0,z=!1,A(!1)},ae=()=>{if(!C||z===!0){if(!C)Q();return}let m=ee+1|0;ee=m,z=!0;let k=!1,l=()=>{if(!z||ee!==m||k)return;k=!0,z=!1,ee=ee+1|0,A(!1),Q()},g=!1;try{g=f(l,ie)}catch{g=!1}if(!g){if(C=!1,Z===void 0)G=bs;z=!1,ee=ee+1|0,A(!1),Q()}},s=()=>{if(fe){s.rerun=!0;return}if(te(),c()){s.isRunning=!1;return}if(fe=!0,V!==void 0)clearTimeout(V),V=void 0;do{if(s.rerun=!1,r[0]=1,h(t,0)===0)O(e,0,1),D();let m=!1,k=!0;while(k){if(k=!1,n()>0)k=!0,m=!0;while(a()){if(!u())break;k=!0}}if(r[0]=0,!c()){if(m||a())M=0;else M=M+1|0;fe=!1,P();return}M=0}while(s.rerun);s.isRunning=!1,fe=!1};s.isRunning=!1,s.rerun=!1;let P=()=>{if(M<=G){Q();return}if(C){s.isRunning=!1,ae();return}if(V!==void 0)return;let m=M-G-1|0;if(m<0)m=0;else if(m>j)m=j;s.isRunning=!1,V=setTimeout(()=>{if(V=void 0,!s.isRunning)s.isRunning=!0,s()},m)};return{check:s}};class Yr{channel;port1;port2;#e;#r;constructor(e="auto"){if(e==="auto"&&hs!==void 0){let n=hs,a=()=>{this.#e?.()};this.#r=()=>{n(a)};return}let r=Or(),t=r.port2;this.channel=r,this.port1=r.port1,this.port2=t,this.#r=()=>{t.postMessage(null)}}notify(){this.#r()}open(e){this.#e=e;let r=this.port1;if(r===void 0)return;if(typeof r.on==="function")r.on("message",e);else r.onmessage=e;this.port1?.start?.(),this.port2?.start?.()}close(){if(this.#e=void 0,this.port1===void 0||this.port2===void 0)return;this.port1.onmessage=null,this.port2.onmessage=null,this.port1.close?.(),this.port2.close?.()}}var Ss=()=>{throw Error("compiled workers are unavailable in the browser build")};var As="__knittingWorkerFatal",yc=(e)=>!!e&&typeof e==="object"&&typeof e[As]==="string",pc=50,mc=Me==="deno",gc=1,hc=50,bc=258,Bs=(e)=>{if(!Number.isFinite(e))return;let r=Math.floor(e);return r>0?r:void 0},ws=(e)=>Bs(e)??bc,fo=(e)=>Math.max(1,Math.ceil(e/32))*Uint32Array.BYTES_PER_ELEMENT,Sc=(e,r)=>{let t=e?.timers?.parkMs??gc,n=e?.timers?.spinMicroseconds??(r<=1?hc:0);if(e===void 0)return{timers:{parkMs:t,spinMicroseconds:n}};return{...e,timers:{...e.timers,parkMs:t,spinMicroseconds:n}}},Ts=(e)=>({...e,mode:"fixed",payloadInitialBytes:e.payloadMaxByteLength}),Ac=(e)=>{for(let r=we.slots;r>=1;r>>=1)if(we.slots/r>=e+1)return r;throw RangeError(`${e} stealing workers need more than ${we.slots} lanes`)},ks=we.slots-1,Es=({threads:e,payload:r,regionLanes:t,abortSignalCapacity:n,usesAbortSignal:a,processWorker:u})=>{let c=cr({options:r}),f=u===void 0?c:Ts(c),A=()=>f.mode==="growable"?je(f.payloadInitialBytes,f.payloadMaxByteLength):je(f.payloadInitialBytes),N=()=>xn({signalBytes:0,abortBytes:0,lockSectorBytes:Ur,headerSlotStrideU32:fr,slotCount:we.slots,headerLayout:"split"}),v=(ee,ie)=>({...ee,payload:ie,textCompat:Fr({headers:ee.headers,payload:ie})}),W=Ac(e),R=t===void 0?W:Math.min(Math.max(1,t|0),W),h=ws(n),O=u===void 0?void 0:is({threads:e,signalBytes:u.signalBytes,abortBytes:a===!0?fo(h):0,abortSignalMax:a===!0?h:void 0,payloadBytes:f.payloadMaxByteLength,sharedMemory:u.sharedMemory}),L=O===void 0?(()=>{let ee=N();return v(ee.lock,A())})():v(O.workers[0].controlLayout.lock,O.workers[0].lockPayload),T=Er({headers:L.headers,headerSlotStrideU32:L.headerSlotStrideU32,LockBoundSector:L.lockSector,payload:L.payload,payloadSector:L.payloadSector,payloadConfig:f,textCompat:L.textCompat,consumers:e,regionLanes:R,processBoundary:O!==void 0}),D=[],Q=[];for(let ee=0;ee<e;ee++){let ie=O===void 0?v(N().returnLock,A()):v(O.workers[ee].controlLayout.returnLock,O.workers[ee].returnPayload);D.push(ie),Q.push(Er({headers:ie.headers,headerSlotStrideU32:ie.headerSlotStrideU32,LockBoundSector:ie.lockSector,payload:ie.payload,payloadSector:ie.payloadSector,payloadConfig:f,textCompat:ie.textCompat,processBoundary:O!==void 0}))}let X=a===!0?O?.workers[0]?.controlLayout.abortSignals??je(fo(h)):void 0,C=X===void 0?void 0:ft({sab:X,maxSignals:h}),z=io({lock:T,returnLock:Q[0],extraReturnLocks:Q.slice(1),abortSignals:C});return{submitBuffers:L,returnBuffers:D,hostSubmitLock:T,hostReturnLocks:Q,sharedQueue:z,regionLanes:R,processMemory:O,abortSignalSAB:X,abortSignalMax:O?.abortSignalMax??(X===void 0?void 0:h)}},Rs=({list:e,ids:r,names:t,sab:n,thread:a,debug:u,hostDebug:c,totalNumberOfThread:f,workerCount:A,source:N,at:v,workerOptions:W,workerExecArgv:R,permission:h,host:O,payload:L,bufferReferenceReturn:T,abortSignalCapacity:D,usesAbortSignal:Q,sharedChannelHandler:X,stealPool:C})=>{if(W?.runtime==="compiled")return Ss({list:e,names:t,workerOptions:W,hostDebug:c,abortSignalCapacity:D,usesAbortSignal:Q});let z=new URL(import.meta.url),ee=wo,ie=ms(Sc(W,A??f)),M=ie.runtime==="process",Z=M?on(ie):void 0,G=M?us(ie):void 0,j=M?nn(ie):void 0;if(!M&&typeof ee!=="function")throw Error("Worker is not available in this runtime");if(un&&typeof SharedArrayBuffer!=="function")throw Error("SharedArrayBuffer is unavailable: serve the page cross-origin isolated (Cross-Origin-Opener-Policy: same-origin, Cross-Origin-Embedder-Policy: require-corp).");let V=ee,fe=Bs,te=cr({options:L}),ae=M?Ts(te):te,s=ws(D),P=fe(n?.size),m=n?.sharedSab;if(M&&m!=null)throw Error("process worker runtime cannot use an external signal buffer");let k=Math.max(st,P??st),l=C===void 0&&Q===!0?fo(s):0,g=C?.processMemory,b=!M?void 0:g===void 0?ss({signalBytes:k,abortBytes:l,payloadBytes:ae.payloadMaxByteLength,thread:a,sharedMemory:j}):g.workers[a]??(()=>{throw RangeError(`stealing process pool has no shared-memory slice for worker ${a}`)})(),K=b===void 0?ns(u):void 0,S=K?.createBuffer??_r,y=K?.createBuffer,w=()=>y?y(ae.payloadMaxByteLength):ae.mode==="growable"?je(ae.payloadInitialBytes,ae.payloadMaxByteLength):je(ae.payloadInitialBytes),oe=()=>xn({signalBytes:k,abortBytes:l,lockSectorBytes:Ur,headerSlotStrideU32:fr,slotCount:we.slots,headerLayout:"split",createBuffer:S}),se=b?.controlLayout??oe(),Se=b?.lockPayload??w(),Le=C?.submitBuffers??{...se.lock,payload:Se,textCompat:Fr({headers:se.lock.headers,payload:Se})},he=b?.returnPayload??w(),Ae=C?.returnBuffers??{...se.returnLock,payload:he,textCompat:Fr({headers:se.returnLock.headers,payload:he})},ce=C?.hostSubmitLock??Er({headers:Le.headers,headerSlotStrideU32:Le.headerSlotStrideU32,LockBoundSector:Le.lockSector,payload:Le.payload,payloadSector:Le.payloadSector,payloadConfig:ae,textCompat:Le.textCompat,processBoundary:M}),ye=C?.hostReturnLock??Er({headers:Ae.headers,headerSlotStrideU32:Ae.headerSlotStrideU32,LockBoundSector:Ae.lockSector,payload:Ae.payload,payloadSector:Ae.payloadSector,payloadConfig:ae,textCompat:Ae.textCompat,processBoundary:M}),Oe=C?.abortSignalSAB??(Q===!0?se.abortSignals:void 0),Ne=Oe&&C===void 0?ft({sab:Oe,maxSignals:s}):void 0,De=Ft({sabObject:m==null?{size:P,sharedSab:se.signals}:n,isMain:!0,thread:a}),me=De,$e=os({processRuntime:Z,signal:me.opView}),Ee=T==="borrow"&&typeof WeakRef==="function"?new Map:void 0,Be=(p)=>{Ee?.delete(p),ue?.postMessage?.(Yo(p))},tr=(p)=>{if(Ee===void 0)return;for(let[E,J]of Ee)try{let re=J.ref.deref();if(re!==void 0){re.revokeBorrow(p);continue}let xe=J.aliasBuffer?.deref();if(xe!==void 0&&Vo(J.runtime,xe)&&p)Be(E)}catch{}Ee.clear()},nr=T==="borrow"?{release:Be,track:(p,E,J)=>{if(Ee===void 0)return;let re=Ee.get(E);if(re!==void 0){if(J!==void 0)re.aliasBuffer=new WeakRef(J);return}Ee.set(E,{ref:new WeakRef(p),aliasBuffer:J===void 0?void 0:new WeakRef(J),runtime:p.runtime})}}:void 0,Ue=C?.sharedQueue??io({lock:ce,returnLock:ye,abortSignals:Ne,releaseBufferReferenceReturn:nr});if(C!==void 0)C.sharedQueue.setReturnHooks(C.consumerId,nr);let{enqueue:or,rejectAll:We,txIdle:o}=Ue,_=me.opView,x=Atomics.add,d=Atomics.load,F=Atomics.notify,U=_.buffer instanceof SharedArrayBuffer,H=$e??(U?()=>F(_,0,1):void 0),q=()=>{if(d(me.rxStatus,0)===0)x(_,0,1),H?.()},pe=()=>{},ge=()=>pe(),Re,ne=X===void 0&&C===void 0,B=X??new Yr,{check:Y}=C!==void 0?{check:void 0}:an({signalBox:me,queue:Ue,channelHandler:B,dispatcherOptions:O,notifySignal:$e,crossProcess:M});if(ne&&Y!==void 0)B.open(Y),Re=B,pe=()=>{if(Y.isRunning===!0)return;Y.isRunning=!0,Promise.resolve().then(Y),q()};let ue,de=N??z;c?.(`worker thread=${a} mode=${M?"process":dn?"worker_threads":"worker"}${Z?` runtime=${Z}`:""} url=${String(de)}`);let Pe={sab:De.sab,abortSignalSAB:Oe,abortSignalMax:C?.abortSignalMax??(Q===!0?s:void 0),list:e,ids:r,names:t,at:v,thread:a,debug:u,workerOptions:ie,totalNumberOfThread:f,startAt:me.startAt,lock:Le,returnLock:Ae,payloadConfig:ae,bufferReferenceReturn:T,permission:h,notifyOnHostPublish:!M&&O?.doorbell!==!1&&(Me==="bun"||Me==="node")&&typeof Atomics.waitAsync==="function",steal:C===void 0?void 0:{consumers:C.consumers,consumerId:C.consumerId,regionLanes:C.regionLanes}},be={type:"module",workerData:Pe},Je=R&&R.length>0?{...be,execArgv:R}:be;if(b!==void 0)ue=fs({workerUrl:de,bootPayload:ls(Pe,b),memory:b,processRuntime:Z,commandPrefix:G,permission:h});else if(dn)try{ue=new V(de,Je)}catch(p){if(p?.code==="ERR_WORKER_INVALID_EXEC_ARGV"){let E=co(Je.execArgv);if(E&&E.length>0)try{ue=new V(de,{...be,execArgv:E})}catch(J){if(J?.code==="ERR_WORKER_INVALID_EXEC_ARGV"){let re=ps(E);if(re&&re.length>0)try{ue=new V(de,{...be,execArgv:re})}catch{ue=new V(de,be)}else ue=new V(de,be)}else throw J}else ue=new V(de,be)}else throw p}else ue=new V(de,{type:"module"}),ue.postMessage?.(Pe);let er,dr=()=>{C?.hostSubmitLock.deactivateStealConsumer(C.consumerId)},Ir=()=>{try{ue.unref?.(),Promise.resolve(ue.terminate()).catch(()=>{}).finally(dr)}catch{dr()}},ve=(p,E=!1)=>{if(er)return;er=p,tr(E),We(p),Re?.close()},ar=(p)=>{if(!yc(p))return;ve(`Worker startup failed: ${p[As]}`,!0),Ir()},Xe=(p)=>{let E=String(p?.message??p);ve(`Worker crashed: ${E}`),Ir()},vr=ue;if(typeof vr.on==="function")vr.on("message",ar),vr.on("error",Xe),vr.on("exit",(p)=>{if(dr(),er!==void 0)return;ve(`Worker exited with code ${typeof p==="number"?p:-1}`)});else{let p=ue;if(typeof p.addEventListener==="function")p.addEventListener("message",(E)=>{ar(E?.data)}),p.addEventListener("error",(E)=>{Xe(E?.error??E?.message??E)});else p.onmessage=(E)=>{ar(E?.data)},p.onerror=(E)=>{Xe(E)}}return ce.setPromiseHandler((p,E,J)=>{Ue.settlePromisePayload(p,E,J),ge()}),{txIdle:o,call:({fnNumber:p,timeout:E,abortSignal:J})=>{let re=or(p,E,J);return(xe)=>{let yr=re(xe);return ge(),yr}},requestStop:async()=>{let p=me.stopView;if(p===void 0)return;try{Atomics.store(p,0,Cr.requested),q(),H?.()}catch{return}if(!mc)return;let E=Date.now()+pc;while(Atomics.load(p,0)!==Cr.acknowledged){if(Date.now()>=E)return;await new Promise((J)=>setTimeout(J,1))}},kills:async()=>{ve("Thread closed",!0);let p=b!==void 0,E=gs(ue,p);if(p)await E;as(b)},lock:ce,processSharedMemoryBackings:K?.backings,dispatcherCheck:Y,laneWake:X!==void 0||C!==void 0?q:void 0,bindSend:X!==void 0||C!==void 0?(p)=>void(pe=p):void 0}};var xs=()=>{return},Ls=()=>[],Ps=()=>{throw Error("process workers are unavailable in the browser build")},vs=Ps,_s=Ps;var Cs=(e,r,t)=>{switch(t??"roundRobin"){case"roundRobin":case"robinRound":return Bc(e)(r)(r.length);case"firstIdle":return wc(e)(r)(r.length);case"randomLane":return Tc(e)(r)(r.length);case"firstIdleOrRandom":return kc(e)(r)(r.length)}throw Error(`Unknown balancer: ${t}`)},lo=({contexts:e,balancer:r,handlers:t,inlinerGate:n})=>{let a=typeof r==="object"&&r!=null?r.strategy:r;if(e.length<2)throw Error(e.length===0?"No threads available.":"Cannot rotate with a single thread.");if(t.length===0)throw Error("No handlers provided.");let u=Cs(e,t,a);if(!n)return u;let c=n.index|0,f=Number.isFinite(n.threshold)?Math.max(1,Math.floor(n.threshold)):1;if(f<=1||c<0||c>=t.length)return u;let A=t.length-1;if(A<=0)return u;let N=Array(A),v=Array(A);for(let L=0,T=0;L<t.length;L+=1){if(L===c)continue;N[T]=t[L],v[T]=e[L],T+=1}let W=Cs(v,N,a),R=0,h=(L)=>(R-=1,L),O=(L)=>{throw R-=1,L};return(L)=>{R+=1;let T=R>=f?u:W;try{return T(L).then(h,O)}catch(D){throw R-=1,D}}};function Bc(e){return(r)=>(t)=>{let n=Math.min(t,r.length);if(n<=1)return(u)=>r[0](u);let a=0;return(u)=>{let c=a;if(a+=1,a===n)a=0;return r[c](u)}}}function wc(e){let r=e.map((t)=>t.txIdle);return(t)=>(n)=>{let a=Math.min(n,t.length);if(a<=1)return(c)=>t[0](c);let u=0;return(c)=>{for(let A=0;A<a;A+=1)if(r[A]())return t[A](c);let f=u;if(u+=1,u===a)u=0;return t[f](c)}}}var Tc=(e)=>(r)=>(t)=>{let n=Math.min(t,r.length);if(n<=1)return(a)=>r[0](a);return(a)=>{let u=Math.random()*n|0;return r[u](a)}};function kc(e){let r=e.map((t)=>t.txIdle);return(t)=>(n)=>{let a=Math.min(n,t.length);if(a<=1)return(u)=>t[0](u);return(u)=>{for(let f=0;f<a;f+=1)if(r[f]())return t[f](u);let c=Math.random()*a|0;return t[c](u)}}}var Sr={Free:-1,Pending:0},Vr={Reject:0,Resolve:1},Ec=(e)=>{if(e==null)return;if(typeof e==="number")return e>=0?{ms:e,kind:Vr.Reject,value:Error("Task timeout")}:void 0;let r=e.time;if(!(r>=0))return;if("default"in e)return{ms:r,kind:Vr.Resolve,value:e.default};if(e.maybe===!0)return{ms:r,kind:Vr.Resolve,value:void 0};if("error"in e)return{ms:r,kind:Vr.Reject,value:e.error};return{ms:r,kind:Vr.Reject,value:Error("Task timeout")}},Rc=(e,r)=>new Promise((t,n)=>{let a=!1,u=setTimeout(()=>{if(a)return;if(a=!0,r.kind===Vr.Resolve)t(r.value);else n(r.value)},r.ms);e.then((c)=>{if(a)return;a=!0,clearTimeout(u),t(c)},(c)=>{if(a)return;a=!0,clearTimeout(u),n(c)})}),xc=(()=>({hasAborted:()=>!1,now:()=>performance.now()}))(),Lc=(e,r,t=!1)=>{let n=Ec(r),a=t?(u)=>e(u,xc):e;if(!n)return a;return(u)=>{let c=a(u);return c instanceof Promise?Rc(c,n):c}},Is=({tasks:e,genTaskID:r,batchSize:t})=>{let a=(Array.isArray(e)?e:Object.values(e).sort((m,k)=>m.name.localeCompare(k.name))).map((m)=>{if(m.imported===!0)return()=>{throw Error("Imported task cannot run on the host inline lane")};return Lc(m.f,m.timeout,m.abortSignal!==void 0)}),u=16,c=new Int32Array(16),f=new Int8Array(16).fill(Sr.Free),A=Array(16),N=Array(16).fill(-1),v=Array(16),W=Array(16),R=16;for(let m=0;m<16;m++)W[m]=15-m;let h=new ir(16),O=0,L=!1,T=!1,D=Number.isFinite(t)?Math.max(1,Math.floor(t??1)):Number.POSITIVE_INFINITY,Q=Or(),X=Q.port1,C=Q.port2,z=(m)=>C.postMessage(m),ee=()=>h.isEmpty===!1,ie=typeof queueMicrotask==="function"?queueMicrotask:(m)=>Promise.resolve().then(m),M=()=>{if(O===0||L)return;L=!0,z(null)},Z=()=>{if(O===0||L||T)return;T=!0,ie(ae)},G=(m)=>{h.push(m),Z()},j=(m,k)=>{if(f[m]!==Sr.Pending||N[m]!==k)return;G(m)},V=(m,k,l,g)=>{if(f[m]!==Sr.Pending||N[m]!==k)return;let b=v[m];if(b)if(l)b.reject(g);else b.resolve(g);s(m)};function fe(){if(R>0)return W[--R];let m=c.length,k=m<<1,l=new Int32Array(k);l.set(c),c=l;let g=new Int8Array(k);g.fill(Sr.Free),g.set(f),f=g,A.length=k,N.length=k,N.fill(-1,m),v.length=k;for(let b=k-1;b>=m;--b)W[R++]=b;return W[--R]}function te(m=!1){let k=0;while(k<D){let l=h.shiftNoClear();if(l===void 0)break;let g=l|0;if(f[g]!==Sr.Pending)continue;let b=N[g];try{let K=A[g],S=c[g],y=a[S](K);if(!(y instanceof Promise)){V(g,b,!1,y),k++;continue}y.then((w)=>V(g,b,!1,w),(w)=>V(g,b,!0,w)),k++}catch(K){V(g,b,!0,K),k++}}if(ee()){if(m)M();else z(null);return}if(!m)L=!1}function ae(){if(!T)return;te(!0),T=!1}function s(m){if(O--,f[m]=Sr.Free,c[m]=0,N[m]=-1,A[m]=void 0,v[m]=void 0,W[R++]=m,O===0)L=!1}let P=({fnNumber:m})=>(k)=>{let l=r(),g=tn(),b=fe();if(N[b]=l,A[b]=k,c[b]=m|0,v[b]=g,f[b]=Sr.Pending,O++,k instanceof Promise)k.then((K)=>{if(N[b]!==l)return;A[b]=K,j(b,l)},(K)=>V(b,l,!0,K));else G(b);return g.promise};return X.onmessage=()=>te(!1),{kills:async()=>{for(let m=0;m<f.length;m++){if(f[m]!==Sr.Pending)continue;try{v[m]?.reject("Thread closed")}catch{}}X.onmessage=null,X.close?.(),C.onmessage=null,C.close?.(),h.clear(),R=0,W.length=0,A.fill(void 0),N.fill(-1),v.fill(void 0),c.fill(0),f.fill(Sr.Free),O=0,L=!1,T=!1},call:P,txIdle:()=>O===0}};var Ns=(e,r)=>e.has("*")||e.has(r),Pc=(e)=>{if(!((u)=>Ns(e,u))("host"))return;let t=performance.now(),n=`host·${Me}`;return{log:(u)=>{let c=(performance.now()-t).toFixed(1);console.error(`[${n}·+${c}ms] host: ${u}`)}}},vc=()=>{let e=globalThis.Deno?.cwd;if(typeof e==="function")try{return e()}catch{}let r=He();if(typeof r?.cwd==="function")try{return r.cwd()}catch{return}return},Ms=(e,r="(none)")=>e&&e.length>0?e.join(","):r,Ds=65535,Os=Ds+1,yo="default",_c=Tr;var Cc=(e)=>{let r=e.reduce((t,n)=>(t[0].add(n.importedFrom),t[1].add(n.id),t[2].add(n.at),t[3].push(n.name),t),[new Set,new Set,new Set,[]]);return{list:[...r[0]],ids:[...r[1]],at:[...r[2]],names:r[3]}},dt=(e,r)=>{try{return new URL(e,r).href}catch{return br(e)}},Ic=(e,r)=>{if(e===void 0)return;let t=e.processRuntime==="porffor";if(t&&e.runtime!==void 0&&e.runtime!=="compiled")throw Error('worker.processRuntime "porffor" requires worker.runtime to be compiled or omitted');let n=t&&e.runtime===void 0,a=t?{...e,runtime:"compiled",processRuntime:void 0,compiled:n?{...e.compiled,build:"always"}:e.compiled}:e,u=a.bootstrap;if(u!==void 0){let f=u.name??yo;if(typeof u.href!=="string"||u.href.length===0)throw TypeError("worker.bootstrap.href must be a non-empty string");if(typeof f!=="string"||f.length===0)throw TypeError("worker.bootstrap.name must be a non-empty string");a={...a,bootstrap:{...u,href:dt(u.href,r),name:f}}}let c=a.compiled;if(c!==void 0){if(c.build!==void 0&&typeof c.build!=="boolean"&&c.build!=="always")throw TypeError('worker.compiled.build must be a boolean or "always"');for(let[f,A]of Object.entries({artifact:c.artifact,manifest:c.manifest,compiler:c.compiler}))if(A!==void 0&&(typeof A!=="string"||A.length===0))throw TypeError("worker.compiled."+f+" must be a non-empty string");a={...a,compiled:{build:c.build,compiler:c.compiler===void 0?void 0:c.compiler.startsWith(".")||c.compiler.startsWith("/")||c.compiler.startsWith("file:")||/^[A-Za-z]:[\\/]/.test(c.compiler)?dt(c.compiler,r):c.compiler,artifact:c.artifact===void 0?void 0:dt(c.artifact,r),manifest:c.manifest===void 0?void 0:dt(c.manifest,r)}}}return a};var Mc=(e)=>e!=null&&typeof e==="object"&&typeof e.f==="function",Oc=(e,r)=>Object.entries(e).map(([t,n])=>{if(Mc(n))return{...n,name:t};if(typeof n==="function")return{f:n,id:-1,importedFrom:new URL(r).href,at:-1,name:t,[zr]:!0};throw TypeError(`createPool task "${t}" must be a task definition or exported function`)}),Ws=({threads:e,debug:r,inliner:t,balancer:n,payload:a,unsafe:u,abortSignalCapacity:c,source:f,worker:A,workerExecArgv:N,permission:v,host:W})=>(R)=>{let h=u?.BufferReferenceReturn,O=Ha||r!==void 0&&r!==!1,L,T=()=>L??=Zt(r),D=O?Pc(T()):void 0,Q=(B)=>O&&Ns(T(),B);if(Tr===!1){if(Q("lifecycle"))console.warn("createPool has been called with : "+JSON.stringify(Zr));let B=()=>{throw Error("createPool can only be called in the main thread.")},de=new Proxy(function(){return B()},{get:function(){return B}});return{shutdown:de,[Symbol.dispose]:()=>{},call:de}}let X=rs(3),C=Oc(R,X).sort((B,Y)=>B.name.localeCompare(Y.name)),{list:z,ids:ee,names:ie,at:M}=Cc(C);if(D?.log(`cwd=${vc()??"(unknown)"} caller=${X}`),C.forEach((B)=>{D?.log(`task name=${B.name} id=${B.id} from=${B.importedFrom}`)}),C.length>Os)throw RangeError(`Too many tasks: received ${C.length}. Maximum is ${Os} (Uint16 function IDs: 0..${Ds}).`);let Z=typeof t==="object"&&t!=null,G=(e??1)+(Z?1:0),j=xs({permission:v??{mode:"strict",allowImport:!0},modules:z}),V=Ls(j),fe=He(),te=fe?.allowedNodeEnvironmentFlags??null,ae=(B)=>{let Y=B.split("=",1)[0];return Y==="--permission"||Y==="--experimental-permission"||Y==="--allow-fs-read"||Y==="--allow-fs-write"||Y==="--allow-worker"||Y==="--allow-child-process"||Y==="--allow-net"||Y==="--allow-addons"||Y==="--allow-ffi"||Y==="--allow-wasi"},s=(B)=>B?.filter((Y)=>!ae(Y)),P=(B)=>{let Y=[],ue=new Set;for(let de of B){if(ue.has(de))continue;ue.add(de),Y.push(de)}return Y},m=(B)=>{if(!B||B.length===0)return;if(!te)return B;let Y=B.filter((ue)=>{let de=ue.split("=",1)[0];return te.has(de)});return Y.length>0?Y:void 0},k=Array.isArray(fe?.execArgv)?fe.execArgv:void 0,l=N??(k?te?.has("--expose-gc")===!0?k.includes("--expose-gc")?k:[...k,"--expose-gc"]:k:void 0),g=j?.unsafe===!0?s(l):l,b=P([...V,...g??[]]),K=m(b.length>0?b:void 0);D?.log(`pool runtime=${Me} workers=${e??1} lanes=${G} inliner=${Z?"on":"off"}`),D?.log(`modules=${Ms(z)}`),D?.log(`permission=${j?.mode??"off"} execArgv=${Ms(K)}`);let S=C.some((B)=>B.abortSignal!==void 0),y=Ic(A,X),w=fe?.env?.KNITTING_DISPATCHER,oe=fe?.env?.KNITTING_STEAL?.trim().toLowerCase(),se=oe==="1"||oe==="true"?!0:oe==="0"||oe==="false"?!1:void 0,Se=W?.dispatcher!==void 0||w==="serial-channel"||w==="per-thread",Le=n===void 0&&!Se&&(e??1)<=ks,he=W?.steal??se??Le,Ae=y?.runtime==="compiled";if(y?.compiled!==void 0&&!Ae)throw Error("worker.compiled requires worker.runtime to be compiled");if(Ae){let B=[];if(Z)B.push("inliner");if(a!==void 0)B.push("payload");if(u!==void 0)B.push("unsafe");if(f!==void 0)B.push("source");if(N!==void 0)B.push("workerExecArgv");if(v!==void 0)B.push("permission");if(W!==void 0)B.push("host");if(y.bootstrap!==void 0)B.push("worker.bootstrap");if(y.timers!==void 0)B.push("worker.timers");if(y.processRuntime!==void 0)B.push("worker.processRuntime");if(y.processCommandPrefix!==void 0)B.push("worker.processCommandPrefix");if(y.processSharedMemory!==void 0)B.push("worker.processSharedMemory");if(y.resolveAfterFinishingAll!==void 0)B.push("worker.resolveAfterFinishingAll");if(C.some((Y)=>Y.timeout!==void 0))B.push("task timeout");if(C.some((Y)=>Y.imported===!0))B.push("importTask");if(B.length>0)throw Error("Compiled workers do not support: "+B.join(", "))}if(y?.bootstrap!==void 0)D?.log(`bootstrap href=${y.bootstrap.href} name=${y.bootstrap.name}`);if(Z&&y?.bootstrap!==void 0)throw Error("worker.bootstrap cannot be used with the inliner");if(y?.runtime==="process"){let B=on(y);_s(vs({permission:v,resolved:j,target:{runtime:B,nodeMajor:B==="node"?cs(y):void 0}}))}let ce=Number.isFinite(y?.hardTimeoutMs)?Math.max(1,Math.floor(y?.hardTimeoutMs)):void 0;if(ln>=1)throw Error(`createPool() tried to spawn workers from inside a worker process (pool depth ${ln}). This usually means a pool is created at module scope in a module your workers import, so every worker spawns its own pool recursively. Is your createPool protected by isMain? Guard pool creation behind \`if (isMain) { ... }\` (import { isMain } from "knitting") so only the main program starts the pool.`);let ye=W?.dispatcher??(w==="serial-channel"||w==="per-thread"?w:void 0),Oe=(()=>{if(Me==="bun")return"per-thread";if((e??1)<=1)return"per-thread";return"serial-channel"})(),Ne=ye??Oe,De=he&&!Ae&&(e??1)>1&&!Z,me=De?Es({threads:e??1,payload:a,regionLanes:W?.stealRegionLanes,abortSignalCapacity:c,usesAbortSignal:S,processWorker:y?.runtime==="process"?{signalBytes:st,sharedMemory:nn(y)}:void 0}):void 0,$e=!Ae&&!De&&Ne==="serial-channel",Ee=$e?new Yr("channel"):void 0,Be=Array.from({length:e??1}).map((B,Y)=>Rs({list:z,ids:ee,names:ie,at:M,thread:Y,debug:r,hostDebug:D?.log,totalNumberOfThread:G,workerCount:e??1,source:f,workerOptions:y,workerExecArgv:K,host:W,payload:a,bufferReferenceReturn:h,abortSignalCapacity:c,usesAbortSignal:S,permission:j,sharedChannelHandler:Ee,stealPool:me===void 0?void 0:{submitBuffers:me.submitBuffers,returnBuffers:me.returnBuffers[Y],hostSubmitLock:me.hostSubmitLock,hostReturnLock:me.hostReturnLocks[Y],sharedQueue:me.sharedQueue,consumers:e??1,consumerId:Y,regionLanes:me.regionLanes,abortSignalSAB:me.abortSignalSAB,abortSignalMax:me.abortSignalMax,processMemory:me.processMemory}})),tr=De?new Yr:void 0;if(De){let B=tr,Y=me.sharedQueue,ue=0,de=()=>{let be=Be.length;if(be===0)return;let Je=ue;ue=ue+1<be?ue+1:0,Be[Je].laneWake?.()},Ie=new Int32Array(je(3*Int32Array.BYTES_PER_ELEMENT)),{check:Pe}=an({signalBox:{opView:Ie.subarray(0,1),txStatus:Ie.subarray(1,2),rxStatus:Ie.subarray(2,3)},queue:Y,channelHandler:B,dispatcherOptions:W,notifySignal:de,crossProcess:y?.runtime==="process"});B.open(Pe),Be.forEach((be)=>{be.bindSend(()=>{if(Pe.isRunning!==!0)Pe.isRunning=!0,Promise.resolve().then(Pe);de()})}),D?.log(`dispatcher=steal lanes=${Be.length} g=${me.regionLanes}`)}let nr=Ee;if($e){let B=Ee,Y=Be.map((ve)=>ve.dispatcherCheck),ue=Be.map((ve)=>ve.txIdle),de=!1,Ie=!1,Pe=!1,be=[],Je=new Uint8Array(Y.length),er=(ve)=>{if(Je[ve]===1)return;Je[ve]=1,be.push(ve)},dr=()=>{if(Ie){Pe=!0;return}Ie=!0;do{Pe=!1,de=!1;for(let ve=be.length-1;ve>=0;ve--){let ar=be[ve],Xe=Y[ar];if(Xe.isRunning!==!0)Xe.isRunning=!0;if(Xe(),ue[ar]()){Je[ar]=0;let vr=be.pop();if(ve<be.length)be[ve]=vr}}}while(Pe);Ie=!1},Ir=()=>{if(Ie){Pe=!0;return}if(de)return;de=!0,Promise.resolve().then(dr)};B.open(dr),Be.forEach((ve,ar)=>{let Xe=ve.laneWake;ve.bindSend(()=>{er(ar),Ir(),Xe()})}),D?.log(`dispatcher=serial-channel lanes=${Y.length}`)}else D?.log(`dispatcher=per-thread lanes=${Be.length}`);if(Z){let B=Is({tasks:C,genTaskID:Qa,batchSize:t?.batchSize??1});if(t?.position==="first")Be=[B,...Be];else Be.push(B)}let Ue=Z?t?.position==="first"?0:Be.length-1:-1,or=Number.isFinite(t?.dispatchThreshold)?Math.max(1,Math.floor(t?.dispatchThreshold??1)):1,We=!1,o,_,x=()=>{if(o)return o;return We=!0,o=Promise.allSettled(Be.map((B)=>B.requestStop?.())).then(()=>Promise.allSettled(Be.map((B)=>B.kills()))).then(()=>{nr?.close(),tr?.close()}),o},d=({invoke:B,taskName:Y})=>(ue)=>{if(We)return Promise.reject(Error("Pool is shut down"));let de=B(ue);if(!ce)return de;return new Promise((Ie,Pe)=>{let be=!1,Je=setTimeout(()=>{if(be)return;be=!0,Pe(Error(`Task hard timeout after ${ce}ms (${Y}); pool force-shutdown`)),x()},ce);de.then((er)=>{if(be)return;be=!0,clearTimeout(Je),Ie(er)},(er)=>{if(be)return;be=!0,clearTimeout(Je),Pe(er)})})},F=(B)=>{if(o)return o;if(_)return _;let Y=Number.isFinite(B)?Math.max(0,Math.floor(B)):0;return _=(async()=>{if(o)return await o;if(Y>0)await new Promise((ue)=>setTimeout(ue,Y));if(o)return await o;await x()})(),_},U=()=>{F()},H=C.map((B,Y)=>({name:B.name,index:Y,timeout:B.timeout,abortSignal:B.abortSignal,imported:B.imported===!0})),q=new Map;for(let{name:B}of H)q.set(B,[]);for(let B of Be)for(let{name:Y,index:ue,timeout:de,abortSignal:Ie}of H)q.get(Y).push(d({taskName:Y,invoke:B.call({fnNumber:ue,timeout:de,abortSignal:Ie})}));let pe=(e??1)===1&&!Z,ge=(B)=>{let Y=[],ue=[];for(let de=0;de<B.length;de+=1){if(de===Ue)continue;Y.push(B[de]),ue.push(Be[de])}if(Y.length===0)throw Error("Imported task has no worker lane to run on: the pool only has the host inliner. Imported tasks are never inlined on the host; add at least one worker thread.");if(Y.length===1)return Y[0];return lo({contexts:ue,balancer:n,handlers:Y})},Re=(B,Y)=>{if(Y&&Z)return ge(B);return pe?B[0]:lo({contexts:Be,balancer:n,handlers:B,inlinerGate:Z?{index:Ue,threshold:or}:void 0})},ne;try{ne=H.map(({name:B,imported:Y})=>[B,Re(q.get(B),Y)])}catch(B){throw x(),B}return{shutdown:F,[Symbol.dispose]:U,call:Object.fromEntries(ne)}},Fs="__task__",Fc=(e,r)=>{let t=Ws(r??{})({[Fs]:e});return{call:t.call[Fs],shutdown:t.shutdown,[Symbol.dispose]:t[Symbol.dispose]}},Us=(e,r,t,n=!1)=>{let a=new URL(r).href,u={...e,id:Ja(a,t),importedFrom:a,at:t,imported:n,[zr]:!0};return u.createPool=(c)=>{if(Tr===!1)return u;return Fc(u,c)},u},Nc=(e,r)=>{let[t,n]=so(r);return Us(e,t,n)},Dc=(e,r)=>{let t,n,a=async()=>{if(t)return t;if(!n)n=import(e).then((u)=>{let c=u,f=r===yo?c.default:c[r];if(typeof f!=="function"){let A=Object.keys(c).join(", ");throw TypeError(`importTask expected export "${r}" from "${e}" to be a function. Available exports: ${A||"(none)"}`)}return t=f,t});return n};return async(...u)=>(await a())(...u)};function Wc(e){return Nc(e,4)}function Uc(e){let[r,t]=so(3),{href:n,name:a=yo,...u}=e,c=dt(n,r);return Us({...u,f:Dc(c,a)},r,t,!0)}export{mr as Envelope,Kt as NumericArray,Ws as createPool,Uc as importTask,_c as isMain,Nn as isNumericArray,Za as setModuleUrl,Wc as task,rn as workerMainLoop};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "knitting",
3
- "version": "0.1.61",
3
+ "version": "0.1.63",
4
4
  "description": "Shared-memory IPC runtime for Node.js, Deno, and Bun.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {