@interncom/diplomatic 0.24.0 → 0.25.0
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/dist/cli/index.mjs +2 -2
- package/dist/cli/shared/crypto/derivation.d.ts +1 -0
- package/dist/cli/shared/crypto/enclave.d.ts +1 -0
- package/dist/web/index.d.ts +2 -1
- package/dist/web/index.mjs +1 -1
- package/dist/web/shared/codecs/file.d.ts +2 -3
- package/dist/web/shared/codecs/fileHead.d.ts +6 -4
- package/dist/web/shared/codecs/fileIndexItem.d.ts +0 -1
- package/dist/web/shared/codecs/fileRealm.d.ts +9 -0
- package/dist/web/shared/crypto/derivation.d.ts +1 -0
- package/dist/web/shared/crypto/enclave.d.ts +1 -0
- package/dist/web/shared/crypto/exim.d.ts +22 -0
- package/dist/web/shared/crypto/export.d.ts +5 -0
- package/dist/web/worker.mjs +1 -1
- package/package.json +1 -1
- package/dist/web/shared/exim.d.ts +0 -24
package/dist/cli/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Ls=Object.defineProperty;var Vs=(t)=>t;function Os(t,e){this[t]=Vs.bind(null,e)}var _s=(t,e)=>{for(var r in e)Ls(t,r,{get:e[r],enumerable:!0,configurable:!0,set:Os.bind(e,r)})};var v=(t,e)=>()=>(t&&(e=t(t=0)),e);import*as gt from"node:crypto";var Rt;var Mr=v(()=>{Rt=gt&&typeof gt==="object"&&"webcrypto"in gt?gt.webcrypto:gt&&typeof gt==="object"&&("randomBytes"in gt)?gt:void 0});function ye(t){if(!Number.isSafeInteger(t)||t<0)throw Error("positive integer expected, got "+t)}function We(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function j(t,...e){if(!We(t))throw Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw Error("Uint8Array expected of length "+e+", got length="+t.length)}function Fe(t,e=!0){if(t.destroyed)throw Error("Hash instance has been destroyed");if(e&&t.finished)throw Error("Hash#digest() has already been called")}function Lr(t,e){j(t);let r=e.outputLen;if(t.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}function Xe(t){if(typeof t!=="boolean")throw Error(`boolean expected, not ${t}`)}var se=()=>{};function qs(t){if(typeof t!=="string")throw Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function he(t){if(typeof t==="string")t=qs(t);else if(We(t))t=me(t);else throw Error("Uint8Array expected, got "+typeof t);return t}function Vr(t,e){if(e==null||typeof e!=="object")throw Error("options must be defined");return Object.assign(t,e)}function Or(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function je(t,e,r=!0){if(e===void 0)return new Uint8Array(t);if(e.length!==t)throw Error("invalid output length, expected "+t+", got: "+e.length);if(r&&!Ws(e))throw Error("invalid output, must be aligned");return e}function Ws(t){return t.byteOffset%4===0}function me(t){return Uint8Array.from(t)}function yt(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}var It=(t)=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),Ns,_r=(t,e)=>{function r(n,...s){if(j(n),t.nonceLength!==void 0){let l=s[0];if(!l)throw Error("nonce / iv required");if(t.varSizeNonce)j(l);else j(l,t.nonceLength)}let o=t.tagLength;if(o&&s[1]!==void 0)j(s[1]);let a=e(n,...s),c=(l,d)=>{if(d!==void 0){if(l!==2)throw Error("cipher output not supported");j(d)}},u=!1;return{encrypt(l,d){if(u)throw Error("cannot encrypt() twice with same key + nonce");return u=!0,j(l),c(a.encrypt.length,d),a.encrypt(l,d)},decrypt(l,d){if(j(l),o&&l.length<o)throw Error("invalid ciphertext length: smaller than tagLength="+o);return c(a.decrypt.length,d),a.decrypt(l,d)}}}return Object.assign(r,t),r};var be=v(()=>{se();/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */Ns=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Ns)throw Error("Non little-endian hardware is not supported")});function oe(t=32){if(Rt&&typeof Rt.getRandomValues==="function")return Rt.getRandomValues(new Uint8Array(t));if(Rt&&typeof Rt.randomBytes==="function")return Rt.randomBytes(t);throw Error("crypto.getRandomValues must be defined")}var Nr=v(()=>{Mr()});function g(t,e){return t<<e|t>>>32-e}function Ge(t){return t.byteOffset%4===0}function zs(t,e,r,n,s,o,a,c){let u=s.length,f=new Uint8Array(Se),l=It(f),d=Ge(s)&&Ge(o),h=d?It(s):qr,y=d?It(o):qr;for(let b=0;b<u;a++){if(t(e,r,n,l,a,c),a>=Fr)throw Error("arx: counter overflow");let m=Math.min(Se,u-b);if(d&&m===Se){let I=b/4;if(b%4!==0)throw Error("arx: invalid block position");for(let x=0,w;x<Ys;x++)w=I+x,y[w]=h[w]^l[x];b+=Se;continue}for(let I=0,x;I<m;I++)x=b+I,o[x]=s[x]^f[I];b+=m}}function Xr(t,e){let{allowShortKeys:r,extendNonceFn:n,counterLength:s,counterRight:o,rounds:a}=Vr({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!=="function")throw Error("core must be a function");return ye(s),ye(a),Xe(o),Xe(r),(c,u,f,l,d=0)=>{j(c),j(u),j(f);let h=f.length;if(l===void 0)l=new Uint8Array(h);if(j(l),ye(d),d<0||d>=Fr)throw Error("arx: counter overflow");if(l.length<h)throw Error(`arx: output (${l.length}) is shorter than data (${h})`);let y=[],b=c.length,m,I;if(b===32)y.push(m=me(c)),I=Gs;else if(b===16&&r)m=new Uint8Array(32),m.set(c),m.set(c,16),I=js,y.push(m);else throw Error(`arx: invalid 32-byte key, got length=${b}`);if(!Ge(u))y.push(u=me(u));let x=It(m);if(n){if(u.length!==24)throw Error("arx: extended nonce must be 24 bytes");n(I,x,It(u.subarray(0,16)),x),u=u.subarray(16)}let w=16-s;if(w!==u.length)throw Error(`arx: nonce must be ${w} or 16 bytes`);if(w!==12){let A=new Uint8Array(12);A.set(u,o?0:12-u.length),u=A,y.push(u)}let C=It(u);return zs(t,I,x,C,f,l,d,a),yt(...y),l}}var Wr=(t)=>Uint8Array.from(t.split("").map((e)=>e.charCodeAt(0))),Fs,Xs,js,Gs,Se=64,Ys=16,Fr=4294967295,qr;var jr=v(()=>{se();be();Fs=Wr("expand 16-byte k"),Xs=Wr("expand 32-byte k"),js=It(Fs),Gs=It(Xs);qr=new Uint32Array});class Gr{constructor(t){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,t=he(t),j(t,32);let e=G(t,0),r=G(t,2),n=G(t,4),s=G(t,6),o=G(t,8),a=G(t,10),c=G(t,12),u=G(t,14);this.r[0]=e&8191,this.r[1]=(e>>>13|r<<3)&8191,this.r[2]=(r>>>10|n<<6)&7939,this.r[3]=(n>>>7|s<<9)&8191,this.r[4]=(s>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let f=0;f<8;f++)this.pad[f]=G(t,16+2*f)}process(t,e,r=!1){let n=r?0:2048,{h:s,r:o}=this,a=o[0],c=o[1],u=o[2],f=o[3],l=o[4],d=o[5],h=o[6],y=o[7],b=o[8],m=o[9],I=G(t,e+0),x=G(t,e+2),w=G(t,e+4),C=G(t,e+6),A=G(t,e+8),k=G(t,e+10),K=G(t,e+12),X=G(t,e+14),H=s[0]+(I&8191),D=s[1]+((I>>>13|x<<3)&8191),V=s[2]+((x>>>10|w<<6)&8191),O=s[3]+((w>>>7|C<<9)&8191),q=s[4]+((C>>>4|A<<12)&8191),S=s[5]+(A>>>1&8191),W=s[6]+((A>>>14|k<<2)&8191),_=s[7]+((k>>>11|K<<5)&8191),F=s[8]+((K>>>8|X<<8)&8191),N=s[9]+(X>>>5|n),P=0,Q=P+H*a+D*(5*m)+V*(5*b)+O*(5*y)+q*(5*h);P=Q>>>13,Q&=8191,Q+=S*(5*d)+W*(5*l)+_*(5*f)+F*(5*u)+N*(5*c),P+=Q>>>13,Q&=8191;let tt=P+H*c+D*a+V*(5*m)+O*(5*b)+q*(5*y);P=tt>>>13,tt&=8191,tt+=S*(5*h)+W*(5*d)+_*(5*l)+F*(5*f)+N*(5*u),P+=tt>>>13,tt&=8191;let st=P+H*u+D*c+V*a+O*(5*m)+q*(5*b);P=st>>>13,st&=8191,st+=S*(5*y)+W*(5*h)+_*(5*d)+F*(5*l)+N*(5*f),P+=st>>>13,st&=8191;let M=P+H*f+D*u+V*c+O*a+q*(5*m);P=M>>>13,M&=8191,M+=S*(5*b)+W*(5*y)+_*(5*h)+F*(5*d)+N*(5*l),P+=M>>>13,M&=8191;let St=P+H*l+D*f+V*u+O*c+q*a;P=St>>>13,St&=8191,St+=S*(5*m)+W*(5*b)+_*(5*y)+F*(5*h)+N*(5*d),P+=St>>>13,St&=8191;let Vt=P+H*d+D*l+V*f+O*u+q*c;P=Vt>>>13,Vt&=8191,Vt+=S*a+W*(5*m)+_*(5*b)+F*(5*y)+N*(5*h),P+=Vt>>>13,Vt&=8191;let Ot=P+H*h+D*d+V*l+O*f+q*u;P=Ot>>>13,Ot&=8191,Ot+=S*c+W*a+_*(5*m)+F*(5*b)+N*(5*y),P+=Ot>>>13,Ot&=8191;let _t=P+H*y+D*h+V*d+O*l+q*f;P=_t>>>13,_t&=8191,_t+=S*u+W*c+_*a+F*(5*m)+N*(5*b),P+=_t>>>13,_t&=8191;let Nt=P+H*b+D*y+V*h+O*d+q*l;P=Nt>>>13,Nt&=8191,Nt+=S*f+W*u+_*c+F*a+N*(5*m),P+=Nt>>>13,Nt&=8191;let qt=P+H*m+D*b+V*y+O*h+q*d;P=qt>>>13,qt&=8191,qt+=S*l+W*f+_*u+F*c+N*a,P+=qt>>>13,qt&=8191,P=(P<<2)+P|0,P=P+Q|0,Q=P&8191,P=P>>>13,tt+=P,s[0]=Q,s[1]=tt,s[2]=st,s[3]=M,s[4]=St,s[5]=Vt,s[6]=Ot,s[7]=_t,s[8]=Nt,s[9]=qt}finalize(){let{h:t,pad:e}=this,r=new Uint16Array(10),n=t[1]>>>13;t[1]&=8191;for(let a=2;a<10;a++)t[a]+=n,n=t[a]>>>13,t[a]&=8191;t[0]+=n*5,n=t[0]>>>13,t[0]&=8191,t[1]+=n,n=t[1]>>>13,t[1]&=8191,t[2]+=n,r[0]=t[0]+5,n=r[0]>>>13,r[0]&=8191;for(let a=1;a<10;a++)r[a]=t[a]+n,n=r[a]>>>13,r[a]&=8191;r[9]-=8192;let s=(n^1)-1;for(let a=0;a<10;a++)r[a]&=s;s=~s;for(let a=0;a<10;a++)t[a]=t[a]&s|r[a];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let o=t[0]+e[0];t[0]=o&65535;for(let a=1;a<8;a++)o=(t[a]+e[a]|0)+(o>>>16)|0,t[a]=o&65535;yt(r)}update(t){Fe(this);let{buffer:e,blockLen:r}=this;t=he(t);let n=t.length;for(let s=0;s<n;){let o=Math.min(r-this.pos,n-s);if(o===r){for(;r<=n-s;s+=r)this.process(t,s);continue}if(e.set(t.subarray(s,s+o),this.pos),this.pos+=o,s+=o,this.pos===r)this.process(e,0,!1),this.pos=0}return this}destroy(){yt(this.h,this.r,this.buffer,this.pad)}digestInto(t){Fe(this),Lr(t,this),this.finished=!0;let{buffer:e,h:r}=this,{pos:n}=this;if(n){e[n++]=1;for(;n<16;n++)e[n]=0;this.process(e,0,!0)}this.finalize();let s=0;for(let o=0;o<8;o++)t[s++]=r[o]>>>0,t[s++]=r[o]>>>8;return t}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let r=t.slice(0,e);return this.destroy(),r}}function $s(t){let e=(n,s)=>t(s).update(he(n)).digest(),r=t(new Uint8Array(32));return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=(n)=>t(n),e}var G=(t,e)=>t[e++]&255|(t[e++]&255)<<8,Ye;var Yr=v(()=>{se();be();Ye=$s((t)=>new Gr(t))});function Qs(t,e,r,n,s,o=20){let a=t[0],c=e[0],u=e[1],f=e[2],l=e[3],d=t[1],h=r[0],y=r[1],b=s,m=0,I=t[2],x=e[4],w=e[5],C=e[6],A=e[7],k=t[3],K=a,X=c,H=u,D=f,V=l,O=d,q=h,S=y,W=b,_=m,F=I,N=x,P=w,Q=C,tt=A,st=k;for(let St=0;St<o;St+=2)V^=g(K+P|0,7),W^=g(V+K|0,9),P^=g(W+V|0,13),K^=g(P+W|0,18),_^=g(O+X|0,7),Q^=g(_+O|0,9),X^=g(Q+_|0,13),O^=g(X+Q|0,18),tt^=g(F+q|0,7),H^=g(tt+F|0,9),q^=g(H+tt|0,13),F^=g(q+H|0,18),D^=g(st+N|0,7),S^=g(D+st|0,9),N^=g(S+D|0,13),st^=g(N+S|0,18),X^=g(K+D|0,7),H^=g(X+K|0,9),D^=g(H+X|0,13),K^=g(D+H|0,18),q^=g(O+V|0,7),S^=g(q+O|0,9),V^=g(S+q|0,13),O^=g(V+S|0,18),N^=g(F+_|0,7),W^=g(N+F|0,9),_^=g(W+N|0,13),F^=g(_+W|0,18),P^=g(st+tt|0,7),Q^=g(P+st|0,9),tt^=g(Q+P|0,13),st^=g(tt+Q|0,18);let M=0;n[M++]=a+K|0,n[M++]=c+X|0,n[M++]=u+H|0,n[M++]=f+D|0,n[M++]=l+V|0,n[M++]=d+O|0,n[M++]=h+q|0,n[M++]=y+S|0,n[M++]=b+W|0,n[M++]=m+_|0,n[M++]=I+F|0,n[M++]=x+N|0,n[M++]=w+P|0,n[M++]=C+Q|0,n[M++]=A+tt|0,n[M++]=k+st|0}function Js(t,e,r,n){let s=t[0],o=e[0],a=e[1],c=e[2],u=e[3],f=t[1],l=r[0],d=r[1],h=r[2],y=r[3],b=t[2],m=e[4],I=e[5],x=e[6],w=e[7],C=t[3];for(let k=0;k<20;k+=2)u^=g(s+I|0,7),h^=g(u+s|0,9),I^=g(h+u|0,13),s^=g(I+h|0,18),y^=g(f+o|0,7),x^=g(y+f|0,9),o^=g(x+y|0,13),f^=g(o+x|0,18),w^=g(b+l|0,7),a^=g(w+b|0,9),l^=g(a+w|0,13),b^=g(l+a|0,18),c^=g(C+m|0,7),d^=g(c+C|0,9),m^=g(d+c|0,13),C^=g(m+d|0,18),o^=g(s+c|0,7),a^=g(o+s|0,9),c^=g(a+o|0,13),s^=g(c+a|0,18),l^=g(f+u|0,7),d^=g(l+f|0,9),u^=g(d+l|0,13),f^=g(u+d|0,18),m^=g(b+y|0,7),h^=g(m+b|0,9),y^=g(h+m|0,13),b^=g(y+h|0,18),I^=g(C+w|0,7),x^=g(I+C|0,9),w^=g(x+I|0,13),C^=g(w+x|0,18);let A=0;n[A++]=s,n[A++]=f,n[A++]=b,n[A++]=C,n[A++]=l,n[A++]=d,n[A++]=h,n[A++]=y}var ze,$e;var zr=v(()=>{jr();se();Yr();be();ze=Xr(Qs,{counterRight:!0,extendNonceFn:Js}),$e=_r({blockSize:64,nonceLength:24,tagLength:16},(t,e)=>({encrypt(r,n){n=je(r.length+32,n,!1);let s=n.subarray(0,32),o=n.subarray(32);n.set(r,32),yt(s),ze(t,e,n,n);let a=Ye(o,s);return n.set(a,16),yt(n.subarray(0,16),a),n.subarray(16)},decrypt(r,n){j(r),n=je(r.length+32,n,!1);let s=n.subarray(0,32),o=n.subarray(32,48),a=n.subarray(48);n.set(r,32),yt(s);let c=ze(t,e,s,s),u=Ye(a,c);if(!Or(o,u))throw Error("invalid tag");return ze(t,e,n.subarray(16),n.subarray(16)),yt(s,o,u),a}}))});function Zs(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ie(t){if(!Number.isSafeInteger(t)||t<0)throw Error("positive integer expected, got "+t)}function Tt(t,...e){if(!Zs(t))throw Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw Error("Uint8Array expected of length "+e+", got length="+t.length)}function ae(t,e=!0){if(t.destroyed)throw Error("Hash instance has been destroyed");if(e&&t.finished)throw Error("Hash#digest() has already been called")}function ge(t,e){Tt(t);let r=e.outputLen;if(t.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}function $r(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function Wt(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Ft(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function ce(t,e){return t<<32-e|t>>>e}function Jr(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function to(t){for(let e=0;e<t.length;e++)t[e]=Jr(t[e]);return t}function eo(t){if(typeof t!=="string")throw Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Xt(t){if(typeof t==="string")t=eo(t);return Tt(t),t}class Qe{}function tn(t){let e=(n,s)=>t(s).update(Xt(n)).digest(),r=t({});return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=(n)=>t(n),e}var Qr,Zr,et;var Ie=v(()=>{/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Qr=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();Zr=Qr?(t)=>t:(t)=>Jr(t);et=Qr?(t)=>t:to});var en;var rn=v(()=>{en=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225])});function Je(t,e=!1){if(e)return{h:Number(t&xe),l:Number(t>>nn&xe)};return{h:Number(t>>nn&xe)|0,l:Number(t&xe)|0}}var xe,nn;var sn=v(()=>{xe=BigInt(4294967295),nn=BigInt(32)});function xt(t,e,r,n,s){return t=t+e+s|0,n=ce(n^t,16),r=r+n|0,e=ce(e^r,12),{a:t,b:e,c:r,d:n}}function wt(t,e,r,n,s){return t=t+e+s|0,n=ce(n^t,8),r=r+n|0,e=ce(e^r,7),{a:t,b:e,c:r,d:n}}var on=v(()=>{Ie()});function tr(t,e,r,n,s,o,a,c,u,f,l,d,h,y,b,m,I,x,w,C){let A=0;for(let k=0;k<n;k++)({a:s,b:u,c:h,d:I}=xt(s,u,h,I,r[e+t[A++]])),{a:s,b:u,c:h,d:I}=wt(s,u,h,I,r[e+t[A++]]),{a:o,b:f,c:y,d:x}=xt(o,f,y,x,r[e+t[A++]]),{a:o,b:f,c:y,d:x}=wt(o,f,y,x,r[e+t[A++]]),{a,b:l,c:b,d:w}=xt(a,l,b,w,r[e+t[A++]]),{a,b:l,c:b,d:w}=wt(a,l,b,w,r[e+t[A++]]),{a:c,b:d,c:m,d:C}=xt(c,d,m,C,r[e+t[A++]]),{a:c,b:d,c:m,d:C}=wt(c,d,m,C,r[e+t[A++]]),{a:s,b:f,c:b,d:C}=xt(s,f,b,C,r[e+t[A++]]),{a:s,b:f,c:b,d:C}=wt(s,f,b,C,r[e+t[A++]]),{a:o,b:l,c:m,d:I}=xt(o,l,m,I,r[e+t[A++]]),{a:o,b:l,c:m,d:I}=wt(o,l,m,I,r[e+t[A++]]),{a,b:d,c:h,d:x}=xt(a,d,h,x,r[e+t[A++]]),{a,b:d,c:h,d:x}=wt(a,d,h,x,r[e+t[A++]]),{a:c,b:u,c:y,d:w}=xt(c,u,y,w,r[e+t[A++]]),{a:c,b:u,c:y,d:w}=wt(c,u,y,w,r[e+t[A++]]);return{v0:s,v1:o,v2:a,v3:c,v4:u,v5:f,v6:l,v7:d,v8:h,v9:y,v10:b,v11:m,v12:I,v13:x,v14:w,v15:C}}var Ze;var an=v(()=>{on();Ie();Ze=class Ze extends Qe{constructor(t,e){super();this.finished=!1,this.destroyed=!1,this.length=0,this.pos=0,ie(t),ie(e),this.blockLen=t,this.outputLen=e,this.buffer=new Uint8Array(t),this.buffer32=Wt(this.buffer)}update(t){ae(this),t=Xt(t),Tt(t);let{blockLen:e,buffer:r,buffer32:n}=this,s=t.length,o=t.byteOffset,a=t.buffer;for(let c=0;c<s;){if(this.pos===e)et(n),this.compress(n,0,!1),et(n),this.pos=0;let u=Math.min(e-this.pos,s-c),f=o+c;if(u===e&&!(f%4)&&c+u<s){let l=new Uint32Array(a,f,Math.floor((s-c)/4));et(l);for(let d=0;c+e<s;d+=n.length,c+=e)this.length+=e,this.compress(l,d,!1);et(l);continue}r.set(t.subarray(c,c+u),this.pos),this.pos+=u,this.length+=u,c+=u}return this}digestInto(t){ae(this),ge(t,this);let{pos:e,buffer32:r}=this;this.finished=!0,Ft(this.buffer.subarray(e)),et(r),this.compress(r,0,!0),et(r);let n=Wt(t);this.get().forEach((s,o)=>n[o]=Zr(s))}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let r=t.slice(0,e);return this.destroy(),r}_cloneInto(t){let{buffer:e,length:r,finished:n,destroyed:s,outputLen:o,pos:a}=this;return t||(t=new this.constructor({dkLen:o})),t.set(...this.get()),t.buffer.set(e),t.destroyed=s,t.finished=n,t.length=r,t.pos=a,t.outputLen=o,t}clone(){return this._cloneInto()}}});var ht,At,cn,er,rr;var un=v(()=>{rn();sn();an();Ie();ht={CHUNK_START:1,CHUNK_END:2,PARENT:4,ROOT:8,KEYED_HASH:16,DERIVE_KEY_CONTEXT:32,DERIVE_KEY_MATERIAL:64},At=en.slice(),cn=(()=>{let t=Array.from({length:16},(n,s)=>s),e=(n)=>[2,6,3,10,7,0,4,13,1,11,12,5,9,14,15,8].map((s)=>n[s]),r=[];for(let n=0,s=t;n<7;n++,s=e(s))r.push(...s);return Uint8Array.from(r)})();er=class er extends Ze{constructor(t={},e=0){super(64,t.dkLen===void 0?32:t.dkLen);this.chunkPos=0,this.chunksDone=0,this.flags=0,this.stack=[],this.posOut=0,this.bufferOut32=new Uint32Array(16),this.chunkOut=0,this.enableXOF=!0;let{key:r,context:n}=t,s=n!==void 0;if(r!==void 0){if(s)throw Error('Only "key" or "context" can be specified at same time');let o=Xt(r).slice();Tt(o,32),this.IV=Wt(o),et(this.IV),this.flags=e|ht.KEYED_HASH}else if(s){let o=Xt(n),a=new er({dkLen:32},ht.DERIVE_KEY_CONTEXT).update(o).digest();this.IV=Wt(a),et(this.IV),this.flags=e|ht.DERIVE_KEY_MATERIAL}else this.IV=At.slice(),this.flags=e;this.state=this.IV.slice(),this.bufferOut=$r(this.bufferOut32)}get(){return[]}set(){}b2Compress(t,e,r,n=0){let{state:s,pos:o}=this,{h:a,l:c}=Je(BigInt(t),!0),{v0:u,v1:f,v2:l,v3:d,v4:h,v5:y,v6:b,v7:m,v8:I,v9:x,v10:w,v11:C,v12:A,v13:k,v14:K,v15:X}=tr(cn,n,r,7,s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],At[0],At[1],At[2],At[3],a,c,o,e);s[0]=u^I,s[1]=f^x,s[2]=l^w,s[3]=d^C,s[4]=h^A,s[5]=y^k,s[6]=b^K,s[7]=m^X}compress(t,e=0,r=!1){let n=this.flags;if(!this.chunkPos)n|=ht.CHUNK_START;if(this.chunkPos===15||r)n|=ht.CHUNK_END;if(!r)this.pos=this.blockLen;if(this.b2Compress(this.chunksDone,n,t,e),this.chunkPos+=1,this.chunkPos===16||r){let s=this.state;this.state=this.IV.slice();for(let o,a=this.chunksDone+1;r||!(a&1);a>>=1){if(!(o=this.stack.pop()))break;this.buffer32.set(o,0),this.buffer32.set(s,8),this.pos=this.blockLen,this.b2Compress(0,this.flags|ht.PARENT,this.buffer32,0),s=this.state,this.state=this.IV.slice()}this.chunksDone++,this.chunkPos=0,this.stack.push(s)}this.pos=0}_cloneInto(t){t=super._cloneInto(t);let{IV:e,flags:r,state:n,chunkPos:s,posOut:o,chunkOut:a,stack:c,chunksDone:u}=this;return t.state.set(n.slice()),t.stack=c.map((f)=>Uint32Array.from(f)),t.IV.set(e),t.flags=r,t.chunkPos=s,t.chunksDone=u,t.posOut=o,t.chunkOut=a,t.enableXOF=this.enableXOF,t.bufferOut32.set(this.bufferOut32),t}destroy(){this.destroyed=!0,Ft(this.state,this.buffer32,this.IV,this.bufferOut32),Ft(...this.stack)}b2CompressOut(){let{state:t,pos:e,flags:r,buffer32:n,bufferOut32:s}=this,{h:o,l:a}=Je(BigInt(this.chunkOut++));et(n);let{v0:c,v1:u,v2:f,v3:l,v4:d,v5:h,v6:y,v7:b,v8:m,v9:I,v10:x,v11:w,v12:C,v13:A,v14:k,v15:K}=tr(cn,0,n,7,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],At[0],At[1],At[2],At[3],a,o,e,r);s[0]=c^m,s[1]=u^I,s[2]=f^x,s[3]=l^w,s[4]=d^C,s[5]=h^A,s[6]=y^k,s[7]=b^K,s[8]=t[0]^m,s[9]=t[1]^I,s[10]=t[2]^x,s[11]=t[3]^w,s[12]=t[4]^C,s[13]=t[5]^A,s[14]=t[6]^k,s[15]=t[7]^K,et(n),et(s),this.posOut=0}finish(){if(this.finished)return;this.finished=!0,Ft(this.buffer.subarray(this.pos));let t=this.flags|ht.ROOT;if(this.stack.length)t|=ht.PARENT,et(this.buffer32),this.compress(this.buffer32,0,!0),et(this.buffer32),this.chunksDone=0,this.pos=this.blockLen;else t|=(!this.chunkPos?ht.CHUNK_START:0)|ht.CHUNK_END;this.flags=t,this.b2CompressOut()}writeInto(t){ae(this,!1),Tt(t),this.finish();let{blockLen:e,bufferOut:r}=this;for(let n=0,s=t.length;n<s;){if(this.posOut>=e)this.b2CompressOut();let o=Math.min(e-this.posOut,s-n);t.set(r.subarray(this.posOut,this.posOut+o),n),this.posOut+=o,n+=o}return t}xofInto(t){if(!this.enableXOF)throw Error("XOF is not possible after digest call");return this.writeInto(t)}xof(t){return ie(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(ge(t,this),this.finished)throw Error("digest() was already called");return this.enableXOF=!1,this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}};rr=tn((t)=>new er(t))});function we(t,e){if(t.byteLength!==e.byteLength)return!1;let r=0;for(let n=0;n<t.byteLength;n++){let s=t[n],o=e[n];if(s===void 0||o===void 0)return!1;r|=s^o}return r===0}function it(t){return Array.from(t).map((r)=>r.toString(16).padStart(2,"0")).join("")}function Ae(t){if(t.length%2!==0)throw Error("Invalid hex string");let e=new Uint8Array(t.length/2);for(let r=0;r<t.length;r+=2)e[r/2]=Number.parseInt(t.substr(r,2),16);return e}function Ht(t,e){return we(t,e)}function fn(t){return nr(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function ln(t){let e=t.length%4===0?"":"=".repeat(4-t.length%4),r=t.replace(/-/g,"+").replace(/_/g,"/")+e;return sr(r)}function jt(t,e){let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r}var nr,sr;var ct=v(()=>{if(typeof Uint8Array.prototype.toBase64==="function")nr=(t)=>t.toBase64();else nr=(t)=>btoa(String.fromCharCode(...t));if(typeof Uint8Array.fromBase64==="function")sr=(t)=>Uint8Array.fromBase64(t);else sr=(t)=>Uint8Array.from(atob(t),(e)=>e.charCodeAt(0))});var Dt=64,L=32,pn=32,Gt=8,dn=32,yn=30000,hn=512,B,mn="t";var E=v(()=>{((S)=>{S[S.Success=0]="Success";S[S.InvalidSignature=3]="InvalidSignature";S[S.ClockOutOfSync=4]="ClockOutOfSync";S[S.UserNotRegistered=5]="UserNotRegistered";S[S.ServerMisconfigured=6]="ServerMisconfigured";S[S.MissingBody=7]="MissingBody";S[S.ExtraBodyContent=8]="ExtraBodyContent";S[S.MissingParam=9]="MissingParam";S[S.InvalidParam=10]="InvalidParam";S[S.InvalidRequest=11]="InvalidRequest";S[S.InternalError=12]="InternalError";S[S.NotFound=13]="NotFound";S[S.InvalidMessage=14]="InvalidMessage";S[S.NoChange=15]="NoChange";S[S.DatabaseClosed=16]="DatabaseClosed";S[S.StorageError=17]="StorageError";S[S.DatabaseError=18]="DatabaseError";S[S.HashMismatch=19]="HashMismatch";S[S.DecryptionError=20]="DecryptionError";S[S.NotImplemented=21]="NotImplemented";S[S.MissingSeed=22]="MissingSeed";S[S.OutOfBounds=23]="OutOfBounds";S[S.HostError=24]="HostError";S[S.CommunicationError=25]="CommunicationError";S[S.VarLimitExceeded=26]="VarLimitExceeded";S[S.InvalidResponse=27]="InvalidResponse";S[S.ConnectionClosed=28]="ConnectionClosed";S[S.CryptoError=29]="CryptoError";S[S.WebAuthnError=30]="WebAuthnError"})(B||={})});function p(t){return[t,0]}function i(t){return[void 0,t]}var U=v(()=>{E()});function bn(t){if(t.byteLength!==ro)return i(10);return p(t)}function gn(t){let e=0n;for(let r=t.length-1;r>=0;r--)e=e<<8n|BigInt(t[r]);return e}function so(t){let e=new Uint8Array(32),r=(t%R+R)%R;for(let n=0;n<32;n++)e[n]=Number(r&0xffn),r>>=8n;return e}function oo(t){let e=t.slice();return e[31]&=127,gn(e)}function io(t){let e=t.slice();return e[0]&=248,e[31]&=127,e[31]|=64,e}function Pe(t,e,r){let n=-t,s=(e^r)&n;return[e^s,r^s]}function ao(t){let e=R-2n,r=(t%R+R)%R,n=1n;while(e>0n){if(e&1n)n=n*r%R;r=r*r%R,e>>=1n}return n}function or(t,e){let r=io(t),n=oo(e),s=1n,o=0n,a=n,c=1n,u=0n,f=gn(r);for(let l=254;l>=0;l--){let d=f>>BigInt(l)&1n;u^=d,[s,a]=Pe(u,s,a),[o,c]=Pe(u,o,c),u=d;let h=(s+o)%R,y=h*h%R,b=(s-o+R)%R,m=b*b%R,I=(y-m+R)%R,x=(a+c)%R,C=(a-c+R)%R*h%R,A=x*b%R,k=(C+A)%R,K=(C-A+R)%R;a=k*k%R,c=n*K*K%R,s=y*m%R,o=I*(y+no*I)%R}return[s,a]=Pe(u,s,a),[o,c]=Pe(u,o,c),r.fill(0),so(s*ao(o)%R)}function In(t){return or(t,Sn)}var ro=32,Hi,R,no=121665n,Sn;var xn=v(()=>{E();U();Hi=Symbol("X25519Sk");R=(1n<<255n)-19n,Sn=new Uint8Array(32);Sn[0]=9});function wn(t){let e=new Uint8Array(ir.length+32);return e.set(ir),e.set(t.subarray(0,32),ir.length),e}function An(t){let e=new Uint8Array(ar.length+32);return e.set(ar),e.set(t.subarray(0,32),ar.length),e}function Pn(t){return typeof t==="string"?new TextEncoder().encode(t):t}function Pt(t){let e=new ArrayBuffer(t.byteLength);return new Uint8Array(e).set(t),e}async function co(t){return oe(t)}async function cr(){return oe(32)}async function Yt(t,e){let r=oe(24),s=$e(e,r).encrypt(t);return new Uint8Array([...r,...s])}async function Mt(t,e){let r=t.slice(0,24),n=t.slice(24);return $e(e,r).decrypt(n)}async function Be(t){let e=t,r=wn(e),n=Pt(r),s;try{let f=await globalThis.crypto.subtle.importKey("pkcs8",n,{name:"Ed25519"},!0,["sign"]);s=await globalThis.crypto.subtle.exportKey("jwk",f)}finally{r.fill(0),new Uint8Array(n).fill(0)}if(typeof s.x!=="string")throw Error("Ed25519 JWK missing x");let o=s.x;s.d=void 0;let a=await globalThis.crypto.subtle.importKey("jwk",{kty:"OKP",crv:"Ed25519",x:o},{name:"Ed25519"},!0,["verify"]),c=new Uint8Array(await globalThis.crypto.subtle.exportKey("raw",a)),u=new Uint8Array(64);return u.set(e,0),u.set(c,32),{keyType:"ed25519",privateKey:u,publicKey:c}}async function uo(t){let e=t.subarray(0,32),r=wn(e),n=Pt(r);try{return await globalThis.crypto.subtle.importKey("pkcs8",n,{name:"Ed25519"},!1,["sign"])}finally{r.fill(0),new Uint8Array(n).fill(0)}}async function fo(t){return await globalThis.crypto.subtle.importKey("raw",Pt(t),{name:"Ed25519"},!1,["verify"])}async function ur(t,e){let r=Pn(t),n=await uo(e),s=await globalThis.crypto.subtle.sign({name:"Ed25519"},n,Pt(r));return new Uint8Array(s)}async function lo(t,e,r){let n=Pn(e);try{return await globalThis.crypto.subtle.verify({name:"Ed25519"},r,Pt(t),Pt(n))}catch{return!1}}async function fe(t,e){if(e===void 0)return rr(t);return rr(t,e)}async function fr(){let t=await oe(32);t[0]&=248,t[31]&=127,t[31]|=64;let[e,r]=bn(t);if(r!==0||e===void 0)throw t.fill(0),Error("X25519 scalar brand failed");let n=In(e),s=An(e),o=Pt(s);try{let a=await globalThis.crypto.subtle.importKey("pkcs8",o,{name:"X25519"},!0,["deriveBits"]),c=await globalThis.crypto.subtle.exportKey("jwk",a);if(typeof c.x!=="string")throw Error("X25519 JWK missing x");let u=ln(c.x);if(c.d=void 0,!Ht(u,n))throw Error("X25519 WebCrypto pub != RFC 7748");return{priv:e,pub:n}}catch(a){throw e.fill(0),a}finally{s.fill(0),new Uint8Array(o).fill(0)}}async function Bn(t,e){let r=An(t),n=Pt(r);try{let s=await globalThis.crypto.subtle.importKey("pkcs8",n,{name:"X25519"},!1,["deriveBits"]),o=await globalThis.crypto.subtle.importKey("raw",Pt(e),{name:"X25519"},!1,[]),a=await globalThis.crypto.subtle.deriveBits({name:"X25519",public:o},s,256);return new Uint8Array(a)}catch{return or(t,e)}finally{r.fill(0),new Uint8Array(n).fill(0)}}function po(t){return Object.freeze(t),t}var ir,ar,En;var zt=v(()=>{Nr();zr();un();ct();E();xn();ir=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,112,4,34,4,32]);ar=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]);En=po({genRandomBytes:co,gen256BitSecureRandomSeed:cr,encryptXSalsa20Poly1305Combined:Yt,decryptXSalsa20Poly1305Combined:Mt,deriveEd25519KeyPair:Be,signEd25519:ur,importVerifyKey:fo,checkSigEd25519:lo,blake3:fe})});function yo(t){if(t<0)console.info("N",t),console.trace();if(typeof t!=="bigint")t=BigInt(t);if(t<0n)return i(10);let e=[];while(t>0n){let r=Number(t&0x7fn);if(t>>=7n,t>0n)e.push(r|128);else e.push(r)}if(e.length===0)return p(new Uint8Array([0]));if(e.length>8)return i(26);return p(new Uint8Array(e))}function ho(t,e=0){let r=0n,n=0,s=e;while(!0){if(s>=t.length)return i(14);let o=t[s++];if(o===void 0)return i(14);if(r|=BigInt(o&127)<<BigInt(n),(o&128)===0){if(s-e>8)return i(26);return p({value:r>0x1fffffffffffffn?r:Number(r),bytesRead:s-e})}if(n+=7,n>=56)return i(26)}}class Y{data;pos=0;constructor(t){this.data=t}static async fromResponse(t){let e=await t.arrayBuffer(),r=new Uint8Array(e);return new Y(r)}readBigInt(){if(this.pos+8>this.data.length)return i(7);let t=new DataView(this.data.buffer,this.data.byteOffset+this.pos).getBigUint64(0,!1);return this.pos+=8,p(t)}readDate(){let[t,e]=this.readVarInt();if(e!==0)return i(e);return p(new Date(t))}readVarInt(){let[t,e]=ho(this.data,this.pos);if(e!==0)return i(e);this.pos+=t.bytesRead;let r=t.value;return p(typeof r==="bigint"?Number(r):r)}readVarString(){let[t,e]=this.readVarInt();if(e!==0)return i(e);let[r,n]=this.readBytes(t);if(n!==0)return i(n);let s=new TextDecoder().decode(r);return p(s)}readVarStrings(){let[t,e]=this.readVarInt();if(e!==0)return i(e);if(t<0||t>this.remaining())return i(14);let r=[];for(let n=0;n<t;n++){let[s,o]=this.readVarString();if(o!==0)return i(o);r.push(s)}return p(r)}readBytes(t){if(t<0)return i(10);if(this.pos+t>this.data.length)return i(23);let e=this.data.slice(this.pos,this.pos+t);return this.pos+=t,p(e)}readVarBytes(){let[t,e]=this.readVarInt();if(e!==0)return i(e);return this.readBytes(t)}readStruct(t){return t.decode(this)}readStructs(t){let e=[];while(!this.done()){let[r,n]=this.readStruct(t);if(n!==0)return i(n);e.push(r)}return p(e)}readBytesSeq(t){let e=[];while(!this.done()){let[r,n]=this.readBytes(t);if(n!==0)return i(n);e.push(r)}return p(e)}done(){return this.pos>=this.data.length}remaining(){return this.data.length-this.pos}readRest(){let t=this.data.subarray(this.pos);return this.pos=this.data.length,t}consumed(){return this.pos}}class T{parts=[];writeBigInt(t){let e=new Uint8Array(8);new DataView(e.buffer).setBigUint64(0,t,!1),this.parts.push(e)}writeDate(t){let e=t.getTime();return this.writeVarInt(e)}writeVarInt(t){let[e,r]=yo(t);if(r!==0)return r;return this.parts.push(e),0}writeVarString(t){let e=new TextEncoder().encode(t),r=this.writeVarInt(e.length);if(r!==0)return r;return this.writeBytes(e),0}writeVarStrings(t){let e=this.writeVarInt(t.length);if(e!==0)return e;for(let r of t){let n=this.writeVarString(r);if(n!==0)return n}return 0}prependBytes(t){this.parts.unshift(t.slice())}writeBytes(t){this.parts.push(t.slice())}writeVarBytes(t){let e=this.writeVarInt(t.length);if(e!==0)return e;return this.writeBytes(t),0}writeStruct(t,e){return t.encode(this,e)}writeStructs(t,e){for(let r of e){let n=this.writeStruct(t,r);if(n!==0)return n}return 0}writeBytesSeq(t){for(let e of t)this.writeBytes(e)}result(){let t=this.parts.reduce((n,s)=>n+s.length,0),e=new Uint8Array(t),r=0;for(let n of this.parts)e.set(n,r),r+=n.length;return e}wipe(){for(let t of this.parts)t.fill(0);this.parts.length=0}*scan(){for(let t of this.parts)yield t}}var J=v(()=>{U();E()});function Rn(t,e){return t.label===e.label&&t.index===e.index}var Tn;var dr=v(()=>{E();U();Tn={encode(t,e){let r=t.writeVarString(e.label);if(r!==0)return r;let n=t.writeVarInt(e.index);if(n!==0)return n;return 0},decode(t){let[e,r]=t.readVarString();if(r!==0)return i(r);let[n,s]=t.readVarInt();if(s!==0)return i(s);return p({label:e,index:n})}}});function mo(t,e){return t}function Hn(t){return t}function bo(t,e){if(t.byteLength!==L)return i(10);return p(Hn(t))}function Et(t){return bo(t,rt.HostRLM)}function So(t){if(t instanceof Uint8Array)return p(t);let e=new T,r=Tn.encode(e,t);if(r!==0)return i(r);return p(e.result())}async function Dn(t,e){try{return p(await fe(t,e))}catch{return i(29)}}async function go({parent:t,purpose:e}){let[r,n]=await Dn(t,{context:e});if(n!==0)return i(n);return p(mo(r,e))}async function Io({pdk:t,kdm:e}){let[r,n]=So(e);if(n!==0)return i(n);let[s,o]=await Dn(r,{key:t});if(o!==0)return i(o);return p(Hn(s))}async function ot({parent:t,purpose:e,kdm:r}){let[n,s]=await go({parent:t,purpose:e});if(s!==0)return i(s);try{return await Io({pdk:n,kdm:r})}finally{n.fill(0)}}var rt,Da,Ma,nt;var ut=v(()=>{J();dr();E();U();zt();rt={Identity:"diplomatic.identity.v1",Cipher:"diplomatic.cipher.v1",Bind:"diplomatic.bind.v1",BindTag:"diplomatic.bindtag.v1",Fingerprint:"diplomatic.fingerprint.v1",Pair:"diplomatic.qrpair.v1",BagKdm:"diplomatic.bagkdm.v1",RealmKey:"diplomatic.realmKey.v1",RealmID:"diplomatic.realmID.v1",HostRLM:"diplomatic.hostRLM.v1"},Da=Symbol("PurposeDerivedKey"),Ma=Symbol("ChildKey"),nt=Object.freeze({label:"",index:0})});var ke;var wr=v(()=>{E();U();ke={encode(t,e){let r=t.writeVarString(e.handle);if(r!==0)return r;let n=t.writeVarString(e.label);if(n!==0)return n;return t.writeVarInt(e.idx??0)},decode(t){let[e,r]=t.readVarString();if(r!==0)return i(r);let[n,s]=t.readVarString();if(s!==0)return i(s);let[o,a]=t.readVarInt();if(a!==0)return i(a);return p({handle:e,label:n,idx:o})}}});var Ar;var jn=v(()=>{E();U();wr();wr();Ar={encode(t,e){let r=t.writeVarInt(e.hosts.length);if(r!==0)return r;for(let n of e.hosts){let s=t.writeStruct(ke,n);if(s!==0)return s}return 0},decode(t){let[e,r]=t.readVarInt();if(r!==0)return i(r);if(e===void 0||e<0)return i(10);let n=[];for(let s=0;s<e;s++){let[o,a]=t.readStruct(ke);if(a!==0)return i(a);if(o===void 0)return i(14);n.push(o)}return p({hosts:n})}}});function ve(t){if(t.byteLength!==Gn)return i(10);return p(t)}var ku,vu,ft=32,Gn;var Ke=v(()=>{E();U();ku=Symbol("MasterSeed"),vu=Symbol("SealedMasterKey"),Gn=24+ft+16});function Yn(t){if(t.byteLength!==te)return i(10);return p(t)}function zn(t){if(t.byteLength<Po)return i(10);return p(t)}async function $n(t,e,r,n){if(e.byteLength!==te)return i(10);let s;try{s=await Bn(t,e)}catch{return i(29)}try{if(s.byteLength!==te||s.every((a)=>a===0))return i(10);let o=jt(r,n);try{let[a,c]=await ot({parent:s,purpose:rt.Pair,kdm:o});if(c!==0)return i(c);return p(a)}finally{o.fill(0)}}finally{s.fill(0)}}async function Qn(t){let e;try{e=await fr()}catch{return i(29)}try{let[r,n]=await $n(e.priv,t,t,e.pub);if(n!==0)return i(n);return p({key:r,pub:e.pub})}finally{e.priv.fill(0)}}function Jn(t){for(let e of Object.getOwnPropertyNames(t)){if(Bo.has(e))continue;let r=Object.getOwnPropertyDescriptor(t,e);if(r===void 0||typeof r.value!=="function")continue;Object.defineProperty(t,e,{value:r.value,writable:!1,configurable:!1})}}class ee{#t;#e;constructor(t,e){this.#t=t,this.#e=e}static async create(){let t;try{let e=await fr();t=e.priv;let[r,n]=Yn(e.pub);if(n!==0)return i(n);let s=new ee(t,r);return t=void 0,p(s)}catch{return i(29)}finally{t?.fill(0)}}wipe(){this.#t.fill(0)}dhkeReq(){let t=this.#e.slice(),[e,r]=Yn(t);if(r!==0)return i(r);return p(e)}async finish(t){let e=t.subarray(0,te),r=t.subarray(te),[n,s]=await $n(this.#t,e,this.#e,e);if(s!==0)return i(s);let o;try{try{o=await Mt(r,n)}catch{return i(20)}let{fromSeedHosts:a}=await Promise.resolve().then(() => (Pr(),ts)),c=a(o);if(c[1]===0)this.wipe();return c}finally{n.fill(0),o?.fill(0)}}}var te=32,Po,Lu,Vu,Bo;var Zn=v(()=>{ct();E();U();ut();zt();Po=te+24+16,Lu=Symbol("DHKEReq"),Vu=Symbol("DHKEResp");Bo=new Set(["constructor","prototype","length","name"]);Jn(ee);Jn(ee.prototype)});function mt(t){let e=new Uint8Array(t);if(t>0)crypto.getRandomValues(e);return e}function ko(t){return t.trim().toLowerCase().replace(/\.$/,"")||"localhost"}function bt(t){let e=new Uint8Array(t.byteLength);return e.set(t),e.buffer}function He(t){if(t instanceof ArrayBuffer)return new Uint8Array(t).slice();return new Uint8Array(t.buffer,t.byteOffset,t.byteLength).slice()}function Ut(t){if(t?.rpId!==void 0)return p(t.rpId);if(typeof location>"u")return i(9);return p(ko(location.hostname))}function pt(t){if(t instanceof Error){es=t.message===""?t.name:`${t.name}: ${t.message}`;return}es=String(t)}function De(t){if(!(t instanceof Error))return!1;return t.name==="NotAllowedError"&&t.message.toLowerCase().includes("does not have focus")}function rs(){if(typeof document>"u")return!0;return document.visibilityState!=="hidden"}function re(){if(typeof globalThis.focus!=="function")return;try{globalThis.focus()}catch{}}function Me(t=2500){if(rs())return re(),Promise.resolve();return new Promise((e)=>{let r=()=>{clearTimeout(s),document.removeEventListener("visibilitychange",n),re(),e()},n=()=>{if(rs())r()},s=setTimeout(r,t);document.addEventListener("visibilitychange",n),n()})}async function Le(t){await Me();try{return await navigator.credentials.create(t)}catch(e){if(!De(e))throw e;return re(),await navigator.credentials.create(t)}}async function Ve(t){await Me();try{return await navigator.credentials.get(t)}catch(e){if(!De(e))throw e;return re(),await navigator.credentials.get(t)}}function kt(){if(typeof navigator>"u"||!navigator.credentials||typeof PublicKeyCredential>"u")return 24;return 0}function vt(t){if(t===null||t.type!==lt||!("rawId"in t)||typeof t.getClientExtensionResults!=="function")return i(27);return p(t)}function Er(t){if(t==="platform"||t==="cross-platform")return t;return}function Cr(t){let e=t.response;if(!("getTransports"in e))return;let r=e.getTransports;if(typeof r!=="function")return;let n=r.call(e);if(!Array.isArray(n))return;let s=[];for(let o of n)if(typeof o==="string"&&o.length>0)s.push(o);return s.length===0?void 0:s}function ss(t){let e=t.response;if(!("getAuthenticatorData"in e))return;let r=e.getAuthenticatorData;if(typeof r!=="function")return;let n=r.call(e);if(!(n instanceof ArrayBuffer))return;let s=new Uint8Array(n);if(s.byteLength<Br+ns)return;let o=s[vo];if(o===void 0||(o&Ko)===0)return;return s.slice(Br,Br+ns)}var Ct=32,Re="DIPLOMATIC",lt="public-key",Eo=-7,Co=-8,Uo=-257,Te,es="",vo=32,Ko=64,Br=37,ns=16;var de=v(()=>{E();U();Te=[{type:lt,alg:Eo},{type:lt,alg:Co},{type:lt,alg:Uo}]});async function os(t){let e=kt();if(e!==0)return i(e);let[r,n]=Ut(t);if(n!==0)return i(n);if(r===void 0)return i(9);let s=t?.userName??t?.rpName??r,o={residentKey:"required",requireResidentKey:!0,userVerification:"required"};if(t?.authenticatorAttachment!==void 0)o.authenticatorAttachment=t.authenticatorAttachment;let a={largeBlob:{support:"required"}},c;try{c=await Le({publicKey:{challenge:mt(Ct),rp:{id:r,name:t?.rpName??Re},user:{id:mt(16),name:s,displayName:s},pubKeyCredParams:Te,authenticatorSelection:o,extensions:a,...t?.hints!==void 0?{hints:t.hints}:{}}})}catch(d){return pt(d),i(30)}let[u,f]=vt(c);if(f!==0)return i(f);if(u===void 0)return i(27);if(u.getClientExtensionResults().largeBlob?.supported!==!0)return i(30);return p(new Uint8Array(u.rawId))}async function Ur(t,e,r,n){let s={challenge:mt(Ct),rpId:t,userVerification:"preferred"};if(e?.hints!==void 0)s.hints=e.hints;if(r!==void 0)s.allowCredentials=[{type:lt,id:bt(r)}];if(n!==void 0)s.extensions=n;let o;try{o=await Ve({publicKey:s})}catch(u){return pt(u),i(30)}let[a,c]=vt(o);if(c!==0)return i(c);if(a===void 0)return i(27);return p(a)}async function is(t,e){let r=kt();if(r!==0)return i(r);let[n,s]=Ut(e);if(s!==0)return i(s);if(n===void 0)return i(9);let o=t;if(o===void 0){let[d,h]=await Ur(n,e);if(h!==0&&e?.hints!==void 0)[d,h]=await Ur(n,{rpId:e.rpId,rpName:e.rpName});if(h!==0)return i(h);if(d===void 0)return i(27);o=new Uint8Array(d.rawId)}let[a,c]=await Ur(n,e,o,{largeBlob:{read:!0}});if(c!==0)return i(c);if(a===void 0)return i(27);let f=a.getClientExtensionResults().largeBlob;if(f===void 0||f.blob===void 0)return i(7);let l=He(f.blob);if(l.byteLength===0)return i(7);return p({blob:l,credId:new Uint8Array(a.rawId)})}var kr=v(()=>{E();U();de()});var Oe="";function To(){if(typeof Oe!=="string"||Oe.length===0)throw Error("[DIPLOMATIC] worker source not embedded; run pkg build before spawn");return atob(Oe)}function Ho(){if(_e!==void 0)return _e;let t=new Blob([To()],{type:"text/javascript"});return _e=URL.createObjectURL(t),_e}function as(){if(Ne===void 0)throw Error("[DIPLOMATIC] Worker API unavailable; cannot spawn sync worker");return new Ne(Ho(),{type:"module"})}function cs(t,e,r){if(vr===void 0)throw Error("[DIPLOMATIC] Worker API unavailable; cannot post to sync worker");if(r!==void 0&&r.length>0)vr.call(t,e,{transfer:r});else vr.call(t,e)}var Ne,vr,_e;var us=v(()=>{Ne=typeof globalThis.Worker==="function"?globalThis.Worker:void 0,vr=Ne===void 0?void 0:Ne.prototype.postMessage});async function fs(t){if(t?.credId!==void 0)return p(t.credId);return os(t)}async function Kr(t,e,r){let n=kt();if(n!==0)return n;let[s,o]=Ut(r);if(o!==0)return o;if(s===void 0)return 9;await Me();let a=new Uint8Array(e.byteLength);a.set(e);let c={largeBlob:{write:a.buffer}},u={publicKey:{challenge:mt(Ct),rpId:s,allowCredentials:[{type:lt,id:bt(t)}],userVerification:"required",extensions:c,...r?.hints!==void 0?{hints:r.hints}:{}}},f;try{try{f=await navigator.credentials.get(u)}catch(y){if(!De(y))return pt(y),30;re();try{f=await navigator.credentials.get(u)}catch(b){return pt(b),30}}}catch(y){return pt(y),30}finally{a.fill(0)}let[l,d]=vt(f);if(d!==0)return d;if(l===void 0)return 27;if(l.getClientExtensionResults().largeBlob?.written!==!0)return 30;return 0}function ls(t,e){return Kr(t,new Uint8Array(ft),e)}var ps=v(()=>{E();Ke();U();de();kr()});var Rr,Tr="diplomatic-prf";var ds=v(()=>{de();Rr=new TextEncoder().encode("diplomatic.prf.v1")});function Do(t){if(t===void 0)return[];if(t instanceof Uint8Array)return[t];return t.filter((e)=>e.byteLength>0)}function Mo(t){if(!(t instanceof Error))return!1;return t.name==="NotSupportedError"||t.name==="TypeError"}function ys(t){if(t===void 0)return;let e=He(t);if(e.byteLength<Hr){e.fill(0);return}if(e.byteLength===Hr)return e;let r=e.slice(0,Hr);return e.fill(0),r}async function Lo(t){let e=kt();if(e!==0)return i(e);let[r,n]=Ut(t);if(n!==0)return i(n);let s=t?.userName??Tr,o=t?.displayName??s,a=mt(16),c=t?.authenticatorAttachment==="cross-platform",u={residentKey:c?"discouraged":"required",requireResidentKey:!c,userVerification:c?"preferred":"required"};if(t?.authenticatorAttachment!==void 0)u.authenticatorAttachment=t.authenticatorAttachment;let f={challenge:mt(Ct),rp:{id:r,name:t?.rpName??Re},user:{id:a,name:s,displayName:o},pubKeyCredParams:Te,authenticatorSelection:u,...t?.hints!==void 0?{hints:t.hints}:{},...t?.excludeCredentials!==void 0&&t.excludeCredentials.length>0?{excludeCredentials:t.excludeCredentials.map((w)=>({type:lt,id:bt(w)}))}:{}},l=t?.salt!==void 0?bt(t.salt):void 0,d=(w)=>Le({publicKey:{...f,extensions:w&&l!==void 0?{prf:{eval:{first:l}}}:{prf:{}}}}),h;try{h=await d(l!==void 0)}catch(w){if(l===void 0||!Mo(w))return pt(w),i(30);try{h=await d(!1)}catch(C){return pt(C),i(30)}}let[y,b]=vt(h);if(b!==0)return i(b);let m=y.getClientExtensionResults(),I=ys(m.prf?.results?.first),x=m.prf?.enabled===!0||I!==void 0;if(c&&I!==void 0)I.fill(0);return p({credId:new Uint8Array(y.rawId),userId:new Uint8Array(a),prfEnabled:x,prf:c?void 0:I,attachment:Er(y.authenticatorAttachment),transports:Cr(y),aaguid:ss(y)})}async function hs(t){let e=kt();if(e!==0)return i(e);let[r,n]=Ut(t);if(n!==0)return i(n);let s=t?.salt??Rr,a={eval:{first:bt(s)}},c=t?.salts;if(c!==void 0&&c.length>0){let m={};for(let I of c){if(I.credId.byteLength===0)continue;m[fn(I.credId)]={first:bt(I.salt)}}a.evalByCredential=m}let u={challenge:mt(Ct),rpId:r,userVerification:"preferred",extensions:{prf:a}};if(t?.hints!==void 0)u.hints=t.hints;let f=Do(t?.credId);if(f.length>0)u.allowCredentials=f.map((m)=>({type:lt,id:bt(m)}));let l;try{l=await Ve({publicKey:u})}catch(m){return pt(m),i(30)}let[d,h]=vt(l);if(h!==0)return i(h);let y=d.getClientExtensionResults().prf?.results;if(y?.first===void 0)return i(7);let b=ys(y.first);if(b===void 0)return i(27);return p({prf:b,credId:new Uint8Array(d.rawId),attachment:Er(d.authenticatorAttachment),transports:Cr(d)})}async function ms(t){let e=t?.salt??Rr,r=t?.credId,n=r,s=t?.createCredIfNeeded===!0&&(r===void 0||!(r instanceof Uint8Array)&&r.length===0),o,a;if(s){let[l,d]=await Lo({rpId:t?.rpId,rpName:t?.rpName,userName:t?.userName??Tr,displayName:t?.displayName,authenticatorAttachment:t?.authenticatorAttachment,hints:t?.hints,excludeCredentials:t?.excludeCredentials,salt:e});if(d!==0)return i(d);if(!l.prfEnabled)return i(30);n=l.credId,o=l,a=l.prf}let c=(l,d,h,y)=>p({prf:l,salt:e.slice(),credId:d.slice(),userId:o?.userId===void 0?void 0:o.userId.slice(),attachment:h??o?.attachment,transports:y??o?.transports,aaguid:o?.aaguid===void 0?void 0:o.aaguid.slice()});if(a!==void 0&&o!==void 0)return c(a,o.credId,o.attachment,o.transports);let[u,f]=await hs({rpId:t?.rpId,rpName:t?.rpName,credId:n,salt:e,hints:t?.hints});if(f!==0)return i(f);return c(u.prf,u.credId,u.attachment,u.transports)}async function bs(t,e){let r=[],n=[],s=!1;for(let f of t){if(f.credId.byteLength===0)continue;r.push(f.credId);let l=f.salt??e.salt;if(!Ht(l,e.salt))s=!0;n.push({credId:f.credId,salt:l})}let[o,a]=await hs({rpId:e.rpId,rpName:e.rpName,hints:e.hints,credId:r.length>0?r:void 0,salt:e.salt,salts:s?n:void 0});if(a!==0)return i(a);let c=t.find((f)=>Ht(f.credId,o.credId)),u=c===void 0?t:[c,...t.filter((f)=>f!==c)];return p({prf:o.prf,credId:o.credId.slice(),order:u})}var Hr=32;var Ss=v(()=>{ct();E();U();de();ds()});async function gs(t,e){return ot({parent:t,purpose:rt.RealmKey,kdm:e})}async function Is(t,e){return ot({parent:t,purpose:rt.RealmID,kdm:e})}async function xs(t,e){return ot({parent:t,purpose:rt.HostRLM,kdm:e})}var ws=v(()=>{ut()});function As(t){return t}class ne{publicKey;idnt;realm;rlm;idKDM;realmKDM;constructor(t,e,r,n,s,o){this.publicKey=t;this.idnt=e;this.realm=r;this.rlm=n;this.idKDM=s;this.realmKDM=o}static async init(t,e,r,n,s){try{let o=await Be(As(t)),a=o.publicKey;o.privateKey.fill(0);let c=Object.freeze({...n}),u=Object.freeze({...s}),f=new ne(a,t,e,r,c,u);return p(f)}catch{return t.fill(0),e.fill(0),r.fill(0),i(29)}}async sign(t){let e;try{e=await Be(As(this.idnt))}catch{return i(29)}try{return p(await ur(t,e.privateKey))}catch{return i(29)}finally{e.privateKey.fill(0)}}async bagKDM(t){let[e,r]=await ot({parent:this.idnt,purpose:rt.BagKdm,kdm:t});if(r!==0)return i(r);try{return p(e.slice(0,Gt))}finally{e.fill(0)}}async encrypt(t,e){let[r,n]=await this.#t(t.slice());if(n!==0)return i(n);try{return p(await Yt(e,r))}catch{return i(29)}finally{r.fill(0)}}async decrypt(t,e){let[r,n]=await this.#t(t.slice());if(n!==0)return i(n);try{return p(await Mt(e,r))}catch{return i(20)}finally{r.fill(0)}}async#t(t){return ot({parent:this.realm,purpose:rt.Cipher,kdm:t})}}function Ps(t){for(let e of Object.getOwnPropertyNames(t)){if(Vo.has(e))continue;let r=Object.getOwnPropertyDescriptor(t,e);if(r===void 0||typeof r.value!=="function")continue;Object.defineProperty(t,e,{value:r.value,writable:!1,configurable:!1})}}var Vo;var Bs=v(()=>{E();U();ut();zt();Vo=new Set(["constructor","prototype","length","name"]);Ps(ne);Ps(ne.prototype)});var ts={};_s(ts,{Enclave:()=>dt,MUSEC_MIN_LEN:()=>Cs,asMasterSeed:()=>qe,fromSeedHosts:()=>Us});function Us(t){if(t.byteLength===0||t.every((c)=>c===0))return i(22);if(t.byteLength<ft+1)return i(14);let e=t.subarray(0,ft);if(e.every((c)=>c===0))return i(22);let r=new Y(t.subarray(ft)),[n,s]=r.readStruct(Ar);if(s!==0)return i(s);if(n===void 0)return i(14);if(!r.done())return i(14);let[o,a]=dt.fromBytes(e);if(a!==0)return i(a);return p({enclave:o,hosts:n.hosts.map((c)=>({...c}))})}function qe(t){if(t.byteLength!==ft)return i(10);return[t,0]}async function Es(t){if(t.byteLength<_o)return i(10);let e=rt.Bind;return ot({parent:t,purpose:e,kdm:nt})}class Kt{#t;constructor(t){this.#t=t}static async mix(t){let e,r,n;try{if(t.byteLength<Cs)return i(10);e=await cr(),r=new Uint8Array(e.byteLength+t.byteLength),r.set(e,0),r.set(t,e.byteLength),n=await fe(r);let[s,o]=qe(n);if(o!==0)return i(o);let a=new Kt(s);return n=void 0,p(a)}finally{e?.fill(0),r?.fill(0),t.fill(0),n?.fill(0)}}static importSeed(t){let[e,r]=qe(t);if(r!==0)return i(r);let[n,s]=qe(e.slice());if(s!==0)return i(s);return p(new Kt(n))}static async unseal(t,e){let[,r]=ve(t);if(r!==0)return i(r);let[n,s]=await Es(e);if(s!==0)return i(s);let o;try{try{o=await Mt(t,n)}catch{return i(20)}return Kt.importSeed(o)}finally{n.fill(0),o?.fill(0)}}async idnt(t){let e=rt.Identity;return ot({parent:this.#t,purpose:e,kdm:t})}async realmKey(t){return gs(this.#t,t)}async realmID(t){return Is(this.#t,t)}async fingerprint(t){let e=rt.Fingerprint;return await ot({parent:this.#t,purpose:e,kdm:t})}async bindTag(t){let e=rt.BindTag;return await ot({parent:this.#t,purpose:e,kdm:t})}async seal(t){let[e,r]=await Es(t);if(r!==0)return i(r);try{let n=await Yt(this.#t,e);return ve(n)}catch{return i(12)}finally{e.fill(0)}}async sealSeedHosts(t,e){let[r,n]=this.#e(e);if(n!==0)return i(n);try{return p(await Yt(r,t))}catch{return i(12)}finally{r.fill(0)}}#e(t){let e=new T,r=e.writeStruct(Ar,{hosts:t.map((o)=>({handle:o.handle,label:o.label,idx:o.idx??0}))});if(r!==0)return i(r);let n=e.result(),s=new Uint8Array(ft+n.byteLength);return s.set(this.#t,0),s.set(n,ft),[s,0]}async persistToLargeBlob(t,e){let[r,n]=await fs(e);if(n!==0)return i(n);let[s,o]=this.#e(t);if(o!==0)return i(o);try{let a=await Kr(r,s,e);if(a!==0)return i(a);return p(r)}finally{s.fill(0)}}async dumpToTTY(){return 21}copyForWorker(){return this.#t.slice()}}class dt{#t;constructor(t){this.#t=t}static async fromRandom(t){try{let[e,r]=await Kt.mix(t);if(r!==0)return i(r);return p(new dt(e))}finally{t.fill(0)}}static fromBytes(t){let[e,r]=Kt.importSeed(t);if(r!==0)return i(r);return p(new dt(e))}async sealWithPasskey(t){let[e,r]=await ms(t);if(r!==0)return i(r);try{let[n,s]=await this.#t.seal(e.prf);if(s!==0)return i(s);return p({sealedMaster:n,salt:e.salt,credId:e.credId,userId:e.userId,attachment:e.attachment,transports:e.transports,aaguid:e.aaguid})}finally{e.prf.fill(0)}}async bind(t,e){if(e!==void 0)for(let a of e){if(a.tag.byteLength!==Oo)return i(10);let[c,u]=await this.#t.bindTag(a.credId);if(u!==0)return i(u);try{if(!we(c,a.tag))return i(10)}finally{c.fill(0)}}let[r,n]=await this.sealWithPasskey(t);if(n!==0)return i(n);let[s,o]=await this.#t.bindTag(r.credId);if(o!==0)return i(o);return p({...r,tag:s})}static async unsealWithPasskey(t,e){if(t.length===0)return i(22);let[r,n]=await bs(t,e);if(n!==0)return i(n);try{for(let s of r.order){let[o,a]=await Kt.unseal(s.sealedMaster,r.prf);if(a===0)return p({enclave:new dt(o),credId:r.credId})}return i(20)}finally{r.prf.fill(0)}}async sealWithIKM(t){try{return await this.#t.seal(t)}finally{t.fill(0)}}static async unsealWithIKM(t,e){try{let[r,n]=await Kt.unseal(t,e);if(n!==0)return i(n);return p(new dt(r))}finally{e.fill(0)}}async persistToLargeBlob(t=[],e){return this.#t.persistToLargeBlob(t,e)}static async fromLargeBlob(t){let[e,r]=await is(t?.credId,t);if(r!==0)return i(r);try{let[n,s]=Us(e.blob);if(s!==0)return i(s);return p({...n,credId:e.credId})}finally{e.blob.fill(0)}}static clearLargeBlob(t,e){return ls(t,e)}async dumpToTTY(){return this.#t.dumpToTTY()}static pairRequest(){return ee.create()}async pairAccept(t,e,r){if(r.userControlsBothSidesOfPair!==!0)return i(10);let[n,s]=await Qn(t);if(s!==0)return i(s);try{let[o,a]=await this.#t.sealSeedHosts(n.key,e);if(a!==0)return i(a);return zn(jt(n.pub,o))}finally{n.key.fill(0)}}spawnSyncWorker(t){let e=as(),r=this.#t.copyForWorker();return cs(e,{id:t.id,op:"setSeed",seed:r,persist:t.persist},[r.buffer]),e}async bagman(t,e){let[r,n]=await this.#t.idnt(t);if(n!==0)return i(n);let[s,o]=await this.#t.realmKey(e);if(o!==0)return r.fill(0),i(o);let[a,c]=await this.#t.realmID(e);if(c!==0)return r.fill(0),s.fill(0),i(c);try{let[u,f]=await xs(a,t);if(f!==0)return r.fill(0),s.fill(0),i(f);return ne.init(r,s,u,t,e)}finally{a.fill(0)}}async fingerprint(t=nt){return this.#t.fingerprint(t)}}function ks(t){for(let e of Object.getOwnPropertyNames(t)){if(No.has(e))continue;let r=Object.getOwnPropertyDescriptor(t,e);if(r===void 0||typeof r.value!=="function")continue;Object.defineProperty(t,e,{value:r.value,writable:!1,configurable:!1})}}var Oo=32,_o=16,Cs=32,No;var Pr=v(()=>{ct();J();jn();E();Ke();U();ut();zt();Zn();kr();us();ps();Ss();ws();Bs();No=new Set(["constructor","prototype","length","name"]);ks(dt);ks(dt.prototype)});zt();var Lt=En;J();J();E();J();E();U();var Ee={encode(t,e){let r=t.writeVarBytes(e.id);if(r!==0)return r;let n=t.writeDate(e.ts);if(n!==0)return n;return 0},decode(t){let[e,r]=t.readVarBytes();if(r!==0)return i(r);let[n,s]=t.readDate();if(s!==0)return i(s);return p({id:e,ts:n})}};function Cn(t){let e=new T,r=e.writeStruct(Ee,t);if(r!==0)return i(r);let n=e.result();return p(n)}U();var lr={encode(t,e){let r=t.writeVarString(e.typ??"");if(r!==0)return r;let n=t.writeVarBytes(e.eid);if(n!==0)return n;let s=t.writeVarInt(e.off);if(s!==0)return s;let o=t.writeVarInt(e.ctr);if(o!==0)return o;let a=t.writeVarInt(e.len);if(a!==0)return a;if(e.hsh)t.writeBytes(e.hsh);return 0},decode(t){let[e,r]=t.readVarString();if(r!==0)return i(r);let[n,s]=t.readVarBytes();if(s!==0)return i(s);let o=new Y(n),[,a]=Ee.decode(o);if(a!==0)return i(a);let[c,u]=t.readVarInt();if(u!==0)return i(u);let[f,l]=t.readVarInt();if(l!==0)return i(l);let[d,h]=t.readVarInt();if(h!==0)return i(h);let y;if(d>0){let[b,m]=t.readBytes(dn);if(m!==0)return i(m);y=b}return p({typ:e,eid:n,off:c,ctr:f,len:d,hsh:y})}};E();ct();U();function Ce(t,e){return jt(t,e)}function Un(t,e,r){if(t.rlm.byteLength!==L)return Promise.resolve(!1);return r.checkSigEd25519(t.sig,Ce(t.rlm,t.headCph),e)}async function kn(t,e,r){let n;if(t.bod&&t.len>0)n=await r.blake3(t.bod);let s=new T,o=lr.encode(s,{...t,hsh:n});if(o!==0)return i(o);let a=s.result(),[c,u]=await e.bagKDM(a);if(u!==0)return i(u);let f=e.rlm,[l,d]=await e.encrypt(c,a);if(d!==0)return i(d);let h=new Uint8Array(0);if(t.bod){let[I,x]=await e.encrypt(c,t.bod);if(x!==0)return i(x);h=I}let y=Ce(f,l),[b,m]=await e.sign(y);if(m!==0)return i(m);return p({rlm:f,sig:b,kdm:c,headCph:l,bodyCph:h})}async function vn(t,e,r,n,s){let o=new Y(t),[a,c]=lr.decode(o);if(c!==0)return i(14);let u;if(e&&e.length>0){let[h,y]=await r.decrypt(e);if(y!==0)return i(y);u=h}let f=a.hsh&&u===void 0,l=a.hsh===void 0&&u!==void 0;if(f||l)return i(19);if(a.hsh&&u){let h=await n.blake3(u);if(!Ht(h,a.hsh))return i(19)}let d=s??await n.blake3(t);return p({msgHead:a,bod:u,headHash:d})}ct();J();E();U();async function pr(t,e){let r=new T,n=r.writeDate(e);if(n!==0)return i(n);let s=r.result(),[o,a]=await t.sign(s);if(a!==0)return i(a);return p({pubKey:t.publicKey,sig:o,timestamp:e})}async function at(t,e,r){let n=r.now().getTime(),s=t.timestamp.getTime();if(Math.abs(n-s)>yn)return 4;let a=new T;a.writeDate(t.timestamp);let c=a.result(),u;try{u=await e.importVerifyKey(t.pubKey)}catch{return 29}if(!await e.checkSigEd25519(t.sig,c,u))return 3;return 0}class $t{now(){return new Date}}function Kn(t,e,r,n){let s=e.getTime()-t.getTime(),o=r.getTime()-n.getTime();return(s+o)/2}J();dr();E();U();E();U();var le={encode(t,e){if(t.writeVarInt(e.quota),e.quota>0){if(e.usage===void 0)return 9;t.writeVarInt(e.usage)}return 0},decode(t){let[e,r]=t.readVarInt();if(r!==0)return i(r);let n;if(e>0){let[s,o]=t.readVarInt();if(o!==0)return i(o);n=s}return p({quota:e,usage:n})}};var Qt={encode(t,e){t.writeBytes(new Uint8Array([e.status]));let r=t.writeDate(e.timeRcvd);if(r!==0)return r;let n=t.writeDate(e.timeSent);if(n!==0)return n;let s=t.writeVarInt(e.subscription.term);if(s!==0)return s;let o=t.writeVarInt(e.subscription.elapsed);if(o!==0)return o;let a=t.writeStruct(le,e.subscription.stat);if(a!==0)return a;let c=t.writeStruct(le,e.subscription.dyn);if(c!==0)return c;return 0},decode(t){let[e,r]=t.readBytes(1);if(r!==0)return i(r);let n=e[0],[s,o]=t.readDate();if(o!==0)return i(o);let[a,c]=t.readDate();if(c!==0)return i(c);let[u,f]=t.readVarInt();if(f!==0)return i(f);let[l,d]=t.readVarInt();if(d!==0)return i(d);let[h,y]=t.readStruct(le);if(y!==0)return i(y);let[b,m]=t.readStruct(le);if(m!==0)return i(m);return p({status:n,timeRcvd:s,timeSent:a,subscription:{term:u,elapsed:l,stat:h,dyn:b}})}};E();ut();J();E();E();E();U();var yr={encode(t,e){let r=t.writeVarBytes(e.headCph);if(r!==0)return r;let n=t.writeVarInt(e.seq);if(n!==0)return n;return 0},decode(t){let[e,r]=t.readVarBytes();if(r!==0)return i(r);let[n,s]=t.readVarInt();if(s!==0)return i(s);return p({headCph:e,seq:n})}};E();U();var Z={encode(t,e){t.writeBytes(e.pubKey),t.writeBytes(e.sig);let r=t.writeDate(e.timestamp);if(r!==0)return r;return 0},decode(t){let[e,r]=t.readBytes(pn);if(r!==0)return i(r);let[n,s]=t.readBytes(Dt);if(s!==0)return i(s);let[o,a]=t.readDate();if(a!==0)return i(a);return p({pubKey:e,sig:n,timestamp:o})}};ut();U();var Mn={encode(t,e){if(e.rlm.byteLength!==L)return 10;return t.writeBytes(e.rlm),t.writeVarInt(e.seq)},decode(t){let[e,r]=t.readBytes(L);if(r!==0)return i(r);let[n,s]=Et(e);if(s!==0)return i(s);let[o,a]=t.readVarInt();if(a!==0)return i(a);return p({rlm:n,seq:o})}},Ln={async encodeReq(t,e,r,n,s){let o=s.writeStruct(Z,r);if(o!==0)return o;return s.writeStruct(Mn,n)},async handleReq(t,e,r){let{clock:n,crypto:s,storage:o}=t,[a,c]=e.readStruct(Z);if(c!==0)return c;let u=await at(a,s,n);if(u!==0)return u;let{pubKey:f}=a,[l,d]=await o.hasUser(f);if(d!==0)return d;if(!l)return 5;let[h,y]=e.readStruct(Mn);if(y!==0)return y;if(!e.done())return 8;let[b,m]=await o.listHeads(f,h.rlm,h.seq);if(m!==0)return m;return r.writeStructs(yr,b)},decodeResp(t){return t.readStructs(yr)}};E();U();var hr={encode(t,e){t.writeVarInt(e.seq);let r=t.writeVarBytes(e.bodyCph);if(r!==0)return r;return 0},decode(t){let[e,r]=t.readVarInt();if(r!==0)return i(r);let[n,s]=t.readVarBytes();if(s!==0)return i(s);return p({seq:e,bodyCph:n})}};E();ut();U();var Vn={encode(t,e){if(e.rlm.byteLength!==L)return 10;t.writeBytes(e.rlm);for(let r of e.seqs){let n=t.writeVarInt(r);if(n!==0)return n}return 0},decode(t){let[e,r]=t.readBytes(L);if(r!==0)return i(r);let[n,s]=Et(e);if(s!==0)return i(s);let o=[];while(!t.done()){let[a,c]=t.readVarInt();if(c!==0)return i(c);o.push(a)}return p({rlm:n,seqs:o})}},On={async encodeReq(t,e,r,n,s){let o=s.writeStruct(Z,r);if(o!==0)return o;return s.writeStruct(Vn,n)},async handleReq(t,e,r){let{clock:n,crypto:s,storage:o}=t,[a,c]=e.readStruct(Z);if(c!==0)return c;let u=await at(a,s,n);if(u!==0)return u;let{pubKey:f}=a,[l,d]=await o.hasUser(f);if(d!==0)return d;if(!l)return 5;let[h,y]=e.readStruct(Vn);if(y!==0)return y;console.info(`PULL: ${h.seqs.length} bags`);let[b,m]=await o.getBodies(f,h.rlm,h.seqs);if(m!==0)return m;if(!b)return 17;for(let{seq:I,bodyCph:x}of b){let w={seq:I,bodyCph:x},C=r.writeStruct(hr,w);if(C!==0)return C}return 0},decodeResp(t){return t.readStructs(hr)}};J();E();ut();U();var mr={encode(t,e){if(e.rlm.byteLength!==L)return 10;if(e.sig.byteLength!==Dt)return 10;t.writeBytes(e.sig),t.writeBytes(e.rlm),t.writeBytes(e.kdm);let r=t.writeVarBytes(e.headCph);if(r!==0)return r;let n=t.writeVarBytes(e.bodyCph);if(n!==0)return n;return 0},decode(t){let[e,r]=t.readBytes(Dt);if(r!==0)return i(r);let[n,s]=t.readBytes(L);if(s!==0)return i(s);let[o,a]=Et(n);if(a!==0)return i(a);let[c,u]=t.readBytes(Gt);if(u!==0)return i(u);let[f,l]=t.readVarBytes();if(l!==0)return i(l);let[d,h]=t.readVarBytes();if(h!==0)return i(h);return p({rlm:o,sig:e,kdm:c,headCph:f,bodyCph:d})}};E();ut();U();var br={encode(t,e){let r=t.writeVarInt(e.seq);if(r!==0)return r;if(e.rlm.byteLength!==L)return 10;t.writeBytes(e.rlm);let n=t.writeVarBytes(e.headCph);if(n!==0)return n;let s=e.bodyCph?e.bodyCph.length:0,o=t.writeVarInt(s);if(o!==0)return o;if(s>0){if(!e.bodyCph)return 10;t.writeBytes(e.bodyCph)}return 0},decode(t){let[e,r]=t.readVarInt();if(r!==0)return i(r);let[n,s]=t.readBytes(L);if(s!==0)return i(s);let[o,a]=Et(n);if(a!==0)return i(a);let[c,u]=t.readVarBytes();if(u!==0)return i(u);let[f,l]=t.readVarInt();if(l!==0)return i(l);let d;if(f>0){let[h,y]=t.readBytes(f);if(y!==0)return i(y);d=h}return p({seq:e,rlm:o,headCph:c,bodyCph:d})}};E();U();var Jt={encode(t,e){t.writeBytes(e.sig),t.writeBytes(e.kdm);let r=t.writeVarBytes(e.headCph);if(r!==0)return r;return 0},decode(t){let[e,r]=t.readBytes(Dt);if(r!==0)return i(r);let[n,s]=t.readBytes(Gt);if(s!==0)return i(s);let[o,a]=t.readVarBytes();if(a!==0)return i(a);return p({sig:e,kdm:n,headCph:o})}};E();U();var pe={encode(t,e){if(t.writeVarInt(e.idx),t.writeBytes(new Uint8Array([e.status])),e.status===0)t.writeVarInt(e.seq);return 0},decode(t){let[e,r]=t.readVarInt();if(r!==0)return i(r);let[n,s]=t.readBytes(1);if(s!==0)return i(s);let o=n[0];if(o!==0)return p({idx:e,status:o});let[a,c]=t.readVarInt();if(c!==0)return i(c);return p({idx:e,status:o,seq:a})}};E();var _n={encode(t,e){return t.writeStructs(mr,e)},decode(t){return t.readStructs(mr)}},Nn={async encodeReq(t,e,r,n,s){let o=s.writeStruct(Z,r);if(o!==0)return o;return s.writeStruct(_n,n)},async handleReq(t,e,r){let{clock:n,crypto:s,storage:o,notifier:a}=t,[c,u]=e.readStruct(Z);if(u!==0)return u;let f=await at(c,s,n);if(f!==0)return f;let{pubKey:l}=c,[d,h]=await o.hasUser(l);if(h!==0)return h;if(!d)return 5;let[y,b]=e.readStruct(_n);if(b!==0)return b;console.info(`PUSH: ${y.length} bags`);let m;try{m=await s.importVerifyKey(l)}catch{return 29}let I=[],x=[];for(let k=0;k<y.length;k++){let K=y[k];if(!await Un(K,m,s)){let H={idx:k,status:3},D=r.writeStruct(pe,H);if(D!==0)return D;continue}I.push(k),x.push(K)}let[w,C]=await o.setBags(l,x);if(C!==0)return C;if(!w||w.length!==x.length)return 17;let A=[];for(let k=0;k<x.length;k++){let K=x[k],X=I[k],H=w[k];if(H.status!==0){let F={idx:X,status:H.status},N=r.writeStruct(pe,F);if(N!==0)return N;continue}let D=H.seq,V=new T,O=V.writeStruct(Jt,K);if(O!==0)return O;let q=V.result(),S={seq:D,rlm:K.rlm,headCph:q};if(y.length===1&&K.bodyCph.length<=hn)S.bodyCph=K.bodyCph;A.push(S);let W={idx:X,status:0,seq:D},_=r.writeStruct(pe,W);if(_!==0)return _}if(A.length>0){let k=new T,K=k.writeStructs(br,A);if(K!==0)return K;let X=k.result();await Promise.resolve(a.push(l,X))}return 0},decodeResp(t){return t.readStructs(pe)}};E();U();var qn={async encodeReq(t,e,r,n,s){return s.writeStruct(Z,r)},async handleReq(t,e,r){let{clock:n,crypto:s,storage:o}=t,[a,c]=e.readStruct(Z);if(c!==0)return c;let u=await at(a,s,n);if(u!==0)return u;let{pubKey:f}=a;if(!e.done())return 8;let[l,d]=await o.addUser(f);if(d!==0)return d;return 0},decodeResp(t){return p(void 0)}};ct();J();E();class Sr{url;websocket;constructor(t){this.url=t}connected(){return this.websocket!==void 0&&this.websocket.readyState===WebSocket.OPEN}async connect(t,e,r=()=>{},n=()=>{}){let{url:s}=this;if(this.websocket)this.websocket.close(),this.websocket=void 0;let o=new T;o.writeStruct(Z,t);let a=o.result(),c=it(a);return s.searchParams.set("t",c),this.websocket=new WebSocket(s),this.websocket.binaryType="arraybuffer",this.websocket.onopen=()=>{console.log("CONNECTED"),n()},this.websocket.onclose=()=>{console.log("DISCONNECTED"),this.websocket=void 0,r()},this.websocket.onmessage=(u)=>{let f=new Uint8Array(u.data);e(f)},this.websocket.onerror=(u)=>{console.log(`ERROR: ${JSON.stringify(u)}`),this.websocket=void 0,r()},Promise.resolve(0)}disconnect(){this.websocket?.close(),this.websocket=void 0}}U();var z={user:{path:"/user",endpoint:qn,name:0},push:{path:"/push",endpoint:Nn,name:2},peek:{path:"/peek",endpoint:Ln,name:1},pull:{path:"/pull",endpoint:On,name:3}},xo={0:z.user,2:z.push,1:z.peek,3:z.pull},Wn={[z.user.path]:z.user,[z.push.path]:z.push,[z.peek.path]:z.peek,[z.pull.path]:z.pull};class Fn{url;listener;constructor(t){this.url=t;this.listener=new Sr(t)}async call(t,e){let{path:r}=xo[t],n=new URL(r,this.url);try{return await Ao(n,e)}catch{return i(25)}}}var gr=(t)=>new Fn(t.handle);function Zt(t){let e=new T;if(e.writeStruct(Qt,t)!==0)return new Response(null,{status:500});return Ir(e)}function Ir(t){let e=t.result().slice();return new Response(e,{status:200,headers:{"content-type":"application/octet-stream"}})}var wo={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,POST,OPTIONS"};function xr(t){return new Response(t.body,{headers:{...t.headers,...wo},status:t.status,statusText:t.statusText})}async function Ao(t,e){let r=await fetch(t,{method:"POST",body:e.result().slice()});if(!r.ok)return i(24);let n=await Y.fromResponse(r);return p(n)}U();async function Xn(t,e,r=[nt]){let n=[];for(let s of r){let[o,a]=await t.bagman(e,s);if(a!==0)return i(a);n.push(o)}return p(n)}class Ue{crypto;clock;transport;updateHostMeta;#t;constructor(t,e,r,n,s){this.crypto=e;this.clock=r;this.transport=n;this.updateHostMeta=s;this.#t=t}async call(t,e){let{clock:r,transport:n}=this,{endpoint:s,name:o}=t,[a,c]=await this.identity();if(c!==0)return i(c);let u=r.now(),[f,l]=await pr(a,u);if(l!==0)return i(l);let d=new T,h=await s.encodeReq(this,a,f,e,d);if(h!==0)return i(h);let y=r.now(),[b,m]=await n.call(o,d),I=r.now();if(m!==0)return i(m);let[x,w]=b.readStruct(Qt);if(w!==0)return i(w);if(x.status!==0)return i(x.status);let A={clockOffset:Kn(y,x.timeRcvd,x.timeSent,I),subscription:x.subscription},k=await this.updateHostMeta(A);if(k!==0)return i(k);return s.decodeResp(b)}bagMgrFor(t=nt){return this.#t.find((e)=>Rn(t,e.realmKDM))}bagMgrs(){return this.#t}add(t){if(this.bagMgrFor(t.realmKDM)!==void 0)return;this.#t.push(t)}identity=()=>{let t=this.bagMgrFor(nt)??this.#t[0];if(t===void 0)return Promise.resolve(i(13));return Promise.resolve(p(t))};hostRlm=(t=nt)=>{let e=this.bagMgrFor(t);if(e===void 0)return Promise.resolve(i(13));return Promise.resolve(p(e.rlm))};seal=async(t,e=nt)=>{let r=this.bagMgrFor(e);if(r===void 0)return i(13);return kn(t,r,this.crypto)};register=()=>this.call(z.user,void 0);peek=async(t,e=nt)=>{let[r,n]=await this.hostRlm(e);if(n!==0)return i(n);return this.call(z.peek,{rlm:r,seq:t})};push=(t)=>this.call(z.push,t);pull=async(t,e=nt)=>{let[r,n]=await this.hostRlm(e);if(n!==0)return i(n);return this.call(z.pull,{rlm:r,seqs:t})};listen=async(t,e,r)=>{let{clock:n,transport:s}=this,{listener:o}=s,[a,c]=await this.identity();if(c!==0)return c;let u=n.now(),[f,l]=await pr(a,u);if(l!==0)return l;return await o.connect(f,t,e,r)};isConnected(){let t=this.transport?.listener;if(t&&typeof t.connected==="function")return t.connected();return!0}closeListener(){this.transport?.listener?.disconnect()}}E();ut();Pr();J();E();U();async function vs(t,e,r,n=0){let s=e.now(),o=new T,a=o.writeVarString(t);if(a!==0)return i(a);let u={id:o.result(),ts:new Date(0)},[f,l]=Cn(u);if(l!==0)return i(l);let d=s.getTime()-u.ts.getTime();return p({eid:f,off:d,ctr:n,typ:"",len:r.length,bod:r})}J();E();U();async function Ks(t,e,r,n){let s=r.rlm;if(s.byteLength!==L)return i(10);let o=new Y(t.headCph),[a,c]=o.readStruct(Jt);if(c!==0)return i(c);let{sig:u,kdm:f,headCph:l}=a;if(!await n.checkSigEd25519(u,Ce(s,l),e))return i(3);let[h,y]=await r.decrypt(f,l);if(y!==0)return i(y);return p({kdm:f,headEnc:h})}U();J();E();ct();import{Database as qo}from"bun:sqlite";Ke();var el=Symbol("EntityID");var rl=Symbol("DerivationSeed"),nl=Symbol("PublicKey"),sl=Symbol("PrivateKey"),ol=Symbol("HostSpecificKeyPair"),il=Symbol("Hash"),Bt={term:0,elapsed:0,stat:{quota:0},dyn:{quota:0}};J();E();U();function Wo(t="diplomatic.db"){let e=new qo(t);return e.exec("PRAGMA journal_mode=WAL;"),e.exec("PRAGMA synchronous=NORMAL;"),e.exec(`
|
|
1
|
+
var Ls=Object.defineProperty;var Vs=(t)=>t;function Os(t,e){this[t]=Vs.bind(null,e)}var _s=(t,e)=>{for(var r in e)Ls(t,r,{get:e[r],enumerable:!0,configurable:!0,set:Os.bind(e,r)})};var v=(t,e)=>()=>(t&&(e=t(t=0)),e);import*as gt from"node:crypto";var Rt;var Mr=v(()=>{Rt=gt&&typeof gt==="object"&&"webcrypto"in gt?gt.webcrypto:gt&&typeof gt==="object"&&("randomBytes"in gt)?gt:void 0});function ye(t){if(!Number.isSafeInteger(t)||t<0)throw Error("positive integer expected, got "+t)}function We(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function j(t,...e){if(!We(t))throw Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw Error("Uint8Array expected of length "+e+", got length="+t.length)}function Fe(t,e=!0){if(t.destroyed)throw Error("Hash instance has been destroyed");if(e&&t.finished)throw Error("Hash#digest() has already been called")}function Lr(t,e){j(t);let r=e.outputLen;if(t.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}function Xe(t){if(typeof t!=="boolean")throw Error(`boolean expected, not ${t}`)}var se=()=>{};function qs(t){if(typeof t!=="string")throw Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function he(t){if(typeof t==="string")t=qs(t);else if(We(t))t=me(t);else throw Error("Uint8Array expected, got "+typeof t);return t}function Vr(t,e){if(e==null||typeof e!=="object")throw Error("options must be defined");return Object.assign(t,e)}function Or(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function je(t,e,r=!0){if(e===void 0)return new Uint8Array(t);if(e.length!==t)throw Error("invalid output length, expected "+t+", got: "+e.length);if(r&&!Ws(e))throw Error("invalid output, must be aligned");return e}function Ws(t){return t.byteOffset%4===0}function me(t){return Uint8Array.from(t)}function yt(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}var It=(t)=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),Ns,_r=(t,e)=>{function r(n,...s){if(j(n),t.nonceLength!==void 0){let f=s[0];if(!f)throw Error("nonce / iv required");if(t.varSizeNonce)j(f);else j(f,t.nonceLength)}let o=t.tagLength;if(o&&s[1]!==void 0)j(s[1]);let a=e(n,...s),c=(f,d)=>{if(d!==void 0){if(f!==2)throw Error("cipher output not supported");j(d)}},u=!1;return{encrypt(f,d){if(u)throw Error("cannot encrypt() twice with same key + nonce");return u=!0,j(f),c(a.encrypt.length,d),a.encrypt(f,d)},decrypt(f,d){if(j(f),o&&f.length<o)throw Error("invalid ciphertext length: smaller than tagLength="+o);return c(a.decrypt.length,d),a.decrypt(f,d)}}}return Object.assign(r,t),r};var be=v(()=>{se();/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */Ns=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Ns)throw Error("Non little-endian hardware is not supported")});function oe(t=32){if(Rt&&typeof Rt.getRandomValues==="function")return Rt.getRandomValues(new Uint8Array(t));if(Rt&&typeof Rt.randomBytes==="function")return Rt.randomBytes(t);throw Error("crypto.getRandomValues must be defined")}var Nr=v(()=>{Mr()});function g(t,e){return t<<e|t>>>32-e}function Ge(t){return t.byteOffset%4===0}function zs(t,e,r,n,s,o,a,c){let u=s.length,l=new Uint8Array(Se),f=It(l),d=Ge(s)&&Ge(o),h=d?It(s):qr,y=d?It(o):qr;for(let b=0;b<u;a++){if(t(e,r,n,f,a,c),a>=Fr)throw Error("arx: counter overflow");let m=Math.min(Se,u-b);if(d&&m===Se){let I=b/4;if(b%4!==0)throw Error("arx: invalid block position");for(let x=0,w;x<Ys;x++)w=I+x,y[w]=h[w]^f[x];b+=Se;continue}for(let I=0,x;I<m;I++)x=b+I,o[x]=s[x]^l[I];b+=m}}function Xr(t,e){let{allowShortKeys:r,extendNonceFn:n,counterLength:s,counterRight:o,rounds:a}=Vr({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!=="function")throw Error("core must be a function");return ye(s),ye(a),Xe(o),Xe(r),(c,u,l,f,d=0)=>{j(c),j(u),j(l);let h=l.length;if(f===void 0)f=new Uint8Array(h);if(j(f),ye(d),d<0||d>=Fr)throw Error("arx: counter overflow");if(f.length<h)throw Error(`arx: output (${f.length}) is shorter than data (${h})`);let y=[],b=c.length,m,I;if(b===32)y.push(m=me(c)),I=Gs;else if(b===16&&r)m=new Uint8Array(32),m.set(c),m.set(c,16),I=js,y.push(m);else throw Error(`arx: invalid 32-byte key, got length=${b}`);if(!Ge(u))y.push(u=me(u));let x=It(m);if(n){if(u.length!==24)throw Error("arx: extended nonce must be 24 bytes");n(I,x,It(u.subarray(0,16)),x),u=u.subarray(16)}let w=16-s;if(w!==u.length)throw Error(`arx: nonce must be ${w} or 16 bytes`);if(w!==12){let A=new Uint8Array(12);A.set(u,o?0:12-u.length),u=A,y.push(u)}let C=It(u);return zs(t,I,x,C,l,f,d,a),yt(...y),f}}var Wr=(t)=>Uint8Array.from(t.split("").map((e)=>e.charCodeAt(0))),Fs,Xs,js,Gs,Se=64,Ys=16,Fr=4294967295,qr;var jr=v(()=>{se();be();Fs=Wr("expand 16-byte k"),Xs=Wr("expand 32-byte k"),js=It(Fs),Gs=It(Xs);qr=new Uint32Array});class Gr{constructor(t){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,t=he(t),j(t,32);let e=G(t,0),r=G(t,2),n=G(t,4),s=G(t,6),o=G(t,8),a=G(t,10),c=G(t,12),u=G(t,14);this.r[0]=e&8191,this.r[1]=(e>>>13|r<<3)&8191,this.r[2]=(r>>>10|n<<6)&7939,this.r[3]=(n>>>7|s<<9)&8191,this.r[4]=(s>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let l=0;l<8;l++)this.pad[l]=G(t,16+2*l)}process(t,e,r=!1){let n=r?0:2048,{h:s,r:o}=this,a=o[0],c=o[1],u=o[2],l=o[3],f=o[4],d=o[5],h=o[6],y=o[7],b=o[8],m=o[9],I=G(t,e+0),x=G(t,e+2),w=G(t,e+4),C=G(t,e+6),A=G(t,e+8),k=G(t,e+10),K=G(t,e+12),X=G(t,e+14),D=s[0]+(I&8191),M=s[1]+((I>>>13|x<<3)&8191),V=s[2]+((x>>>10|w<<6)&8191),O=s[3]+((w>>>7|C<<9)&8191),q=s[4]+((C>>>4|A<<12)&8191),S=s[5]+(A>>>1&8191),W=s[6]+((A>>>14|k<<2)&8191),_=s[7]+((k>>>11|K<<5)&8191),F=s[8]+((K>>>8|X<<8)&8191),N=s[9]+(X>>>5|n),P=0,Q=P+D*a+M*(5*m)+V*(5*b)+O*(5*y)+q*(5*h);P=Q>>>13,Q&=8191,Q+=S*(5*d)+W*(5*f)+_*(5*l)+F*(5*u)+N*(5*c),P+=Q>>>13,Q&=8191;let et=P+D*c+M*a+V*(5*m)+O*(5*b)+q*(5*y);P=et>>>13,et&=8191,et+=S*(5*h)+W*(5*d)+_*(5*f)+F*(5*l)+N*(5*u),P+=et>>>13,et&=8191;let ot=P+D*u+M*c+V*a+O*(5*m)+q*(5*b);P=ot>>>13,ot&=8191,ot+=S*(5*y)+W*(5*h)+_*(5*d)+F*(5*f)+N*(5*l),P+=ot>>>13,ot&=8191;let L=P+D*l+M*u+V*c+O*a+q*(5*m);P=L>>>13,L&=8191,L+=S*(5*b)+W*(5*y)+_*(5*h)+F*(5*d)+N*(5*f),P+=L>>>13,L&=8191;let St=P+D*f+M*l+V*u+O*c+q*a;P=St>>>13,St&=8191,St+=S*(5*m)+W*(5*b)+_*(5*y)+F*(5*h)+N*(5*d),P+=St>>>13,St&=8191;let Vt=P+D*d+M*f+V*l+O*u+q*c;P=Vt>>>13,Vt&=8191,Vt+=S*a+W*(5*m)+_*(5*b)+F*(5*y)+N*(5*h),P+=Vt>>>13,Vt&=8191;let Ot=P+D*h+M*d+V*f+O*l+q*u;P=Ot>>>13,Ot&=8191,Ot+=S*c+W*a+_*(5*m)+F*(5*b)+N*(5*y),P+=Ot>>>13,Ot&=8191;let _t=P+D*y+M*h+V*d+O*f+q*l;P=_t>>>13,_t&=8191,_t+=S*u+W*c+_*a+F*(5*m)+N*(5*b),P+=_t>>>13,_t&=8191;let Nt=P+D*b+M*y+V*h+O*d+q*f;P=Nt>>>13,Nt&=8191,Nt+=S*l+W*u+_*c+F*a+N*(5*m),P+=Nt>>>13,Nt&=8191;let qt=P+D*m+M*b+V*y+O*h+q*d;P=qt>>>13,qt&=8191,qt+=S*f+W*l+_*u+F*c+N*a,P+=qt>>>13,qt&=8191,P=(P<<2)+P|0,P=P+Q|0,Q=P&8191,P=P>>>13,et+=P,s[0]=Q,s[1]=et,s[2]=ot,s[3]=L,s[4]=St,s[5]=Vt,s[6]=Ot,s[7]=_t,s[8]=Nt,s[9]=qt}finalize(){let{h:t,pad:e}=this,r=new Uint16Array(10),n=t[1]>>>13;t[1]&=8191;for(let a=2;a<10;a++)t[a]+=n,n=t[a]>>>13,t[a]&=8191;t[0]+=n*5,n=t[0]>>>13,t[0]&=8191,t[1]+=n,n=t[1]>>>13,t[1]&=8191,t[2]+=n,r[0]=t[0]+5,n=r[0]>>>13,r[0]&=8191;for(let a=1;a<10;a++)r[a]=t[a]+n,n=r[a]>>>13,r[a]&=8191;r[9]-=8192;let s=(n^1)-1;for(let a=0;a<10;a++)r[a]&=s;s=~s;for(let a=0;a<10;a++)t[a]=t[a]&s|r[a];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let o=t[0]+e[0];t[0]=o&65535;for(let a=1;a<8;a++)o=(t[a]+e[a]|0)+(o>>>16)|0,t[a]=o&65535;yt(r)}update(t){Fe(this);let{buffer:e,blockLen:r}=this;t=he(t);let n=t.length;for(let s=0;s<n;){let o=Math.min(r-this.pos,n-s);if(o===r){for(;r<=n-s;s+=r)this.process(t,s);continue}if(e.set(t.subarray(s,s+o),this.pos),this.pos+=o,s+=o,this.pos===r)this.process(e,0,!1),this.pos=0}return this}destroy(){yt(this.h,this.r,this.buffer,this.pad)}digestInto(t){Fe(this),Lr(t,this),this.finished=!0;let{buffer:e,h:r}=this,{pos:n}=this;if(n){e[n++]=1;for(;n<16;n++)e[n]=0;this.process(e,0,!0)}this.finalize();let s=0;for(let o=0;o<8;o++)t[s++]=r[o]>>>0,t[s++]=r[o]>>>8;return t}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let r=t.slice(0,e);return this.destroy(),r}}function $s(t){let e=(n,s)=>t(s).update(he(n)).digest(),r=t(new Uint8Array(32));return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=(n)=>t(n),e}var G=(t,e)=>t[e++]&255|(t[e++]&255)<<8,Ye;var Yr=v(()=>{se();be();Ye=$s((t)=>new Gr(t))});function Qs(t,e,r,n,s,o=20){let a=t[0],c=e[0],u=e[1],l=e[2],f=e[3],d=t[1],h=r[0],y=r[1],b=s,m=0,I=t[2],x=e[4],w=e[5],C=e[6],A=e[7],k=t[3],K=a,X=c,D=u,M=l,V=f,O=d,q=h,S=y,W=b,_=m,F=I,N=x,P=w,Q=C,et=A,ot=k;for(let St=0;St<o;St+=2)V^=g(K+P|0,7),W^=g(V+K|0,9),P^=g(W+V|0,13),K^=g(P+W|0,18),_^=g(O+X|0,7),Q^=g(_+O|0,9),X^=g(Q+_|0,13),O^=g(X+Q|0,18),et^=g(F+q|0,7),D^=g(et+F|0,9),q^=g(D+et|0,13),F^=g(q+D|0,18),M^=g(ot+N|0,7),S^=g(M+ot|0,9),N^=g(S+M|0,13),ot^=g(N+S|0,18),X^=g(K+M|0,7),D^=g(X+K|0,9),M^=g(D+X|0,13),K^=g(M+D|0,18),q^=g(O+V|0,7),S^=g(q+O|0,9),V^=g(S+q|0,13),O^=g(V+S|0,18),N^=g(F+_|0,7),W^=g(N+F|0,9),_^=g(W+N|0,13),F^=g(_+W|0,18),P^=g(ot+et|0,7),Q^=g(P+ot|0,9),et^=g(Q+P|0,13),ot^=g(et+Q|0,18);let L=0;n[L++]=a+K|0,n[L++]=c+X|0,n[L++]=u+D|0,n[L++]=l+M|0,n[L++]=f+V|0,n[L++]=d+O|0,n[L++]=h+q|0,n[L++]=y+S|0,n[L++]=b+W|0,n[L++]=m+_|0,n[L++]=I+F|0,n[L++]=x+N|0,n[L++]=w+P|0,n[L++]=C+Q|0,n[L++]=A+et|0,n[L++]=k+ot|0}function Js(t,e,r,n){let s=t[0],o=e[0],a=e[1],c=e[2],u=e[3],l=t[1],f=r[0],d=r[1],h=r[2],y=r[3],b=t[2],m=e[4],I=e[5],x=e[6],w=e[7],C=t[3];for(let k=0;k<20;k+=2)u^=g(s+I|0,7),h^=g(u+s|0,9),I^=g(h+u|0,13),s^=g(I+h|0,18),y^=g(l+o|0,7),x^=g(y+l|0,9),o^=g(x+y|0,13),l^=g(o+x|0,18),w^=g(b+f|0,7),a^=g(w+b|0,9),f^=g(a+w|0,13),b^=g(f+a|0,18),c^=g(C+m|0,7),d^=g(c+C|0,9),m^=g(d+c|0,13),C^=g(m+d|0,18),o^=g(s+c|0,7),a^=g(o+s|0,9),c^=g(a+o|0,13),s^=g(c+a|0,18),f^=g(l+u|0,7),d^=g(f+l|0,9),u^=g(d+f|0,13),l^=g(u+d|0,18),m^=g(b+y|0,7),h^=g(m+b|0,9),y^=g(h+m|0,13),b^=g(y+h|0,18),I^=g(C+w|0,7),x^=g(I+C|0,9),w^=g(x+I|0,13),C^=g(w+x|0,18);let A=0;n[A++]=s,n[A++]=l,n[A++]=b,n[A++]=C,n[A++]=f,n[A++]=d,n[A++]=h,n[A++]=y}var ze,$e;var zr=v(()=>{jr();se();Yr();be();ze=Xr(Qs,{counterRight:!0,extendNonceFn:Js}),$e=_r({blockSize:64,nonceLength:24,tagLength:16},(t,e)=>({encrypt(r,n){n=je(r.length+32,n,!1);let s=n.subarray(0,32),o=n.subarray(32);n.set(r,32),yt(s),ze(t,e,n,n);let a=Ye(o,s);return n.set(a,16),yt(n.subarray(0,16),a),n.subarray(16)},decrypt(r,n){j(r),n=je(r.length+32,n,!1);let s=n.subarray(0,32),o=n.subarray(32,48),a=n.subarray(48);n.set(r,32),yt(s);let c=ze(t,e,s,s),u=Ye(a,c);if(!Or(o,u))throw Error("invalid tag");return ze(t,e,n.subarray(16),n.subarray(16)),yt(s,o,u),a}}))});function Zs(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ie(t){if(!Number.isSafeInteger(t)||t<0)throw Error("positive integer expected, got "+t)}function Tt(t,...e){if(!Zs(t))throw Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw Error("Uint8Array expected of length "+e+", got length="+t.length)}function ae(t,e=!0){if(t.destroyed)throw Error("Hash instance has been destroyed");if(e&&t.finished)throw Error("Hash#digest() has already been called")}function ge(t,e){Tt(t);let r=e.outputLen;if(t.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}function $r(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function Wt(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Ft(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function ce(t,e){return t<<32-e|t>>>e}function Jr(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function to(t){for(let e=0;e<t.length;e++)t[e]=Jr(t[e]);return t}function eo(t){if(typeof t!=="string")throw Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Xt(t){if(typeof t==="string")t=eo(t);return Tt(t),t}class Qe{}function tn(t){let e=(n,s)=>t(s).update(Xt(n)).digest(),r=t({});return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=(n)=>t(n),e}var Qr,Zr,rt;var Ie=v(()=>{/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Qr=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();Zr=Qr?(t)=>t:(t)=>Jr(t);rt=Qr?(t)=>t:to});var en;var rn=v(()=>{en=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225])});function Je(t,e=!1){if(e)return{h:Number(t&xe),l:Number(t>>nn&xe)};return{h:Number(t>>nn&xe)|0,l:Number(t&xe)|0}}var xe,nn;var sn=v(()=>{xe=BigInt(4294967295),nn=BigInt(32)});function xt(t,e,r,n,s){return t=t+e+s|0,n=ce(n^t,16),r=r+n|0,e=ce(e^r,12),{a:t,b:e,c:r,d:n}}function wt(t,e,r,n,s){return t=t+e+s|0,n=ce(n^t,8),r=r+n|0,e=ce(e^r,7),{a:t,b:e,c:r,d:n}}var on=v(()=>{Ie()});function tr(t,e,r,n,s,o,a,c,u,l,f,d,h,y,b,m,I,x,w,C){let A=0;for(let k=0;k<n;k++)({a:s,b:u,c:h,d:I}=xt(s,u,h,I,r[e+t[A++]])),{a:s,b:u,c:h,d:I}=wt(s,u,h,I,r[e+t[A++]]),{a:o,b:l,c:y,d:x}=xt(o,l,y,x,r[e+t[A++]]),{a:o,b:l,c:y,d:x}=wt(o,l,y,x,r[e+t[A++]]),{a,b:f,c:b,d:w}=xt(a,f,b,w,r[e+t[A++]]),{a,b:f,c:b,d:w}=wt(a,f,b,w,r[e+t[A++]]),{a:c,b:d,c:m,d:C}=xt(c,d,m,C,r[e+t[A++]]),{a:c,b:d,c:m,d:C}=wt(c,d,m,C,r[e+t[A++]]),{a:s,b:l,c:b,d:C}=xt(s,l,b,C,r[e+t[A++]]),{a:s,b:l,c:b,d:C}=wt(s,l,b,C,r[e+t[A++]]),{a:o,b:f,c:m,d:I}=xt(o,f,m,I,r[e+t[A++]]),{a:o,b:f,c:m,d:I}=wt(o,f,m,I,r[e+t[A++]]),{a,b:d,c:h,d:x}=xt(a,d,h,x,r[e+t[A++]]),{a,b:d,c:h,d:x}=wt(a,d,h,x,r[e+t[A++]]),{a:c,b:u,c:y,d:w}=xt(c,u,y,w,r[e+t[A++]]),{a:c,b:u,c:y,d:w}=wt(c,u,y,w,r[e+t[A++]]);return{v0:s,v1:o,v2:a,v3:c,v4:u,v5:l,v6:f,v7:d,v8:h,v9:y,v10:b,v11:m,v12:I,v13:x,v14:w,v15:C}}var Ze;var an=v(()=>{on();Ie();Ze=class Ze extends Qe{constructor(t,e){super();this.finished=!1,this.destroyed=!1,this.length=0,this.pos=0,ie(t),ie(e),this.blockLen=t,this.outputLen=e,this.buffer=new Uint8Array(t),this.buffer32=Wt(this.buffer)}update(t){ae(this),t=Xt(t),Tt(t);let{blockLen:e,buffer:r,buffer32:n}=this,s=t.length,o=t.byteOffset,a=t.buffer;for(let c=0;c<s;){if(this.pos===e)rt(n),this.compress(n,0,!1),rt(n),this.pos=0;let u=Math.min(e-this.pos,s-c),l=o+c;if(u===e&&!(l%4)&&c+u<s){let f=new Uint32Array(a,l,Math.floor((s-c)/4));rt(f);for(let d=0;c+e<s;d+=n.length,c+=e)this.length+=e,this.compress(f,d,!1);rt(f);continue}r.set(t.subarray(c,c+u),this.pos),this.pos+=u,this.length+=u,c+=u}return this}digestInto(t){ae(this),ge(t,this);let{pos:e,buffer32:r}=this;this.finished=!0,Ft(this.buffer.subarray(e)),rt(r),this.compress(r,0,!0),rt(r);let n=Wt(t);this.get().forEach((s,o)=>n[o]=Zr(s))}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let r=t.slice(0,e);return this.destroy(),r}_cloneInto(t){let{buffer:e,length:r,finished:n,destroyed:s,outputLen:o,pos:a}=this;return t||(t=new this.constructor({dkLen:o})),t.set(...this.get()),t.buffer.set(e),t.destroyed=s,t.finished=n,t.length=r,t.pos=a,t.outputLen=o,t}clone(){return this._cloneInto()}}});var ht,At,cn,er,rr;var un=v(()=>{rn();sn();an();Ie();ht={CHUNK_START:1,CHUNK_END:2,PARENT:4,ROOT:8,KEYED_HASH:16,DERIVE_KEY_CONTEXT:32,DERIVE_KEY_MATERIAL:64},At=en.slice(),cn=(()=>{let t=Array.from({length:16},(n,s)=>s),e=(n)=>[2,6,3,10,7,0,4,13,1,11,12,5,9,14,15,8].map((s)=>n[s]),r=[];for(let n=0,s=t;n<7;n++,s=e(s))r.push(...s);return Uint8Array.from(r)})();er=class er extends Ze{constructor(t={},e=0){super(64,t.dkLen===void 0?32:t.dkLen);this.chunkPos=0,this.chunksDone=0,this.flags=0,this.stack=[],this.posOut=0,this.bufferOut32=new Uint32Array(16),this.chunkOut=0,this.enableXOF=!0;let{key:r,context:n}=t,s=n!==void 0;if(r!==void 0){if(s)throw Error('Only "key" or "context" can be specified at same time');let o=Xt(r).slice();Tt(o,32),this.IV=Wt(o),rt(this.IV),this.flags=e|ht.KEYED_HASH}else if(s){let o=Xt(n),a=new er({dkLen:32},ht.DERIVE_KEY_CONTEXT).update(o).digest();this.IV=Wt(a),rt(this.IV),this.flags=e|ht.DERIVE_KEY_MATERIAL}else this.IV=At.slice(),this.flags=e;this.state=this.IV.slice(),this.bufferOut=$r(this.bufferOut32)}get(){return[]}set(){}b2Compress(t,e,r,n=0){let{state:s,pos:o}=this,{h:a,l:c}=Je(BigInt(t),!0),{v0:u,v1:l,v2:f,v3:d,v4:h,v5:y,v6:b,v7:m,v8:I,v9:x,v10:w,v11:C,v12:A,v13:k,v14:K,v15:X}=tr(cn,n,r,7,s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],At[0],At[1],At[2],At[3],a,c,o,e);s[0]=u^I,s[1]=l^x,s[2]=f^w,s[3]=d^C,s[4]=h^A,s[5]=y^k,s[6]=b^K,s[7]=m^X}compress(t,e=0,r=!1){let n=this.flags;if(!this.chunkPos)n|=ht.CHUNK_START;if(this.chunkPos===15||r)n|=ht.CHUNK_END;if(!r)this.pos=this.blockLen;if(this.b2Compress(this.chunksDone,n,t,e),this.chunkPos+=1,this.chunkPos===16||r){let s=this.state;this.state=this.IV.slice();for(let o,a=this.chunksDone+1;r||!(a&1);a>>=1){if(!(o=this.stack.pop()))break;this.buffer32.set(o,0),this.buffer32.set(s,8),this.pos=this.blockLen,this.b2Compress(0,this.flags|ht.PARENT,this.buffer32,0),s=this.state,this.state=this.IV.slice()}this.chunksDone++,this.chunkPos=0,this.stack.push(s)}this.pos=0}_cloneInto(t){t=super._cloneInto(t);let{IV:e,flags:r,state:n,chunkPos:s,posOut:o,chunkOut:a,stack:c,chunksDone:u}=this;return t.state.set(n.slice()),t.stack=c.map((l)=>Uint32Array.from(l)),t.IV.set(e),t.flags=r,t.chunkPos=s,t.chunksDone=u,t.posOut=o,t.chunkOut=a,t.enableXOF=this.enableXOF,t.bufferOut32.set(this.bufferOut32),t}destroy(){this.destroyed=!0,Ft(this.state,this.buffer32,this.IV,this.bufferOut32),Ft(...this.stack)}b2CompressOut(){let{state:t,pos:e,flags:r,buffer32:n,bufferOut32:s}=this,{h:o,l:a}=Je(BigInt(this.chunkOut++));rt(n);let{v0:c,v1:u,v2:l,v3:f,v4:d,v5:h,v6:y,v7:b,v8:m,v9:I,v10:x,v11:w,v12:C,v13:A,v14:k,v15:K}=tr(cn,0,n,7,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],At[0],At[1],At[2],At[3],a,o,e,r);s[0]=c^m,s[1]=u^I,s[2]=l^x,s[3]=f^w,s[4]=d^C,s[5]=h^A,s[6]=y^k,s[7]=b^K,s[8]=t[0]^m,s[9]=t[1]^I,s[10]=t[2]^x,s[11]=t[3]^w,s[12]=t[4]^C,s[13]=t[5]^A,s[14]=t[6]^k,s[15]=t[7]^K,rt(n),rt(s),this.posOut=0}finish(){if(this.finished)return;this.finished=!0,Ft(this.buffer.subarray(this.pos));let t=this.flags|ht.ROOT;if(this.stack.length)t|=ht.PARENT,rt(this.buffer32),this.compress(this.buffer32,0,!0),rt(this.buffer32),this.chunksDone=0,this.pos=this.blockLen;else t|=(!this.chunkPos?ht.CHUNK_START:0)|ht.CHUNK_END;this.flags=t,this.b2CompressOut()}writeInto(t){ae(this,!1),Tt(t),this.finish();let{blockLen:e,bufferOut:r}=this;for(let n=0,s=t.length;n<s;){if(this.posOut>=e)this.b2CompressOut();let o=Math.min(e-this.posOut,s-n);t.set(r.subarray(this.posOut,this.posOut+o),n),this.posOut+=o,n+=o}return t}xofInto(t){if(!this.enableXOF)throw Error("XOF is not possible after digest call");return this.writeInto(t)}xof(t){return ie(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(ge(t,this),this.finished)throw Error("digest() was already called");return this.enableXOF=!1,this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}};rr=tn((t)=>new er(t))});function we(t,e){if(t.byteLength!==e.byteLength)return!1;let r=0;for(let n=0;n<t.byteLength;n++){let s=t[n],o=e[n];if(s===void 0||o===void 0)return!1;r|=s^o}return r===0}function it(t){return Array.from(t).map((r)=>r.toString(16).padStart(2,"0")).join("")}function Ae(t){if(t.length%2!==0)throw Error("Invalid hex string");let e=new Uint8Array(t.length/2);for(let r=0;r<t.length;r+=2)e[r/2]=Number.parseInt(t.substr(r,2),16);return e}function Ht(t,e){return we(t,e)}function ln(t){return nr(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function fn(t){let e=t.length%4===0?"":"=".repeat(4-t.length%4),r=t.replace(/-/g,"+").replace(/_/g,"/")+e;return sr(r)}function jt(t,e){let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r}var nr,sr;var ct=v(()=>{if(typeof Uint8Array.prototype.toBase64==="function")nr=(t)=>t.toBase64();else nr=(t)=>btoa(String.fromCharCode(...t));if(typeof Uint8Array.fromBase64==="function")sr=(t)=>Uint8Array.fromBase64(t);else sr=(t)=>Uint8Array.from(atob(t),(e)=>e.charCodeAt(0))});var Dt=64,H=32,pn=32,Gt=8,dn=32,yn=30000,hn=512,B,mn="t";var E=v(()=>{((S)=>{S[S.Success=0]="Success";S[S.InvalidSignature=3]="InvalidSignature";S[S.ClockOutOfSync=4]="ClockOutOfSync";S[S.UserNotRegistered=5]="UserNotRegistered";S[S.ServerMisconfigured=6]="ServerMisconfigured";S[S.MissingBody=7]="MissingBody";S[S.ExtraBodyContent=8]="ExtraBodyContent";S[S.MissingParam=9]="MissingParam";S[S.InvalidParam=10]="InvalidParam";S[S.InvalidRequest=11]="InvalidRequest";S[S.InternalError=12]="InternalError";S[S.NotFound=13]="NotFound";S[S.InvalidMessage=14]="InvalidMessage";S[S.NoChange=15]="NoChange";S[S.DatabaseClosed=16]="DatabaseClosed";S[S.StorageError=17]="StorageError";S[S.DatabaseError=18]="DatabaseError";S[S.HashMismatch=19]="HashMismatch";S[S.DecryptionError=20]="DecryptionError";S[S.NotImplemented=21]="NotImplemented";S[S.MissingSeed=22]="MissingSeed";S[S.OutOfBounds=23]="OutOfBounds";S[S.HostError=24]="HostError";S[S.CommunicationError=25]="CommunicationError";S[S.VarLimitExceeded=26]="VarLimitExceeded";S[S.InvalidResponse=27]="InvalidResponse";S[S.ConnectionClosed=28]="ConnectionClosed";S[S.CryptoError=29]="CryptoError";S[S.WebAuthnError=30]="WebAuthnError"})(B||={})});function p(t){return[t,0]}function i(t){return[void 0,t]}var U=v(()=>{E()});function bn(t){if(t.byteLength!==ro)return i(10);return p(t)}function gn(t){let e=0n;for(let r=t.length-1;r>=0;r--)e=e<<8n|BigInt(t[r]);return e}function so(t){let e=new Uint8Array(32),r=(t%R+R)%R;for(let n=0;n<32;n++)e[n]=Number(r&0xffn),r>>=8n;return e}function oo(t){let e=t.slice();return e[31]&=127,gn(e)}function io(t){let e=t.slice();return e[0]&=248,e[31]&=127,e[31]|=64,e}function Pe(t,e,r){let n=-t,s=(e^r)&n;return[e^s,r^s]}function ao(t){let e=R-2n,r=(t%R+R)%R,n=1n;while(e>0n){if(e&1n)n=n*r%R;r=r*r%R,e>>=1n}return n}function or(t,e){let r=io(t),n=oo(e),s=1n,o=0n,a=n,c=1n,u=0n,l=gn(r);for(let f=254;f>=0;f--){let d=l>>BigInt(f)&1n;u^=d,[s,a]=Pe(u,s,a),[o,c]=Pe(u,o,c),u=d;let h=(s+o)%R,y=h*h%R,b=(s-o+R)%R,m=b*b%R,I=(y-m+R)%R,x=(a+c)%R,C=(a-c+R)%R*h%R,A=x*b%R,k=(C+A)%R,K=(C-A+R)%R;a=k*k%R,c=n*K*K%R,s=y*m%R,o=I*(y+no*I)%R}return[s,a]=Pe(u,s,a),[o,c]=Pe(u,o,c),r.fill(0),so(s*ao(o)%R)}function In(t){return or(t,Sn)}var ro=32,Hi,R,no=121665n,Sn;var xn=v(()=>{E();U();Hi=Symbol("X25519Sk");R=(1n<<255n)-19n,Sn=new Uint8Array(32);Sn[0]=9});function wn(t){let e=new Uint8Array(ir.length+32);return e.set(ir),e.set(t.subarray(0,32),ir.length),e}function An(t){let e=new Uint8Array(ar.length+32);return e.set(ar),e.set(t.subarray(0,32),ar.length),e}function Pn(t){return typeof t==="string"?new TextEncoder().encode(t):t}function Pt(t){let e=new ArrayBuffer(t.byteLength);return new Uint8Array(e).set(t),e}async function co(t){return oe(t)}async function cr(){return oe(32)}async function Yt(t,e){let r=oe(24),s=$e(e,r).encrypt(t);return new Uint8Array([...r,...s])}async function Mt(t,e){let r=t.slice(0,24),n=t.slice(24);return $e(e,r).decrypt(n)}async function Be(t){let e=t,r=wn(e),n=Pt(r),s;try{let l=await globalThis.crypto.subtle.importKey("pkcs8",n,{name:"Ed25519"},!0,["sign"]);s=await globalThis.crypto.subtle.exportKey("jwk",l)}finally{r.fill(0),new Uint8Array(n).fill(0)}if(typeof s.x!=="string")throw Error("Ed25519 JWK missing x");let o=s.x;s.d=void 0;let a=await globalThis.crypto.subtle.importKey("jwk",{kty:"OKP",crv:"Ed25519",x:o},{name:"Ed25519"},!0,["verify"]),c=new Uint8Array(await globalThis.crypto.subtle.exportKey("raw",a)),u=new Uint8Array(64);return u.set(e,0),u.set(c,32),{keyType:"ed25519",privateKey:u,publicKey:c}}async function uo(t){let e=t.subarray(0,32),r=wn(e),n=Pt(r);try{return await globalThis.crypto.subtle.importKey("pkcs8",n,{name:"Ed25519"},!1,["sign"])}finally{r.fill(0),new Uint8Array(n).fill(0)}}async function lo(t){return await globalThis.crypto.subtle.importKey("raw",Pt(t),{name:"Ed25519"},!1,["verify"])}async function ur(t,e){let r=Pn(t),n=await uo(e),s=await globalThis.crypto.subtle.sign({name:"Ed25519"},n,Pt(r));return new Uint8Array(s)}async function fo(t,e,r){let n=Pn(e);try{return await globalThis.crypto.subtle.verify({name:"Ed25519"},r,Pt(t),Pt(n))}catch{return!1}}async function le(t,e){if(e===void 0)return rr(t);return rr(t,e)}async function lr(){let t=await oe(32);t[0]&=248,t[31]&=127,t[31]|=64;let[e,r]=bn(t);if(r!==0||e===void 0)throw t.fill(0),Error("X25519 scalar brand failed");let n=In(e),s=An(e),o=Pt(s);try{let a=await globalThis.crypto.subtle.importKey("pkcs8",o,{name:"X25519"},!0,["deriveBits"]),c=await globalThis.crypto.subtle.exportKey("jwk",a);if(typeof c.x!=="string")throw Error("X25519 JWK missing x");let u=fn(c.x);if(c.d=void 0,!Ht(u,n))throw Error("X25519 WebCrypto pub != RFC 7748");return{priv:e,pub:n}}catch(a){throw e.fill(0),a}finally{s.fill(0),new Uint8Array(o).fill(0)}}async function Bn(t,e){let r=An(t),n=Pt(r);try{let s=await globalThis.crypto.subtle.importKey("pkcs8",n,{name:"X25519"},!1,["deriveBits"]),o=await globalThis.crypto.subtle.importKey("raw",Pt(e),{name:"X25519"},!1,[]),a=await globalThis.crypto.subtle.deriveBits({name:"X25519",public:o},s,256);return new Uint8Array(a)}catch{return or(t,e)}finally{r.fill(0),new Uint8Array(n).fill(0)}}function po(t){return Object.freeze(t),t}var ir,ar,En;var zt=v(()=>{Nr();zr();un();ct();E();xn();ir=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,112,4,34,4,32]);ar=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]);En=po({genRandomBytes:co,gen256BitSecureRandomSeed:cr,encryptXSalsa20Poly1305Combined:Yt,decryptXSalsa20Poly1305Combined:Mt,deriveEd25519KeyPair:Be,signEd25519:ur,importVerifyKey:lo,checkSigEd25519:fo,blake3:le})});function yo(t){if(t<0)console.info("N",t),console.trace();if(typeof t!=="bigint")t=BigInt(t);if(t<0n)return i(10);let e=[];while(t>0n){let r=Number(t&0x7fn);if(t>>=7n,t>0n)e.push(r|128);else e.push(r)}if(e.length===0)return p(new Uint8Array([0]));if(e.length>8)return i(26);return p(new Uint8Array(e))}function ho(t,e=0){let r=0n,n=0,s=e;while(!0){if(s>=t.length)return i(14);let o=t[s++];if(o===void 0)return i(14);if(r|=BigInt(o&127)<<BigInt(n),(o&128)===0){if(s-e>8)return i(26);return p({value:r>0x1fffffffffffffn?r:Number(r),bytesRead:s-e})}if(n+=7,n>=56)return i(26)}}class Y{data;pos=0;constructor(t){this.data=t}static async fromResponse(t){let e=await t.arrayBuffer(),r=new Uint8Array(e);return new Y(r)}readBigInt(){if(this.pos+8>this.data.length)return i(7);let t=new DataView(this.data.buffer,this.data.byteOffset+this.pos).getBigUint64(0,!1);return this.pos+=8,p(t)}readDate(){let[t,e]=this.readVarInt();if(e!==0)return i(e);return p(new Date(t))}readVarInt(){let[t,e]=ho(this.data,this.pos);if(e!==0)return i(e);this.pos+=t.bytesRead;let r=t.value;return p(typeof r==="bigint"?Number(r):r)}readVarString(){let[t,e]=this.readVarInt();if(e!==0)return i(e);let[r,n]=this.readBytes(t);if(n!==0)return i(n);let s=new TextDecoder().decode(r);return p(s)}readVarStrings(){let[t,e]=this.readVarInt();if(e!==0)return i(e);if(t<0||t>this.remaining())return i(14);let r=[];for(let n=0;n<t;n++){let[s,o]=this.readVarString();if(o!==0)return i(o);r.push(s)}return p(r)}readBytes(t){if(t<0)return i(10);if(this.pos+t>this.data.length)return i(23);let e=this.data.slice(this.pos,this.pos+t);return this.pos+=t,p(e)}readVarBytes(){let[t,e]=this.readVarInt();if(e!==0)return i(e);return this.readBytes(t)}readStruct(t){return t.decode(this)}readStructs(t){let e=[];while(!this.done()){let[r,n]=this.readStruct(t);if(n!==0)return i(n);e.push(r)}return p(e)}readBytesSeq(t){let e=[];while(!this.done()){let[r,n]=this.readBytes(t);if(n!==0)return i(n);e.push(r)}return p(e)}done(){return this.pos>=this.data.length}remaining(){return this.data.length-this.pos}readRest(){let t=this.data.subarray(this.pos);return this.pos=this.data.length,t}consumed(){return this.pos}}class T{parts=[];writeBigInt(t){let e=new Uint8Array(8);new DataView(e.buffer).setBigUint64(0,t,!1),this.parts.push(e)}writeDate(t){let e=t.getTime();return this.writeVarInt(e)}writeVarInt(t){let[e,r]=yo(t);if(r!==0)return r;return this.parts.push(e),0}writeVarString(t){let e=new TextEncoder().encode(t),r=this.writeVarInt(e.length);if(r!==0)return r;return this.writeBytes(e),0}writeVarStrings(t){let e=this.writeVarInt(t.length);if(e!==0)return e;for(let r of t){let n=this.writeVarString(r);if(n!==0)return n}return 0}prependBytes(t){this.parts.unshift(t.slice())}writeBytes(t){this.parts.push(t.slice())}writeVarBytes(t){let e=this.writeVarInt(t.length);if(e!==0)return e;return this.writeBytes(t),0}writeStruct(t,e){return t.encode(this,e)}writeStructs(t,e){for(let r of e){let n=this.writeStruct(t,r);if(n!==0)return n}return 0}writeBytesSeq(t){for(let e of t)this.writeBytes(e)}result(){let t=this.parts.reduce((n,s)=>n+s.length,0),e=new Uint8Array(t),r=0;for(let n of this.parts)e.set(n,r),r+=n.length;return e}wipe(){for(let t of this.parts)t.fill(0);this.parts.length=0}*scan(){for(let t of this.parts)yield t}}var J=v(()=>{U();E()});function Rn(t,e){return t.label===e.label&&t.index===e.index}var Tn;var dr=v(()=>{E();U();Tn={encode(t,e){let r=t.writeVarString(e.label);if(r!==0)return r;let n=t.writeVarInt(e.index);if(n!==0)return n;return 0},decode(t){let[e,r]=t.readVarString();if(r!==0)return i(r);let[n,s]=t.readVarInt();if(s!==0)return i(s);return p({label:e,index:n})}}});function mo(t,e){return t}function Hn(t){return t}function bo(t,e){if(t.byteLength!==H)return i(10);return p(Hn(t))}function Et(t){return bo(t,Z.HostRLM)}function So(t){if(t instanceof Uint8Array)return p(t);let e=new T,r=Tn.encode(e,t);if(r!==0)return i(r);return p(e.result())}async function Dn(t,e){try{return p(await le(t,e))}catch{return i(29)}}async function go({parent:t,purpose:e}){let[r,n]=await Dn(t,{context:e});if(n!==0)return i(n);return p(mo(r,e))}async function Io({pdk:t,kdm:e}){let[r,n]=So(e);if(n!==0)return i(n);let[s,o]=await Dn(r,{key:t});if(o!==0)return i(o);return p(Hn(s))}async function st({parent:t,purpose:e,kdm:r}){let[n,s]=await go({parent:t,purpose:e});if(s!==0)return i(s);try{return await Io({pdk:n,kdm:r})}finally{n.fill(0)}}var Z,Da,Ma,nt;var ut=v(()=>{J();dr();E();U();zt();Z={Identity:"diplomatic.identity.v1",Cipher:"diplomatic.cipher.v1",Bind:"diplomatic.bind.v1",BindTag:"diplomatic.bindtag.v1",Fingerprint:"diplomatic.fingerprint.v1",Pair:"diplomatic.qrpair.v1",BagKdm:"diplomatic.bagkdm.v1",RealmKey:"diplomatic.realmKey.v1",RealmID:"diplomatic.realmID.v1",HostRLM:"diplomatic.hostRLM.v1",Export:"diplomatic.export.v1"},Da=Symbol("PurposeDerivedKey"),Ma=Symbol("ChildKey"),nt=Object.freeze({label:"",index:0})});var ke;var wr=v(()=>{E();U();ke={encode(t,e){let r=t.writeVarString(e.handle);if(r!==0)return r;let n=t.writeVarString(e.label);if(n!==0)return n;return t.writeVarInt(e.idx??0)},decode(t){let[e,r]=t.readVarString();if(r!==0)return i(r);let[n,s]=t.readVarString();if(s!==0)return i(s);let[o,a]=t.readVarInt();if(a!==0)return i(a);return p({handle:e,label:n,idx:o})}}});var Ar;var jn=v(()=>{E();U();wr();wr();Ar={encode(t,e){let r=t.writeVarInt(e.hosts.length);if(r!==0)return r;for(let n of e.hosts){let s=t.writeStruct(ke,n);if(s!==0)return s}return 0},decode(t){let[e,r]=t.readVarInt();if(r!==0)return i(r);if(e===void 0||e<0)return i(10);let n=[];for(let s=0;s<e;s++){let[o,a]=t.readStruct(ke);if(a!==0)return i(a);if(o===void 0)return i(14);n.push(o)}return p({hosts:n})}}});function ve(t){if(t.byteLength!==Gn)return i(10);return p(t)}var ku,vu,lt=32,Gn;var Ke=v(()=>{E();U();ku=Symbol("MasterSeed"),vu=Symbol("SealedMasterKey"),Gn=24+lt+16});function Yn(t){if(t.byteLength!==te)return i(10);return p(t)}function zn(t){if(t.byteLength<Po)return i(10);return p(t)}async function $n(t,e,r,n){if(e.byteLength!==te)return i(10);let s;try{s=await Bn(t,e)}catch{return i(29)}try{if(s.byteLength!==te||s.every((a)=>a===0))return i(10);let o=jt(r,n);try{let[a,c]=await st({parent:s,purpose:Z.Pair,kdm:o});if(c!==0)return i(c);return p(a)}finally{o.fill(0)}}finally{s.fill(0)}}async function Qn(t){let e;try{e=await lr()}catch{return i(29)}try{let[r,n]=await $n(e.priv,t,t,e.pub);if(n!==0)return i(n);return p({key:r,pub:e.pub})}finally{e.priv.fill(0)}}function Jn(t){for(let e of Object.getOwnPropertyNames(t)){if(Bo.has(e))continue;let r=Object.getOwnPropertyDescriptor(t,e);if(r===void 0||typeof r.value!=="function")continue;Object.defineProperty(t,e,{value:r.value,writable:!1,configurable:!1})}}class ee{#t;#e;constructor(t,e){this.#t=t,this.#e=e}static async create(){let t;try{let e=await lr();t=e.priv;let[r,n]=Yn(e.pub);if(n!==0)return i(n);let s=new ee(t,r);return t=void 0,p(s)}catch{return i(29)}finally{t?.fill(0)}}wipe(){this.#t.fill(0)}dhkeReq(){let t=this.#e.slice(),[e,r]=Yn(t);if(r!==0)return i(r);return p(e)}async finish(t){let e=t.subarray(0,te),r=t.subarray(te),[n,s]=await $n(this.#t,e,this.#e,e);if(s!==0)return i(s);let o;try{try{o=await Mt(r,n)}catch{return i(20)}let{fromSeedHosts:a}=await Promise.resolve().then(() => (Pr(),ts)),c=a(o);if(c[1]===0)this.wipe();return c}finally{n.fill(0),o?.fill(0)}}}var te=32,Po,Lu,Vu,Bo;var Zn=v(()=>{ct();E();U();ut();zt();Po=te+24+16,Lu=Symbol("DHKEReq"),Vu=Symbol("DHKEResp");Bo=new Set(["constructor","prototype","length","name"]);Jn(ee);Jn(ee.prototype)});function mt(t){let e=new Uint8Array(t);if(t>0)crypto.getRandomValues(e);return e}function ko(t){return t.trim().toLowerCase().replace(/\.$/,"")||"localhost"}function bt(t){let e=new Uint8Array(t.byteLength);return e.set(t),e.buffer}function He(t){if(t instanceof ArrayBuffer)return new Uint8Array(t).slice();return new Uint8Array(t.buffer,t.byteOffset,t.byteLength).slice()}function Ut(t){if(t?.rpId!==void 0)return p(t.rpId);if(typeof location>"u")return i(9);return p(ko(location.hostname))}function pt(t){if(t instanceof Error){es=t.message===""?t.name:`${t.name}: ${t.message}`;return}es=String(t)}function De(t){if(!(t instanceof Error))return!1;return t.name==="NotAllowedError"&&t.message.toLowerCase().includes("does not have focus")}function rs(){if(typeof document>"u")return!0;return document.visibilityState!=="hidden"}function re(){if(typeof globalThis.focus!=="function")return;try{globalThis.focus()}catch{}}function Me(t=2500){if(rs())return re(),Promise.resolve();return new Promise((e)=>{let r=()=>{clearTimeout(s),document.removeEventListener("visibilitychange",n),re(),e()},n=()=>{if(rs())r()},s=setTimeout(r,t);document.addEventListener("visibilitychange",n),n()})}async function Le(t){await Me();try{return await navigator.credentials.create(t)}catch(e){if(!De(e))throw e;return re(),await navigator.credentials.create(t)}}async function Ve(t){await Me();try{return await navigator.credentials.get(t)}catch(e){if(!De(e))throw e;return re(),await navigator.credentials.get(t)}}function kt(){if(typeof navigator>"u"||!navigator.credentials||typeof PublicKeyCredential>"u")return 24;return 0}function vt(t){if(t===null||t.type!==ft||!("rawId"in t)||typeof t.getClientExtensionResults!=="function")return i(27);return p(t)}function Er(t){if(t==="platform"||t==="cross-platform")return t;return}function Cr(t){let e=t.response;if(!("getTransports"in e))return;let r=e.getTransports;if(typeof r!=="function")return;let n=r.call(e);if(!Array.isArray(n))return;let s=[];for(let o of n)if(typeof o==="string"&&o.length>0)s.push(o);return s.length===0?void 0:s}function ss(t){let e=t.response;if(!("getAuthenticatorData"in e))return;let r=e.getAuthenticatorData;if(typeof r!=="function")return;let n=r.call(e);if(!(n instanceof ArrayBuffer))return;let s=new Uint8Array(n);if(s.byteLength<Br+ns)return;let o=s[vo];if(o===void 0||(o&Ko)===0)return;return s.slice(Br,Br+ns)}var Ct=32,Re="DIPLOMATIC",ft="public-key",Eo=-7,Co=-8,Uo=-257,Te,es="",vo=32,Ko=64,Br=37,ns=16;var de=v(()=>{E();U();Te=[{type:ft,alg:Eo},{type:ft,alg:Co},{type:ft,alg:Uo}]});async function os(t){let e=kt();if(e!==0)return i(e);let[r,n]=Ut(t);if(n!==0)return i(n);if(r===void 0)return i(9);let s=t?.userName??t?.rpName??r,o={residentKey:"required",requireResidentKey:!0,userVerification:"required"};if(t?.authenticatorAttachment!==void 0)o.authenticatorAttachment=t.authenticatorAttachment;let a={largeBlob:{support:"required"}},c;try{c=await Le({publicKey:{challenge:mt(Ct),rp:{id:r,name:t?.rpName??Re},user:{id:mt(16),name:s,displayName:s},pubKeyCredParams:Te,authenticatorSelection:o,extensions:a,...t?.hints!==void 0?{hints:t.hints}:{}}})}catch(d){return pt(d),i(30)}let[u,l]=vt(c);if(l!==0)return i(l);if(u===void 0)return i(27);if(u.getClientExtensionResults().largeBlob?.supported!==!0)return i(30);return p(new Uint8Array(u.rawId))}async function Ur(t,e,r,n){let s={challenge:mt(Ct),rpId:t,userVerification:"preferred"};if(e?.hints!==void 0)s.hints=e.hints;if(r!==void 0)s.allowCredentials=[{type:ft,id:bt(r)}];if(n!==void 0)s.extensions=n;let o;try{o=await Ve({publicKey:s})}catch(u){return pt(u),i(30)}let[a,c]=vt(o);if(c!==0)return i(c);if(a===void 0)return i(27);return p(a)}async function is(t,e){let r=kt();if(r!==0)return i(r);let[n,s]=Ut(e);if(s!==0)return i(s);if(n===void 0)return i(9);let o=t;if(o===void 0){let[d,h]=await Ur(n,e);if(h!==0&&e?.hints!==void 0)[d,h]=await Ur(n,{rpId:e.rpId,rpName:e.rpName});if(h!==0)return i(h);if(d===void 0)return i(27);o=new Uint8Array(d.rawId)}let[a,c]=await Ur(n,e,o,{largeBlob:{read:!0}});if(c!==0)return i(c);if(a===void 0)return i(27);let l=a.getClientExtensionResults().largeBlob;if(l===void 0||l.blob===void 0)return i(7);let f=He(l.blob);if(f.byteLength===0)return i(7);return p({blob:f,credId:new Uint8Array(a.rawId)})}var kr=v(()=>{E();U();de()});var Oe="";function To(){if(typeof Oe!=="string"||Oe.length===0)throw Error("[DIPLOMATIC] worker source not embedded; run pkg build before spawn");return atob(Oe)}function Ho(){if(_e!==void 0)return _e;let t=new Blob([To()],{type:"text/javascript"});return _e=URL.createObjectURL(t),_e}function as(){if(Ne===void 0)throw Error("[DIPLOMATIC] Worker API unavailable; cannot spawn sync worker");return new Ne(Ho(),{type:"module"})}function cs(t,e,r){if(vr===void 0)throw Error("[DIPLOMATIC] Worker API unavailable; cannot post to sync worker");if(r!==void 0&&r.length>0)vr.call(t,e,{transfer:r});else vr.call(t,e)}var Ne,vr,_e;var us=v(()=>{Ne=typeof globalThis.Worker==="function"?globalThis.Worker:void 0,vr=Ne===void 0?void 0:Ne.prototype.postMessage});async function ls(t){if(t?.credId!==void 0)return p(t.credId);return os(t)}async function Kr(t,e,r){let n=kt();if(n!==0)return n;let[s,o]=Ut(r);if(o!==0)return o;if(s===void 0)return 9;await Me();let a=new Uint8Array(e.byteLength);a.set(e);let c={largeBlob:{write:a.buffer}},u={publicKey:{challenge:mt(Ct),rpId:s,allowCredentials:[{type:ft,id:bt(t)}],userVerification:"required",extensions:c,...r?.hints!==void 0?{hints:r.hints}:{}}},l;try{try{l=await navigator.credentials.get(u)}catch(y){if(!De(y))return pt(y),30;re();try{l=await navigator.credentials.get(u)}catch(b){return pt(b),30}}}catch(y){return pt(y),30}finally{a.fill(0)}let[f,d]=vt(l);if(d!==0)return d;if(f===void 0)return 27;if(f.getClientExtensionResults().largeBlob?.written!==!0)return 30;return 0}function fs(t,e){return Kr(t,new Uint8Array(lt),e)}var ps=v(()=>{E();Ke();U();de();kr()});var Rr,Tr="diplomatic-prf";var ds=v(()=>{de();Rr=new TextEncoder().encode("diplomatic.prf.v1")});function Do(t){if(t===void 0)return[];if(t instanceof Uint8Array)return[t];return t.filter((e)=>e.byteLength>0)}function Mo(t){if(!(t instanceof Error))return!1;return t.name==="NotSupportedError"||t.name==="TypeError"}function ys(t){if(t===void 0)return;let e=He(t);if(e.byteLength<Hr){e.fill(0);return}if(e.byteLength===Hr)return e;let r=e.slice(0,Hr);return e.fill(0),r}async function Lo(t){let e=kt();if(e!==0)return i(e);let[r,n]=Ut(t);if(n!==0)return i(n);let s=t?.userName??Tr,o=t?.displayName??s,a=mt(16),c=t?.authenticatorAttachment==="cross-platform",u={residentKey:c?"discouraged":"required",requireResidentKey:!c,userVerification:c?"preferred":"required"};if(t?.authenticatorAttachment!==void 0)u.authenticatorAttachment=t.authenticatorAttachment;let l={challenge:mt(Ct),rp:{id:r,name:t?.rpName??Re},user:{id:a,name:s,displayName:o},pubKeyCredParams:Te,authenticatorSelection:u,...t?.hints!==void 0?{hints:t.hints}:{},...t?.excludeCredentials!==void 0&&t.excludeCredentials.length>0?{excludeCredentials:t.excludeCredentials.map((w)=>({type:ft,id:bt(w)}))}:{}},f=t?.salt!==void 0?bt(t.salt):void 0,d=(w)=>Le({publicKey:{...l,extensions:w&&f!==void 0?{prf:{eval:{first:f}}}:{prf:{}}}}),h;try{h=await d(f!==void 0)}catch(w){if(f===void 0||!Mo(w))return pt(w),i(30);try{h=await d(!1)}catch(C){return pt(C),i(30)}}let[y,b]=vt(h);if(b!==0)return i(b);let m=y.getClientExtensionResults(),I=ys(m.prf?.results?.first),x=m.prf?.enabled===!0||I!==void 0;if(c&&I!==void 0)I.fill(0);return p({credId:new Uint8Array(y.rawId),userId:new Uint8Array(a),prfEnabled:x,prf:c?void 0:I,attachment:Er(y.authenticatorAttachment),transports:Cr(y),aaguid:ss(y)})}async function hs(t){let e=kt();if(e!==0)return i(e);let[r,n]=Ut(t);if(n!==0)return i(n);let s=t?.salt??Rr,a={eval:{first:bt(s)}},c=t?.salts;if(c!==void 0&&c.length>0){let m={};for(let I of c){if(I.credId.byteLength===0)continue;m[ln(I.credId)]={first:bt(I.salt)}}a.evalByCredential=m}let u={challenge:mt(Ct),rpId:r,userVerification:"preferred",extensions:{prf:a}};if(t?.hints!==void 0)u.hints=t.hints;let l=Do(t?.credId);if(l.length>0)u.allowCredentials=l.map((m)=>({type:ft,id:bt(m)}));let f;try{f=await Ve({publicKey:u})}catch(m){return pt(m),i(30)}let[d,h]=vt(f);if(h!==0)return i(h);let y=d.getClientExtensionResults().prf?.results;if(y?.first===void 0)return i(7);let b=ys(y.first);if(b===void 0)return i(27);return p({prf:b,credId:new Uint8Array(d.rawId),attachment:Er(d.authenticatorAttachment),transports:Cr(d)})}async function ms(t){let e=t?.salt??Rr,r=t?.credId,n=r,s=t?.createCredIfNeeded===!0&&(r===void 0||!(r instanceof Uint8Array)&&r.length===0),o,a;if(s){let[f,d]=await Lo({rpId:t?.rpId,rpName:t?.rpName,userName:t?.userName??Tr,displayName:t?.displayName,authenticatorAttachment:t?.authenticatorAttachment,hints:t?.hints,excludeCredentials:t?.excludeCredentials,salt:e});if(d!==0)return i(d);if(!f.prfEnabled)return i(30);n=f.credId,o=f,a=f.prf}let c=(f,d,h,y)=>p({prf:f,salt:e.slice(),credId:d.slice(),userId:o?.userId===void 0?void 0:o.userId.slice(),attachment:h??o?.attachment,transports:y??o?.transports,aaguid:o?.aaguid===void 0?void 0:o.aaguid.slice()});if(a!==void 0&&o!==void 0)return c(a,o.credId,o.attachment,o.transports);let[u,l]=await hs({rpId:t?.rpId,rpName:t?.rpName,credId:n,salt:e,hints:t?.hints});if(l!==0)return i(l);return c(u.prf,u.credId,u.attachment,u.transports)}async function bs(t,e){let r=[],n=[],s=!1;for(let l of t){if(l.credId.byteLength===0)continue;r.push(l.credId);let f=l.salt??e.salt;if(!Ht(f,e.salt))s=!0;n.push({credId:l.credId,salt:f})}let[o,a]=await hs({rpId:e.rpId,rpName:e.rpName,hints:e.hints,credId:r.length>0?r:void 0,salt:e.salt,salts:s?n:void 0});if(a!==0)return i(a);let c=t.find((l)=>Ht(l.credId,o.credId)),u=c===void 0?t:[c,...t.filter((l)=>l!==c)];return p({prf:o.prf,credId:o.credId.slice(),order:u})}var Hr=32;var Ss=v(()=>{ct();E();U();de();ds()});async function gs(t,e){return st({parent:t,purpose:Z.RealmKey,kdm:e})}async function Is(t,e){return st({parent:t,purpose:Z.RealmID,kdm:e})}async function xs(t,e){return st({parent:t,purpose:Z.HostRLM,kdm:e})}var ws=v(()=>{ut()});function As(t){return t}class ne{publicKey;idnt;realm;rlm;idKDM;realmKDM;constructor(t,e,r,n,s,o){this.publicKey=t;this.idnt=e;this.realm=r;this.rlm=n;this.idKDM=s;this.realmKDM=o}static async init(t,e,r,n,s){try{let o=await Be(As(t)),a=o.publicKey;o.privateKey.fill(0);let c=Object.freeze({...n}),u=Object.freeze({...s}),l=new ne(a,t,e,r,c,u);return p(l)}catch{return t.fill(0),e.fill(0),r.fill(0),i(29)}}async sign(t){let e;try{e=await Be(As(this.idnt))}catch{return i(29)}try{return p(await ur(t,e.privateKey))}catch{return i(29)}finally{e.privateKey.fill(0)}}async bagKDM(t){let[e,r]=await st({parent:this.idnt,purpose:Z.BagKdm,kdm:t});if(r!==0)return i(r);try{return p(e.slice(0,Gt))}finally{e.fill(0)}}async encrypt(t,e){let[r,n]=await this.#t(t.slice());if(n!==0)return i(n);try{return p(await Yt(e,r))}catch{return i(29)}finally{r.fill(0)}}async decrypt(t,e){let[r,n]=await this.#t(t.slice());if(n!==0)return i(n);try{return p(await Mt(e,r))}catch{return i(20)}finally{r.fill(0)}}async#t(t){return st({parent:this.realm,purpose:Z.Cipher,kdm:t})}}function Ps(t){for(let e of Object.getOwnPropertyNames(t)){if(Vo.has(e))continue;let r=Object.getOwnPropertyDescriptor(t,e);if(r===void 0||typeof r.value!=="function")continue;Object.defineProperty(t,e,{value:r.value,writable:!1,configurable:!1})}}var Vo;var Bs=v(()=>{E();U();ut();zt();Vo=new Set(["constructor","prototype","length","name"]);Ps(ne);Ps(ne.prototype)});var ts={};_s(ts,{Enclave:()=>dt,MUSEC_MIN_LEN:()=>Cs,asMasterSeed:()=>qe,fromSeedHosts:()=>Us});function Us(t){if(t.byteLength===0||t.every((c)=>c===0))return i(22);if(t.byteLength<lt+1)return i(14);let e=t.subarray(0,lt);if(e.every((c)=>c===0))return i(22);let r=new Y(t.subarray(lt)),[n,s]=r.readStruct(Ar);if(s!==0)return i(s);if(n===void 0)return i(14);if(!r.done())return i(14);let[o,a]=dt.fromBytes(e);if(a!==0)return i(a);return p({enclave:o,hosts:n.hosts.map((c)=>({...c}))})}function qe(t){if(t.byteLength!==lt)return i(10);return[t,0]}async function Es(t){if(t.byteLength<_o)return i(10);let e=Z.Bind;return st({parent:t,purpose:e,kdm:nt})}class Kt{#t;constructor(t){this.#t=t}static async mix(t){let e,r,n;try{if(t.byteLength<Cs)return i(10);e=await cr(),r=new Uint8Array(e.byteLength+t.byteLength),r.set(e,0),r.set(t,e.byteLength),n=await le(r);let[s,o]=qe(n);if(o!==0)return i(o);let a=new Kt(s);return n=void 0,p(a)}finally{e?.fill(0),r?.fill(0),t.fill(0),n?.fill(0)}}static importSeed(t){let[e,r]=qe(t);if(r!==0)return i(r);let[n,s]=qe(e.slice());if(s!==0)return i(s);return p(new Kt(n))}static async unseal(t,e){let[,r]=ve(t);if(r!==0)return i(r);let[n,s]=await Es(e);if(s!==0)return i(s);let o;try{try{o=await Mt(t,n)}catch{return i(20)}return Kt.importSeed(o)}finally{n.fill(0),o?.fill(0)}}async idnt(t){let e=Z.Identity;return st({parent:this.#t,purpose:e,kdm:t})}async realmKey(t){return gs(this.#t,t)}async realmID(t){return Is(this.#t,t)}async exportFileKey(t){let e=Z.Export;return st({parent:this.#t,purpose:e,kdm:t})}async fingerprint(t){let e=Z.Fingerprint;return await st({parent:this.#t,purpose:e,kdm:t})}async bindTag(t){let e=Z.BindTag;return await st({parent:this.#t,purpose:e,kdm:t})}async seal(t){let[e,r]=await Es(t);if(r!==0)return i(r);try{let n=await Yt(this.#t,e);return ve(n)}catch{return i(12)}finally{e.fill(0)}}async sealSeedHosts(t,e){let[r,n]=this.#e(e);if(n!==0)return i(n);try{return p(await Yt(r,t))}catch{return i(12)}finally{r.fill(0)}}#e(t){let e=new T,r=e.writeStruct(Ar,{hosts:t.map((o)=>({handle:o.handle,label:o.label,idx:o.idx??0}))});if(r!==0)return i(r);let n=e.result(),s=new Uint8Array(lt+n.byteLength);return s.set(this.#t,0),s.set(n,lt),[s,0]}async persistToLargeBlob(t,e){let[r,n]=await ls(e);if(n!==0)return i(n);let[s,o]=this.#e(t);if(o!==0)return i(o);try{let a=await Kr(r,s,e);if(a!==0)return i(a);return p(r)}finally{s.fill(0)}}async dumpToTTY(){return 21}copyForWorker(){return this.#t.slice()}}class dt{#t;constructor(t){this.#t=t}static async fromRandom(t){try{let[e,r]=await Kt.mix(t);if(r!==0)return i(r);return p(new dt(e))}finally{t.fill(0)}}static fromBytes(t){let[e,r]=Kt.importSeed(t);if(r!==0)return i(r);return p(new dt(e))}async sealWithPasskey(t){let[e,r]=await ms(t);if(r!==0)return i(r);try{let[n,s]=await this.#t.seal(e.prf);if(s!==0)return i(s);return p({sealedMaster:n,salt:e.salt,credId:e.credId,userId:e.userId,attachment:e.attachment,transports:e.transports,aaguid:e.aaguid})}finally{e.prf.fill(0)}}async bind(t,e){if(e!==void 0)for(let a of e){if(a.tag.byteLength!==Oo)return i(10);let[c,u]=await this.#t.bindTag(a.credId);if(u!==0)return i(u);try{if(!we(c,a.tag))return i(10)}finally{c.fill(0)}}let[r,n]=await this.sealWithPasskey(t);if(n!==0)return i(n);let[s,o]=await this.#t.bindTag(r.credId);if(o!==0)return i(o);return p({...r,tag:s})}static async unsealWithPasskey(t,e){if(t.length===0)return i(22);let[r,n]=await bs(t,e);if(n!==0)return i(n);try{for(let s of r.order){let[o,a]=await Kt.unseal(s.sealedMaster,r.prf);if(a===0)return p({enclave:new dt(o),credId:r.credId})}return i(20)}finally{r.prf.fill(0)}}async sealWithIKM(t){try{return await this.#t.seal(t)}finally{t.fill(0)}}static async unsealWithIKM(t,e){try{let[r,n]=await Kt.unseal(t,e);if(n!==0)return i(n);return p(new dt(r))}finally{e.fill(0)}}async persistToLargeBlob(t=[],e){return this.#t.persistToLargeBlob(t,e)}static async fromLargeBlob(t){let[e,r]=await is(t?.credId,t);if(r!==0)return i(r);try{let[n,s]=Us(e.blob);if(s!==0)return i(s);return p({...n,credId:e.credId})}finally{e.blob.fill(0)}}static clearLargeBlob(t,e){return fs(t,e)}async dumpToTTY(){return this.#t.dumpToTTY()}static pairRequest(){return ee.create()}async pairAccept(t,e,r){if(r.userControlsBothSidesOfPair!==!0)return i(10);let[n,s]=await Qn(t);if(s!==0)return i(s);try{let[o,a]=await this.#t.sealSeedHosts(n.key,e);if(a!==0)return i(a);return zn(jt(n.pub,o))}finally{n.key.fill(0)}}spawnSyncWorker(t){let e=as(),r=this.#t.copyForWorker();return cs(e,{id:t.id,op:"setSeed",seed:r,persist:t.persist},[r.buffer]),e}async exportKey(t){if(t.byteLength!==H)return i(10);return this.#t.exportFileKey(t)}async bagman(t,e){let[r,n]=await this.#t.idnt(t);if(n!==0)return i(n);let[s,o]=await this.#t.realmKey(e);if(o!==0)return r.fill(0),i(o);let[a,c]=await this.#t.realmID(e);if(c!==0)return r.fill(0),s.fill(0),i(c);try{let[u,l]=await xs(a,t);if(l!==0)return r.fill(0),s.fill(0),i(l);return ne.init(r,s,u,t,e)}finally{a.fill(0)}}async fingerprint(t=nt){return this.#t.fingerprint(t)}}function ks(t){for(let e of Object.getOwnPropertyNames(t)){if(No.has(e))continue;let r=Object.getOwnPropertyDescriptor(t,e);if(r===void 0||typeof r.value!=="function")continue;Object.defineProperty(t,e,{value:r.value,writable:!1,configurable:!1})}}var Oo=32,_o=16,Cs=32,No;var Pr=v(()=>{ct();J();jn();E();Ke();U();ut();zt();Zn();kr();us();ps();Ss();ws();Bs();No=new Set(["constructor","prototype","length","name"]);ks(dt);ks(dt.prototype)});zt();var Lt=En;J();J();E();J();E();U();var Ee={encode(t,e){let r=t.writeVarBytes(e.id);if(r!==0)return r;let n=t.writeDate(e.ts);if(n!==0)return n;return 0},decode(t){let[e,r]=t.readVarBytes();if(r!==0)return i(r);let[n,s]=t.readDate();if(s!==0)return i(s);return p({id:e,ts:n})}};function Cn(t){let e=new T,r=e.writeStruct(Ee,t);if(r!==0)return i(r);let n=e.result();return p(n)}U();var fr={encode(t,e){let r=t.writeVarString(e.typ??"");if(r!==0)return r;let n=t.writeVarBytes(e.eid);if(n!==0)return n;let s=t.writeVarInt(e.off);if(s!==0)return s;let o=t.writeVarInt(e.ctr);if(o!==0)return o;let a=t.writeVarInt(e.len);if(a!==0)return a;if(e.hsh)t.writeBytes(e.hsh);return 0},decode(t){let[e,r]=t.readVarString();if(r!==0)return i(r);let[n,s]=t.readVarBytes();if(s!==0)return i(s);let o=new Y(n),[,a]=Ee.decode(o);if(a!==0)return i(a);let[c,u]=t.readVarInt();if(u!==0)return i(u);let[l,f]=t.readVarInt();if(f!==0)return i(f);let[d,h]=t.readVarInt();if(h!==0)return i(h);let y;if(d>0){let[b,m]=t.readBytes(dn);if(m!==0)return i(m);y=b}return p({typ:e,eid:n,off:c,ctr:l,len:d,hsh:y})}};E();ct();U();function Ce(t,e){return jt(t,e)}function Un(t,e,r){if(t.rlm.byteLength!==H)return Promise.resolve(!1);return r.checkSigEd25519(t.sig,Ce(t.rlm,t.headCph),e)}async function kn(t,e,r){let n;if(t.bod&&t.len>0)n=await r.blake3(t.bod);let s=new T,o=fr.encode(s,{...t,hsh:n});if(o!==0)return i(o);let a=s.result(),[c,u]=await e.bagKDM(a);if(u!==0)return i(u);let l=e.rlm,[f,d]=await e.encrypt(c,a);if(d!==0)return i(d);let h=new Uint8Array(0);if(t.bod){let[I,x]=await e.encrypt(c,t.bod);if(x!==0)return i(x);h=I}let y=Ce(l,f),[b,m]=await e.sign(y);if(m!==0)return i(m);return p({rlm:l,sig:b,kdm:c,headCph:f,bodyCph:h})}async function vn(t,e,r,n,s){let o=new Y(t),[a,c]=fr.decode(o);if(c!==0)return i(14);let u;if(e&&e.length>0){let[h,y]=await r.decrypt(e);if(y!==0)return i(y);u=h}let l=a.hsh&&u===void 0,f=a.hsh===void 0&&u!==void 0;if(l||f)return i(19);if(a.hsh&&u){let h=await n.blake3(u);if(!Ht(h,a.hsh))return i(19)}let d=s??await n.blake3(t);return p({msgHead:a,bod:u,headHash:d})}ct();J();E();U();async function pr(t,e){let r=new T,n=r.writeDate(e);if(n!==0)return i(n);let s=r.result(),[o,a]=await t.sign(s);if(a!==0)return i(a);return p({pubKey:t.publicKey,sig:o,timestamp:e})}async function at(t,e,r){let n=r.now().getTime(),s=t.timestamp.getTime();if(Math.abs(n-s)>yn)return 4;let a=new T;a.writeDate(t.timestamp);let c=a.result(),u;try{u=await e.importVerifyKey(t.pubKey)}catch{return 29}if(!await e.checkSigEd25519(t.sig,c,u))return 3;return 0}class $t{now(){return new Date}}function Kn(t,e,r,n){let s=e.getTime()-t.getTime(),o=r.getTime()-n.getTime();return(s+o)/2}J();dr();E();U();E();U();var fe={encode(t,e){if(t.writeVarInt(e.quota),e.quota>0){if(e.usage===void 0)return 9;t.writeVarInt(e.usage)}return 0},decode(t){let[e,r]=t.readVarInt();if(r!==0)return i(r);let n;if(e>0){let[s,o]=t.readVarInt();if(o!==0)return i(o);n=s}return p({quota:e,usage:n})}};var Qt={encode(t,e){t.writeBytes(new Uint8Array([e.status]));let r=t.writeDate(e.timeRcvd);if(r!==0)return r;let n=t.writeDate(e.timeSent);if(n!==0)return n;let s=t.writeVarInt(e.subscription.term);if(s!==0)return s;let o=t.writeVarInt(e.subscription.elapsed);if(o!==0)return o;let a=t.writeStruct(fe,e.subscription.stat);if(a!==0)return a;let c=t.writeStruct(fe,e.subscription.dyn);if(c!==0)return c;return 0},decode(t){let[e,r]=t.readBytes(1);if(r!==0)return i(r);let n=e[0],[s,o]=t.readDate();if(o!==0)return i(o);let[a,c]=t.readDate();if(c!==0)return i(c);let[u,l]=t.readVarInt();if(l!==0)return i(l);let[f,d]=t.readVarInt();if(d!==0)return i(d);let[h,y]=t.readStruct(fe);if(y!==0)return i(y);let[b,m]=t.readStruct(fe);if(m!==0)return i(m);return p({status:n,timeRcvd:s,timeSent:a,subscription:{term:u,elapsed:f,stat:h,dyn:b}})}};E();ut();J();E();E();E();U();var yr={encode(t,e){let r=t.writeVarBytes(e.headCph);if(r!==0)return r;let n=t.writeVarInt(e.seq);if(n!==0)return n;return 0},decode(t){let[e,r]=t.readVarBytes();if(r!==0)return i(r);let[n,s]=t.readVarInt();if(s!==0)return i(s);return p({headCph:e,seq:n})}};E();U();var tt={encode(t,e){t.writeBytes(e.pubKey),t.writeBytes(e.sig);let r=t.writeDate(e.timestamp);if(r!==0)return r;return 0},decode(t){let[e,r]=t.readBytes(pn);if(r!==0)return i(r);let[n,s]=t.readBytes(Dt);if(s!==0)return i(s);let[o,a]=t.readDate();if(a!==0)return i(a);return p({pubKey:e,sig:n,timestamp:o})}};ut();U();var Mn={encode(t,e){if(e.rlm.byteLength!==H)return 10;return t.writeBytes(e.rlm),t.writeVarInt(e.seq)},decode(t){let[e,r]=t.readBytes(H);if(r!==0)return i(r);let[n,s]=Et(e);if(s!==0)return i(s);let[o,a]=t.readVarInt();if(a!==0)return i(a);return p({rlm:n,seq:o})}},Ln={async encodeReq(t,e,r,n,s){let o=s.writeStruct(tt,r);if(o!==0)return o;return s.writeStruct(Mn,n)},async handleReq(t,e,r){let{clock:n,crypto:s,storage:o}=t,[a,c]=e.readStruct(tt);if(c!==0)return c;let u=await at(a,s,n);if(u!==0)return u;let{pubKey:l}=a,[f,d]=await o.hasUser(l);if(d!==0)return d;if(!f)return 5;let[h,y]=e.readStruct(Mn);if(y!==0)return y;if(!e.done())return 8;let[b,m]=await o.listHeads(l,h.rlm,h.seq);if(m!==0)return m;return r.writeStructs(yr,b)},decodeResp(t){return t.readStructs(yr)}};E();U();var hr={encode(t,e){t.writeVarInt(e.seq);let r=t.writeVarBytes(e.bodyCph);if(r!==0)return r;return 0},decode(t){let[e,r]=t.readVarInt();if(r!==0)return i(r);let[n,s]=t.readVarBytes();if(s!==0)return i(s);return p({seq:e,bodyCph:n})}};E();ut();U();var Vn={encode(t,e){if(e.rlm.byteLength!==H)return 10;t.writeBytes(e.rlm);for(let r of e.seqs){let n=t.writeVarInt(r);if(n!==0)return n}return 0},decode(t){let[e,r]=t.readBytes(H);if(r!==0)return i(r);let[n,s]=Et(e);if(s!==0)return i(s);let o=[];while(!t.done()){let[a,c]=t.readVarInt();if(c!==0)return i(c);o.push(a)}return p({rlm:n,seqs:o})}},On={async encodeReq(t,e,r,n,s){let o=s.writeStruct(tt,r);if(o!==0)return o;return s.writeStruct(Vn,n)},async handleReq(t,e,r){let{clock:n,crypto:s,storage:o}=t,[a,c]=e.readStruct(tt);if(c!==0)return c;let u=await at(a,s,n);if(u!==0)return u;let{pubKey:l}=a,[f,d]=await o.hasUser(l);if(d!==0)return d;if(!f)return 5;let[h,y]=e.readStruct(Vn);if(y!==0)return y;console.info(`PULL: ${h.seqs.length} bags`);let[b,m]=await o.getBodies(l,h.rlm,h.seqs);if(m!==0)return m;if(!b)return 17;for(let{seq:I,bodyCph:x}of b){let w={seq:I,bodyCph:x},C=r.writeStruct(hr,w);if(C!==0)return C}return 0},decodeResp(t){return t.readStructs(hr)}};J();E();ut();U();var mr={encode(t,e){if(e.rlm.byteLength!==H)return 10;if(e.sig.byteLength!==Dt)return 10;t.writeBytes(e.sig),t.writeBytes(e.rlm),t.writeBytes(e.kdm);let r=t.writeVarBytes(e.headCph);if(r!==0)return r;let n=t.writeVarBytes(e.bodyCph);if(n!==0)return n;return 0},decode(t){let[e,r]=t.readBytes(Dt);if(r!==0)return i(r);let[n,s]=t.readBytes(H);if(s!==0)return i(s);let[o,a]=Et(n);if(a!==0)return i(a);let[c,u]=t.readBytes(Gt);if(u!==0)return i(u);let[l,f]=t.readVarBytes();if(f!==0)return i(f);let[d,h]=t.readVarBytes();if(h!==0)return i(h);return p({rlm:o,sig:e,kdm:c,headCph:l,bodyCph:d})}};E();ut();U();var br={encode(t,e){let r=t.writeVarInt(e.seq);if(r!==0)return r;if(e.rlm.byteLength!==H)return 10;t.writeBytes(e.rlm);let n=t.writeVarBytes(e.headCph);if(n!==0)return n;let s=e.bodyCph?e.bodyCph.length:0,o=t.writeVarInt(s);if(o!==0)return o;if(s>0){if(!e.bodyCph)return 10;t.writeBytes(e.bodyCph)}return 0},decode(t){let[e,r]=t.readVarInt();if(r!==0)return i(r);let[n,s]=t.readBytes(H);if(s!==0)return i(s);let[o,a]=Et(n);if(a!==0)return i(a);let[c,u]=t.readVarBytes();if(u!==0)return i(u);let[l,f]=t.readVarInt();if(f!==0)return i(f);let d;if(l>0){let[h,y]=t.readBytes(l);if(y!==0)return i(y);d=h}return p({seq:e,rlm:o,headCph:c,bodyCph:d})}};E();U();var Jt={encode(t,e){t.writeBytes(e.sig),t.writeBytes(e.kdm);let r=t.writeVarBytes(e.headCph);if(r!==0)return r;return 0},decode(t){let[e,r]=t.readBytes(Dt);if(r!==0)return i(r);let[n,s]=t.readBytes(Gt);if(s!==0)return i(s);let[o,a]=t.readVarBytes();if(a!==0)return i(a);return p({sig:e,kdm:n,headCph:o})}};E();U();var pe={encode(t,e){if(t.writeVarInt(e.idx),t.writeBytes(new Uint8Array([e.status])),e.status===0)t.writeVarInt(e.seq);return 0},decode(t){let[e,r]=t.readVarInt();if(r!==0)return i(r);let[n,s]=t.readBytes(1);if(s!==0)return i(s);let o=n[0];if(o!==0)return p({idx:e,status:o});let[a,c]=t.readVarInt();if(c!==0)return i(c);return p({idx:e,status:o,seq:a})}};E();var _n={encode(t,e){return t.writeStructs(mr,e)},decode(t){return t.readStructs(mr)}},Nn={async encodeReq(t,e,r,n,s){let o=s.writeStruct(tt,r);if(o!==0)return o;return s.writeStruct(_n,n)},async handleReq(t,e,r){let{clock:n,crypto:s,storage:o,notifier:a}=t,[c,u]=e.readStruct(tt);if(u!==0)return u;let l=await at(c,s,n);if(l!==0)return l;let{pubKey:f}=c,[d,h]=await o.hasUser(f);if(h!==0)return h;if(!d)return 5;let[y,b]=e.readStruct(_n);if(b!==0)return b;console.info(`PUSH: ${y.length} bags`);let m;try{m=await s.importVerifyKey(f)}catch{return 29}let I=[],x=[];for(let k=0;k<y.length;k++){let K=y[k];if(!await Un(K,m,s)){let D={idx:k,status:3},M=r.writeStruct(pe,D);if(M!==0)return M;continue}I.push(k),x.push(K)}let[w,C]=await o.setBags(f,x);if(C!==0)return C;if(!w||w.length!==x.length)return 17;let A=[];for(let k=0;k<x.length;k++){let K=x[k],X=I[k],D=w[k];if(D.status!==0){let F={idx:X,status:D.status},N=r.writeStruct(pe,F);if(N!==0)return N;continue}let M=D.seq,V=new T,O=V.writeStruct(Jt,K);if(O!==0)return O;let q=V.result(),S={seq:M,rlm:K.rlm,headCph:q};if(y.length===1&&K.bodyCph.length<=hn)S.bodyCph=K.bodyCph;A.push(S);let W={idx:X,status:0,seq:M},_=r.writeStruct(pe,W);if(_!==0)return _}if(A.length>0){let k=new T,K=k.writeStructs(br,A);if(K!==0)return K;let X=k.result();await Promise.resolve(a.push(f,X))}return 0},decodeResp(t){return t.readStructs(pe)}};E();U();var qn={async encodeReq(t,e,r,n,s){return s.writeStruct(tt,r)},async handleReq(t,e,r){let{clock:n,crypto:s,storage:o}=t,[a,c]=e.readStruct(tt);if(c!==0)return c;let u=await at(a,s,n);if(u!==0)return u;let{pubKey:l}=a;if(!e.done())return 8;let[f,d]=await o.addUser(l);if(d!==0)return d;return 0},decodeResp(t){return p(void 0)}};ct();J();E();class Sr{url;websocket;constructor(t){this.url=t}connected(){return this.websocket!==void 0&&this.websocket.readyState===WebSocket.OPEN}async connect(t,e,r=()=>{},n=()=>{}){let{url:s}=this;if(this.websocket)this.websocket.close(),this.websocket=void 0;let o=new T;o.writeStruct(tt,t);let a=o.result(),c=it(a);return s.searchParams.set("t",c),this.websocket=new WebSocket(s),this.websocket.binaryType="arraybuffer",this.websocket.onopen=()=>{console.log("CONNECTED"),n()},this.websocket.onclose=()=>{console.log("DISCONNECTED"),this.websocket=void 0,r()},this.websocket.onmessage=(u)=>{let l=new Uint8Array(u.data);e(l)},this.websocket.onerror=(u)=>{console.log(`ERROR: ${JSON.stringify(u)}`),this.websocket=void 0,r()},Promise.resolve(0)}disconnect(){this.websocket?.close(),this.websocket=void 0}}U();var z={user:{path:"/user",endpoint:qn,name:0},push:{path:"/push",endpoint:Nn,name:2},peek:{path:"/peek",endpoint:Ln,name:1},pull:{path:"/pull",endpoint:On,name:3}},xo={0:z.user,2:z.push,1:z.peek,3:z.pull},Wn={[z.user.path]:z.user,[z.push.path]:z.push,[z.peek.path]:z.peek,[z.pull.path]:z.pull};class Fn{url;listener;constructor(t){this.url=t;this.listener=new Sr(t)}async call(t,e){let{path:r}=xo[t],n=new URL(r,this.url);try{return await Ao(n,e)}catch{return i(25)}}}var gr=(t)=>new Fn(t.handle);function Zt(t){let e=new T;if(e.writeStruct(Qt,t)!==0)return new Response(null,{status:500});return Ir(e)}function Ir(t){let e=t.result().slice();return new Response(e,{status:200,headers:{"content-type":"application/octet-stream"}})}var wo={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,POST,OPTIONS"};function xr(t){return new Response(t.body,{headers:{...t.headers,...wo},status:t.status,statusText:t.statusText})}async function Ao(t,e){let r=await fetch(t,{method:"POST",body:e.result().slice()});if(!r.ok)return i(24);let n=await Y.fromResponse(r);return p(n)}U();async function Xn(t,e,r=[nt]){let n=[];for(let s of r){let[o,a]=await t.bagman(e,s);if(a!==0)return i(a);n.push(o)}return p(n)}class Ue{crypto;clock;transport;updateHostMeta;#t;constructor(t,e,r,n,s){this.crypto=e;this.clock=r;this.transport=n;this.updateHostMeta=s;this.#t=t}async call(t,e){let{clock:r,transport:n}=this,{endpoint:s,name:o}=t,[a,c]=await this.identity();if(c!==0)return i(c);let u=r.now(),[l,f]=await pr(a,u);if(f!==0)return i(f);let d=new T,h=await s.encodeReq(this,a,l,e,d);if(h!==0)return i(h);let y=r.now(),[b,m]=await n.call(o,d),I=r.now();if(m!==0)return i(m);let[x,w]=b.readStruct(Qt);if(w!==0)return i(w);if(x.status!==0)return i(x.status);let A={clockOffset:Kn(y,x.timeRcvd,x.timeSent,I),subscription:x.subscription},k=await this.updateHostMeta(A);if(k!==0)return i(k);return s.decodeResp(b)}bagMgrFor(t=nt){return this.#t.find((e)=>Rn(t,e.realmKDM))}bagMgrs(){return this.#t}add(t){if(this.bagMgrFor(t.realmKDM)!==void 0)return;this.#t.push(t)}identity=()=>{let t=this.bagMgrFor(nt)??this.#t[0];if(t===void 0)return Promise.resolve(i(13));return Promise.resolve(p(t))};hostRlm=(t=nt)=>{let e=this.bagMgrFor(t);if(e===void 0)return Promise.resolve(i(13));return Promise.resolve(p(e.rlm))};seal=async(t,e=nt)=>{let r=this.bagMgrFor(e);if(r===void 0)return i(13);return kn(t,r,this.crypto)};register=()=>this.call(z.user,void 0);peek=async(t,e=nt)=>{let[r,n]=await this.hostRlm(e);if(n!==0)return i(n);return this.call(z.peek,{rlm:r,seq:t})};push=(t)=>this.call(z.push,t);pull=async(t,e=nt)=>{let[r,n]=await this.hostRlm(e);if(n!==0)return i(n);return this.call(z.pull,{rlm:r,seqs:t})};listen=async(t,e,r)=>{let{clock:n,transport:s}=this,{listener:o}=s,[a,c]=await this.identity();if(c!==0)return c;let u=n.now(),[l,f]=await pr(a,u);if(f!==0)return f;return await o.connect(l,t,e,r)};isConnected(){let t=this.transport?.listener;if(t&&typeof t.connected==="function")return t.connected();return!0}closeListener(){this.transport?.listener?.disconnect()}}E();ut();Pr();J();E();U();async function vs(t,e,r,n=0){let s=e.now(),o=new T,a=o.writeVarString(t);if(a!==0)return i(a);let u={id:o.result(),ts:new Date(0)},[l,f]=Cn(u);if(f!==0)return i(f);let d=s.getTime()-u.ts.getTime();return p({eid:l,off:d,ctr:n,typ:"",len:r.length,bod:r})}J();E();U();async function Ks(t,e,r,n){let s=r.rlm;if(s.byteLength!==H)return i(10);let o=new Y(t.headCph),[a,c]=o.readStruct(Jt);if(c!==0)return i(c);let{sig:u,kdm:l,headCph:f}=a;if(!await n.checkSigEd25519(u,Ce(s,f),e))return i(3);let[h,y]=await r.decrypt(l,f);if(y!==0)return i(y);return p({kdm:l,headEnc:h})}U();J();E();ct();import{Database as qo}from"bun:sqlite";Ke();var tf=Symbol("EntityID");var ef=Symbol("DerivationSeed"),rf=Symbol("PublicKey"),nf=Symbol("PrivateKey"),sf=Symbol("HostSpecificKeyPair"),of=Symbol("Hash"),Bt={term:0,elapsed:0,stat:{quota:0},dyn:{quota:0}};J();E();U();function Wo(t="diplomatic.db"){let e=new qo(t);return e.exec("PRAGMA journal_mode=WAL;"),e.exec("PRAGMA synchronous=NORMAL;"),e.exec(`
|
|
2
2
|
CREATE TABLE IF NOT EXISTS users (
|
|
3
3
|
pubKey TEXT PRIMARY KEY
|
|
4
4
|
);
|
|
@@ -10,4 +10,4 @@ var Ls=Object.defineProperty;var Vs=(t)=>t;function Os(t,e){this[t]=Vs.bind(null
|
|
|
10
10
|
bodyCph BLOB,
|
|
11
11
|
PRIMARY KEY (userPubKey, rlm, seq)
|
|
12
12
|
);
|
|
13
|
-
`),{async addUser(r){try{let n=it(r);return e.exec("INSERT INTO users (pubKey) VALUES (?) ON CONFLICT DO NOTHING",[n]),p(void 0)}catch{return i(17)}},async hasUser(r){try{let n=it(r),s=e.prepare("SELECT EXISTS (SELECT 1 FROM users WHERE pubKey = ?) AS ok").get(n);return p(Boolean(s?.ok))}catch{return i(17)}},async subMeta(r){return p(Bt)},async setBags(r,n){if(n.length<1)return p([]);let s=[];for(let c=0;c<n.length;c++)if(n[c].rlm.byteLength===
|
|
13
|
+
`),{async addUser(r){try{let n=it(r);return e.exec("INSERT INTO users (pubKey) VALUES (?) ON CONFLICT DO NOTHING",[n]),p(void 0)}catch{return i(17)}},async hasUser(r){try{let n=it(r),s=e.prepare("SELECT EXISTS (SELECT 1 FROM users WHERE pubKey = ?) AS ok").get(n);return p(Boolean(s?.ok))}catch{return i(17)}},async subMeta(r){return p(Bt)},async setBags(r,n){if(n.length<1)return p([]);let s=[];for(let c=0;c<n.length;c++)if(n[c].rlm.byteLength===H)s.push(c);let o=new Map;if(s.length>0)try{let c=it(r);e.exec("BEGIN IMMEDIATE");try{let u=new Map,l=e.prepare("SELECT MAX(seq) AS m FROM bags WHERE userPubKey = ? AND rlm = ?"),f=e.prepare("INSERT INTO bags (userPubKey, rlm, seq, headCph, bodyCph) VALUES (?, ?, ?, ?, ?)");for(let d of s){let h=n[d],y=it(h.rlm),b=u.get(y);if(b===void 0)b=l.get(c,h.rlm)?.m||0;b+=1,u.set(y,b);let m=new T;m.writeStruct(Jt,h),f.run(c,h.rlm,b,m.result(),h.bodyCph),o.set(d,b)}e.exec("COMMIT")}catch(u){try{e.exec("ROLLBACK")}catch{}throw u}}catch{return i(17)}let a=[];for(let c=0;c<n.length;c++){if(n[c].rlm.byteLength!==H){a.push({status:10});continue}let u=o.get(c);if(u===void 0)return i(17);a.push({status:0,seq:u})}return p(a)},async getBodies(r,n,s){if(n.byteLength!==H)return i(10);if(s.length<1)return p([]);try{let o=it(r),a=[],c=100,u=98;for(let l=0;l<s.length;l+=98){let f=s.slice(l,l+98),d=f.map(()=>"?").join(","),h=e.prepare(`SELECT seq, bodyCph FROM bags WHERE userPubKey = ? AND rlm = ? AND seq IN (${d})`).all(o,n,...f);for(let y of h){if(!y.bodyCph)continue;a.push({seq:y.seq,bodyCph:new Uint8Array(y.bodyCph)})}}return p(a)}catch{return i(17)}},async listHeads(r,n,s){if(n.byteLength!==H)return i(10);try{let o=it(r),a=e.prepare("SELECT seq, headCph FROM bags WHERE userPubKey = ? AND rlm = ? AND seq > ? ORDER BY seq").all(o,n,s);return p(a.map((c)=>({seq:c.seq,headCph:new Uint8Array(c.headCph)})))}catch{return i(17)}}}}var Fo=Wo(),Rs=Fo;ct();E();ct();J();E();U();class Dr{storage;crypto;notifier;clock;constructor(t,e,r,n){this.storage=t;this.crypto=e;this.notifier=r;this.clock=n}corsHandler=async(t)=>{if(t.method==="OPTIONS")return xr(new Response(null));let e=`${t.method} ${t.url}`;console.time(e);let r=await this.handler(t);return console.timeEnd(e),xr(r)};handler=async(t)=>{let{clock:e}=this,r=e.now(),n=new URL(t.url);if(t.method!=="POST"){let l=e.now();return Zt({status:13,timeRcvd:r,timeSent:l,subscription:Bt})}if(!t.body){let l=e.now();return Zt({status:7,timeRcvd:r,timeSent:l,subscription:Bt})}let o=new Uint8Array(await t.arrayBuffer()),a=new Y(o),c=n.pathname,u=Wn[c]?.endpoint;if(!u){let l=e.now();return Zt({status:13,timeRcvd:r,timeSent:l,subscription:Bt})}try{let l=new T,f=await u.handleReq(this,a,l),d=Bt,h={status:f,timeRcvd:r,timeSent:this.clock.now(),subscription:d},y=new T;if(y.writeStruct(Qt,h)!==0)return new Response(null,{status:500});if(f!==0){let m=e.now();return Zt({status:f,timeRcvd:r,timeSent:m,subscription:Bt})}return l.prependBytes(y.result()),Ir(l)}catch(l){let f=e.now();return console.error(l),console.trace(),Zt({status:12,timeRcvd:r,timeSent:f,subscription:Bt})}}}async function Ts(t,e){let n=new URL(t.url).searchParams.get(mn);if(!n)return i(11);let s=Ae(n),o=new Y(s),[a,c]=o.readStruct(tt);if(c!==0)return i(11);let u=await at(a,e.crypto,e.clock);if(u!==0)return i(u);return p(a)}class Ds{recvs=new Map;async open(t,e,r,n){let s=await at(t,r,n);if(s!==0)return{send:()=>s,shut:()=>s,status:s};let o=it(t.pubKey);if(!this.recvs.has(o))this.recvs.set(o,new Set);return this.recvs.get(o)?.add(e),{send:(a)=>(e(a),0),shut:()=>(this.recvs.get(o)?.delete(e),0),status:0}}async push(t,e){let r=it(t),n=this.recvs.get(r);if(n)for(let s of n)s(e)}}var Hs=new Ds;async function Xo(t=Number.parseInt(process.env.DIPLOMATIC_HOST_PORT||"31337")){let e=new Dr(Rs,Lt,Hs,new $t);console.log(`DIPLOMATIC PARCEL SERVICE ACTIVE on http://localhost:${t}`),Bun.serve({port:t,fetch:async(r,n)=>{if(r.headers.get("upgrade")==="websocket"){let[s,o]=await Ts(r,e);if(o!==0)return new Response("Unauthorized",{status:401});return n.upgrade(r,{data:{authTS:s}})?void 0:new Response("Upgrade failed",{status:400})}return e.corsHandler(r)},websocket:{data:{},open:(r)=>{let n=r.data.authTS;Hs.open(n,(s)=>r.send(s),e.crypto,e.clock).then((s)=>{if(s.status!==0){r.close();return}r.channel=s})},message:(r,n)=>{},close:(r)=>{r.channel?.shut()}}})}class Ms{enclave;conn;clock;constructor({enclave:t,clock:e=new $t}){this.enclave=t,this.clock=e}async connect(t,e){let r=new $t,n=()=>Promise.resolve(0),[s,o]=await Xn(this.enclave,{label:t.label,index:t.idx??0});if(o!==0)return o;this.conn=new Ue(s,Lt,r,e,n);let[,a]=await this.conn.register();return a}async push(t,e){if(!this.conn)return i(28);let r=await this.#t(e);if(r!==0)return i(r);let n=[];for(let a of t){let[c,u]=await this.conn.seal(a,e);if(u!==0)return i(u);n.push(c)}let[s,o]=await this.conn.push(n);if(o!==0)return i(o);return p(s)}async peek(t,e){if(!this.conn)return i(28);let r=await this.#t(e);if(r!==0)return i(r);return this.conn.peek(t,e)}async pull(t,e){if(!this.conn)return i(28);let r=await this.#t(e);if(r!==0)return i(r);return this.conn.pull(t,e)}async open(t,e,r){if(!this.conn)return i(28);let n=await this.#t(r);if(n!==0)return i(n);let s=this.conn.bagMgrFor(r??nt);if(s===void 0)return i(13);let[o,a]=await this.conn.identity();if(a!==0)return i(a);let c;try{c=await Lt.importVerifyKey(o.publicKey)}catch{return i(29)}let[u,l]=await Ks(t,c,s,Lt);if(l!==0)return i(l);return vn(u.headEnc,e.bodyCph,{decrypt:(f)=>s.decrypt(u.kdm,f)},Lt)}async#t(t=nt){let e=this.conn;if(!e)return 28;if(e.bagMgrFor(t)!==void 0)return 0;let[r,n]=await e.identity();if(n!==0)return n;let[s,o]=await this.enclave.bagman(r.idKDM,t);if(o!==0)return o;return e.add(s),0}async upsertSingletonSync(t,e){let[r,n]=await vs(t,this.clock,e);if(n!==0)return n;let[,s]=await this.push([r]);return s}async listen(t,e,r){if(!this.conn)return 28;return this.conn.listen(t,e,r)}isConnected(){return this.conn?.isConnected()??!1}}async function jo({enclave:t,host:e,transport:r}){let n=new Ms({enclave:t}),s=await n.connect(e,r);return[n,s]}async function Zf({enclave:t,host:e,transport:r}){let n=r??gr(e),[s,o]=await jo({enclave:t,host:e,transport:n});if(o!==0)console.error(`Failed to initialize CLI: ${B[o]}`),process.exit(1);return s}function tp(t){let e=process.env[t];if(!e)console.error(`${t} env var missing`),process.exit(1);let r=Ae(e),[n,s]=dt.fromBytes(r);if(r.fill(0),s!==0||n===void 0)console.error(`${t} must be 64 hex chars (32-byte master seed)`),process.exit(1);return n}function ep(t){let e=process.env[t];if(!e)console.error(`${t} env var missing`),process.exit(1);return{handle:new URL(e),label:"host"}}export{Ms as CLIClient,Y as Decoder,B as Status,gr as hostHTTPTransport,jo as initCLI,Zf as initCLIOrPanic,tp as loadEnclaveOrPanic,ep as loadHostOrPanic,br as notifItemCodec,Xo as runBunHost};
|
|
@@ -11,6 +11,7 @@ export declare const Purpose: {
|
|
|
11
11
|
readonly RealmKey: "diplomatic.realmKey.v1";
|
|
12
12
|
readonly RealmID: "diplomatic.realmID.v1";
|
|
13
13
|
readonly HostRLM: "diplomatic.hostRLM.v1";
|
|
14
|
+
readonly Export: "diplomatic.export.v1";
|
|
14
15
|
};
|
|
15
16
|
export type Purpose = typeof Purpose[keyof typeof Purpose];
|
|
16
17
|
declare const pdkSymbol: unique symbol;
|
|
@@ -126,6 +126,7 @@ declare class OuterEnclave {
|
|
|
126
126
|
id: number;
|
|
127
127
|
persist?: boolean;
|
|
128
128
|
}): Worker;
|
|
129
|
+
exportKey(nonce: Uint8Array): Promise<ValStat<PDK["Export"]>>;
|
|
129
130
|
bagman(idKDM: IKDM, realmKDM: IKDM): Promise<ValStat<BagManager>>;
|
|
130
131
|
fingerprint(kdm?: Uint8Array | IKDM): Promise<ValStat<PDK["Fingerprint"]>>;
|
|
131
132
|
}
|
package/dist/web/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ import { Decoder, Encoder } from "./shared/codec";
|
|
|
13
13
|
import { eidCodec, genSingletonEID } from "./shared/codecs/eid";
|
|
14
14
|
import { encodeEnt, entCodec } from "./shared/codecs/ent";
|
|
15
15
|
import { Status } from "./shared/consts";
|
|
16
|
+
import { Exim } from "./shared/crypto/exim";
|
|
16
17
|
import { hostHTTPTransport, HTTPTransport } from "./shared/http";
|
|
17
18
|
import { TypedEventEmitter } from "./shared/events";
|
|
18
19
|
import { asSealedMasterKey, MASTER_SEED_LEN, SEALED_MASTER_KEY_LEN, type SealedMasterKey } from "./shared/seed";
|
|
@@ -50,5 +51,5 @@ import type { WipeOpts } from "./types";
|
|
|
50
51
|
/** Platform advertises largeBlob (not a guarantee the binding key has it). */
|
|
51
52
|
export { largeBlobCapable } from "./shared/webauthn/largeBlob";
|
|
52
53
|
export { webAuthnLastError } from "./shared/webauthn/common";
|
|
53
|
-
export { APLD_APPLIED, APLD_ERROR, APLD_PENDING, apldFromStored, asChildKey, asDHKEReq, asDHKEResp, asHostRlm, asSealedMasterKey, b64tob, b64urltob, btob64, btob64url, btoh, CachedEntDB, checksumEntRevs, checksumSet, Clock, cmpBytes, crypto, Decoder, DEFAULT_PRF_SALT, defaultPeekProgressEvery, defaultWebAuthnRpId, eidCodec, Enclave, encodeEnt, encodeEntRev, Encoder, entCodec, EntDBMemory, EntIDB, EntitiesQuery, EntityID, entStateManager, genSingletonEID, hostHTTPTransport, htob, HTTPTransport, IDBAccountStore, IDBStore, idleProgress, IEntDB, IEntity, isApldState, isLiveEnt, isPendingApply, isTerminalApplyFailure, isTombstone, IStore, KEYRING_MAX, keyringCredIds, keyringKind, keyringLabel, MASTER_SEED_LEN, MemoryStore, normalizeTags, nullEntDB, nullKDM, nullStateManager, openDiplomaticClient, openEntDB, openIDBStore, PasskeySeedStore, prfCapable, PrfSeedStore, Purpose, revFromEntity, revFromHead, SEALED_MASTER_KEY_LEN, setApld, shouldEmitItemProgress, SingletonStateManager, StateManager, Status, SyncClient, TypedEventEmitter, useClient, useClientState, useClientXferState, useStateWatcher, useStateWatcherSuspense, useSyncOnResume, WorkerClient, };
|
|
54
|
+
export { APLD_APPLIED, APLD_ERROR, APLD_PENDING, apldFromStored, asChildKey, asDHKEReq, asDHKEResp, asHostRlm, asSealedMasterKey, b64tob, b64urltob, btob64, btob64url, btoh, CachedEntDB, checksumEntRevs, checksumSet, Clock, cmpBytes, crypto, Decoder, DEFAULT_PRF_SALT, defaultPeekProgressEvery, defaultWebAuthnRpId, eidCodec, Enclave, encodeEnt, encodeEntRev, Encoder, entCodec, EntDBMemory, EntIDB, EntitiesQuery, EntityID, entStateManager, Exim, genSingletonEID, hostHTTPTransport, htob, HTTPTransport, IDBAccountStore, IDBStore, idleProgress, IEntDB, IEntity, isApldState, isLiveEnt, isPendingApply, isTerminalApplyFailure, isTombstone, IStore, KEYRING_MAX, keyringCredIds, keyringKind, keyringLabel, MASTER_SEED_LEN, MemoryStore, normalizeTags, nullEntDB, nullKDM, nullStateManager, openDiplomaticClient, openEntDB, openIDBStore, PasskeySeedStore, prfCapable, PrfSeedStore, Purpose, revFromEntity, revFromHead, SEALED_MASTER_KEY_LEN, setApld, shouldEmitItemProgress, SingletonStateManager, StateManager, Status, SyncClient, TypedEventEmitter, useClient, useClientState, useClientXferState, useStateWatcher, useStateWatcherSuspense, useSyncOnResume, WorkerClient, };
|
|
54
55
|
export type { ApldState, Applier, BagManager, BindPrior, BundleHost, CachedEntDBOptions, ChildKey, DateSpec, DHKEReq, DHKEResp, EntDBMemoryOptions, EntRlm, HostHandle, HostRlm, HostSeqsUpdate, IClient, ICrypto, IDateRange, IDeleteParams, IDiplomaticClientState, IEntRev, IEntRow, IHostConnectionInfo, IHostRow, IKDM, IMessage, IMutateOp, IOp, IRealm, IStateManager, IStoredMessage, IStoredMessageData, IStoredMessageWrite, ITagRange, ITombstone, ITransport, IUpdateParams, Keyring, KeyringEntry, KeyringRow, ListMsgsOpts, OpenAccount, OpenDiplomaticClientMainOptions, OpenDiplomaticClientOptions, OpenDiplomaticClientWorkerOptions, OpenedDiplomaticClient, OpenEntDBOptions, PairRequest, PasskeySeedStoreOpts, PersistKeyring, PrfBound, PrfRp, PrfSeedStoreOpts, ReconcileOpts, ReconcileReport, SealedMasterKey, SetSeedOpts, SyncProgressEvent, TagSpec, WipeOpts, WorkerClientOptions, };
|