0 rˆl–ß=¿Jµ5*q@½p/\”ţà † -à:/X‘¤~VÅ€M¾ JWltŸd–Ü4ý( ©¤ýÔâ�ÆÚ¸)‹Fÿ{“à‚Ø´3¤ýBB´­‚¢CU7_‹I|¥Žƒî4ÃVŸÅÄ?÷var a={APPLY:"apply",CALLBACK:"callback",PING:"ping",PONG:"pong"},i={PROVIDER:"provider",INJECTOR:"injector"},F=A=>{let v=!!A?.type&&Object.values(a).includes(A.type),j=!!A?.id&&typeof A.id=="string",x=!!A?.path&&Array.isArray(A.path)&&A.path.every($=>typeof $=="string"),r=!!A?.sender&&Object.values(i).includes(A.sender),b=A?.callbackIds===void 0||Array.isArray(A.callbackIds)&&A.callbackIds.every($=>typeof $=="string"),l=A?.args===void 0||Array.isArray(A.args),f=A?.error===void 0||typeof A.error=="string",t=!!A?.meta&&A.meta!==null&&typeof A.meta=="object",B=!!A?.namespace&&typeof A.namespace=="string",E=!!A?.timeStamp&&typeof A.timeStamp=="number";return v&&j&&x&&r&&b&&l&&f&&t&&B&&E},S=()=>[void 0,void 0,void 0,void 0].map(()=>Math.floor(Math.random()*(2**53-1)).toString(16)).join("-"),u=S,J=(A,v,...j)=>{let x=setTimeout(()=>{clearTimeout(x),A(...j),x=setInterval(A,v,...j)},0);return()=>clearInterval(x)},T=J,M=(A,v)=>v!==void 0&&A instanceof v,k=M,w=A=>{let v=new WeakSet,j=x=>!x||typeof x!="object"||v.has(x)?[]:(v.add(x),k(x,globalThis.ArrayBuffer)||k(x,globalThis.MessagePort)||k(x,globalThis.ImageBitmap)||k(x,globalThis.OffscreenCanvas)||k(x,globalThis.AudioData)||k(x,globalThis.VideoFrame)||k(x,globalThis.RTCDataChannel)||k(x,globalThis.MediaSourceHandle)||k(x,globalThis.MIDIAccess)||k(x,globalThis.MediaStreamTrack)||k(x,globalThis.ReadableStream)||k(x,globalThis.WritableStream)||k(x,globalThis.TransformStream)?[x]:Array.isArray(x)?x.flatMap(j):Object.values(x).flatMap(j));return j(A)},d=w,O=Symbol("PROXY_MARKER"),y=async(A,v)=>{let j,x,r=new Set,b=new Promise((f,t)=>{j=T(async()=>{try{let B=u(),E=await A.onMessage(e=>{if(!F(e))return;let q=e;q.namespace===v.namespace&&q.sender===i.PROVIDER&&q.type===a.PONG&&q.id===B&&f()});E&&r.add(E);let $={type:a.PING,sender:i.INJECTOR,id:B,path:[],meta:{},namespace:v.namespace,timeStamp:Date.now()};A.sendMessage($,v.transfer?d($):[])}catch(B){t(B)}},v.heartbeatInterval)}),l=new Promise((f,t)=>{let B=setTimeout(()=>t(Error(`Provider unavailable: heartbeat check timeout ${v.heartbeatTimeout}ms.`)),v.heartbeatTimeout);x=()=>clearTimeout(B)});await Promise.race([b,l]).finally(()=>{j(),x(),r.forEach(f=>f()),r.clear()})},R=(A,v,j)=>(v.onMessage(async x=>{if(!F(x))return;let r=x;if(r.namespace===j.namespace&&r.sender===i.INJECTOR)switch(r.type){case a.PING:{let b={type:a.PONG,sender:i.PROVIDER,id:r.id,path:r.path,meta:r.meta,namespace:j.namespace,timeStamp:Date.now()};v.sendMessage(b,j.transfer?d(b):[]);break}case a.APPLY:{try{let l=r.args?.map(f=>r.callbackIds?.includes(f)?(...t)=>{let B={type:a.CALLBACK,sender:i.PROVIDER,id:f,path:r.path,meta:r.meta,data:t,namespace:j.namespace,timeStamp:Date.now()};v.sendMessage(B,j.transfer?d(B):[])}:f);r.data=await(r.path?.reduce((f,t)=>f[t],A)).apply(A,l||[])}catch(l){r.error=l.message}let b={type:a.APPLY,sender:i.PROVIDER,id:r.id,path:r.path,data:r.data,error:r.error,meta:r.meta,namespace:j.namespace,timeStamp:Date.now()};v.sendMessage(b,j.transfer?d(b):[]);break}}}),A),X=(A,v,j)=>{let x=(r,b)=>new Proxy(r,{get(f,t,B){if(f[O])return Reflect.get(f,t,B);let E=()=>{};return E[O]=!0,x(E,[...b,t])},apply(f,t,B){return new Promise(async(E,$)=>{try{j.heartbeatCheck&&await y(v,j);let e=[],q=B.map(s=>{if(typeof s=="function"){let G=u();return e.push(G),v.onMessage(g=>{if(!F(g))return;let H=g;H.namespace===j.namespace&&H.sender===i.PROVIDER&&H.type===a.CALLBACK&&H.id===G&&s(...H.data)}),G}else return s}),L=u(),K=await v.onMessage(s=>{if(!F(s))return;let G=s;G.namespace===j.namespace&&G.sender===i.PROVIDER&&G.type===a.APPLY&&G.id===L&&(G.error?$(Error(G.error)):E(G.data),K?.())}),h={type:a.APPLY,sender:i.INJECTOR,id:L,path:b,args:q,meta:{},callbackIds:e,timeStamp:Date.now(),namespace:j.namespace};v.sendMessage(h,j.transfer?d(h):[])}catch(e){$(e)}})}});return x(A,[])},U=(A,v)=>{let j;return(x,...r)=>j??=R(A(...r),x,v)},V=(A,v)=>{let j;return x=>j??=X(v.backup?Object.freeze(A()):{},x,v)},N=(A,v)=>{let j={namespace:v?.namespace??