@junobuild/core-standalone 2.2.0 → 2.2.1
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/browser/index.js +19 -19
- package/dist/browser/index.js.map +3 -3
- package/dist/node/index.mjs +52 -52
- package/dist/node/index.mjs.map +3 -3
- package/package.json +1 -1
package/dist/browser/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Pd=Object.defineProperty;var Bd=(e,t)=>{for(var r in t)Pd(e,r,{get:t[r],enumerable:!0})};var Za;(function(e){e[e.SysFatal=1]="SysFatal",e[e.SysTransient=2]="SysTransient",e[e.DestinationInvalid=3]="DestinationInvalid",e[e.CanisterReject=4]="CanisterReject",e[e.CanisterError=5]="CanisterError"})(Za||(Za={}));var Gt;(function(e){e.Replied="replied",e.Rejected="rejected"})(Gt||(Gt={}));function Xa(e){return e!=null&&"reject_code"in e}function Qa(e){return e!=null&&"certificate"in e}var To="abcdefghijklmnopqrstuvwxyz234567",Kr=Object.create(null);for(let e=0;e<To.length;e++)Kr[To[e]]=e;Kr[0]=Kr.o;Kr[1]=Kr.i;function ec(e){let t=0,r=0,n="";function o(s){return t<0?r|=s>>-t:r=s<<t&248,t>3?(t-=8,1):(t<4&&(n+=To[r>>3],t+=5),0)}for(let s=0;s<e.length;)s+=o(e[s]);return n+(t<0?To[r>>3]:"")}function tc(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function s(i){let a=Kr[i.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(i)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let i of e)s(i);return n.slice(0,o)}var Cd=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function rc(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Cd[o]^t>>>8}return(t^-1)>>>0}var fr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function ft(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function li(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function ue(e,...t){if(!ft(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function ui(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function oc(e,t){ue(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function hr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Oo(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function rt(e,t){return e<<32-t|e>>>t}var sc=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Vd=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function M(e){if(ue(e),sc)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Vd[e[r]];return t}var Et={_0:48,_9:57,A:65,F:70,a:97,f:102};function nc(e){if(e>=Et._0&&e<=Et._9)return e-Et._0;if(e>=Et.A&&e<=Et.F)return e-(Et.A-10);if(e>=Et.a&&e<=Et.f)return e-(Et.a-10)}function be(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(sc)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=nc(e.charCodeAt(s)),a=nc(e.charCodeAt(s+1));if(i===void 0||a===void 0){let c=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function Q(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function di(e){return typeof e=="string"&&(e=Q(e)),ue(e),e}function K(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];ue(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let s=e[n];r.set(s,o),o+=s.length}return r}var No=class{};function Eo(e){let t=n=>e().update(di(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function $r(e=32){if(fr&&typeof fr.getRandomValues=="function")return fr.getRandomValues(new Uint8Array(e));if(fr&&typeof fr.randomBytes=="function")return Uint8Array.from(fr.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function Dd(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(r>>o&s),a=Number(r&s),c=n?4:0,u=n?0:4;e.setUint32(t+c,i,n),e.setUint32(t+u,a,n)}function ic(e,t,r){return e&t^~e&r}function ac(e,t,r){return e&t^e&r^t&r}var En=class extends No{constructor(t,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=Oo(this.buffer)}update(t){ui(this),t=di(t),ue(t);let{view:r,buffer:n,blockLen:o}=this,s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=Oo(t);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ui(this),oc(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,hr(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let d=i;d<o;d++)r[d]=0;Dd(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=Oo(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,p=this.get();if(u>p.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<u;d++)a.setUint32(4*d,p[d],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Rt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),vt=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ee=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Ro=BigInt(4294967295),cc=BigInt(32);function Ud(e,t=!1){return t?{h:Number(e&Ro),l:Number(e>>cc&Ro)}:{h:Number(e>>cc&Ro)|0,l:Number(e&Ro)|0}}function lc(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=Ud(e[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var pi=(e,t,r)=>e>>>r,fi=(e,t,r)=>e<<32-r|t>>>r,mr=(e,t,r)=>e>>>r|t<<32-r,_r=(e,t,r)=>e<<32-r|t>>>r,Rn=(e,t,r)=>e<<64-r|t>>>r-32,vn=(e,t,r)=>e>>>r-32|t<<64-r;function ht(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var uc=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),dc=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,pc=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),fc=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,hc=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),mc=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var Ld=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),zt=new Uint32Array(64),vo=class extends En{constructor(t=32){super(64,t,8,!1),this.A=Rt[0]|0,this.B=Rt[1]|0,this.C=Rt[2]|0,this.D=Rt[3]|0,this.E=Rt[4]|0,this.F=Rt[5]|0,this.G=Rt[6]|0,this.H=Rt[7]|0}get(){let{A:t,B:r,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,r,n,o,s,i,a,c]}set(t,r,n,o,s,i,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)zt[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=zt[d-15],f=zt[d-2],h=rt(l,7)^rt(l,18)^l>>>3,_=rt(f,17)^rt(f,19)^f>>>10;zt[d]=_+zt[d-7]+h+zt[d-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=rt(a,6)^rt(a,11)^rt(a,25),f=p+l+ic(a,c,u)+Ld[d]+zt[d]|0,_=(rt(n,2)^rt(n,13)^rt(n,22))+ac(n,o,s)|0;p=u,u=c,c=a,a=i+f|0,i=s,s=o,o=n,n=f+_|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,p=p+this.H|0,this.set(n,o,s,i,a,c,u,p)}roundClean(){hr(zt)}destroy(){this.set(0,0,0,0,0,0,0,0),hr(this.buffer)}},hi=class extends vo{constructor(){super(28),this.A=vt[0]|0,this.B=vt[1]|0,this.C=vt[2]|0,this.D=vt[3]|0,this.E=vt[4]|0,this.F=vt[5]|0,this.G=vt[6]|0,this.H=vt[7]|0}},_c=lc(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),qd=_c[0],Md=_c[1],Wt=new Uint32Array(80),Yt=new Uint32Array(80),mi=class extends En{constructor(t=64){super(128,t,16,!1),this.Ah=Ee[0]|0,this.Al=Ee[1]|0,this.Bh=Ee[2]|0,this.Bl=Ee[3]|0,this.Ch=Ee[4]|0,this.Cl=Ee[5]|0,this.Dh=Ee[6]|0,this.Dl=Ee[7]|0,this.Eh=Ee[8]|0,this.El=Ee[9]|0,this.Fh=Ee[10]|0,this.Fl=Ee[11]|0,this.Gh=Ee[12]|0,this.Gl=Ee[13]|0,this.Hh=Ee[14]|0,this.Hl=Ee[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:u,El:p,Fh:d,Fl:l,Gh:f,Gl:h,Hh:_,Hl:g}=this;return[t,r,n,o,s,i,a,c,u,p,d,l,f,h,_,g]}set(t,r,n,o,s,i,a,c,u,p,d,l,f,h,_,g){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=p|0,this.Fh=d|0,this.Fl=l|0,this.Gh=f|0,this.Gl=h|0,this.Hh=_|0,this.Hl=g|0}process(t,r){for(let y=0;y<16;y++,r+=4)Wt[y]=t.getUint32(r),Yt[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=Wt[y-15]|0,O=Yt[y-15]|0,R=mr(T,O,1)^mr(T,O,8)^pi(T,O,7),E=_r(T,O,1)^_r(T,O,8)^fi(T,O,7),v=Wt[y-2]|0,w=Yt[y-2]|0,I=mr(v,w,19)^Rn(v,w,61)^pi(v,w,6),B=_r(v,w,19)^vn(v,w,61)^fi(v,w,6),A=pc(E,B,Yt[y-7],Yt[y-16]),b=fc(A,R,I,Wt[y-7],Wt[y-16]);Wt[y]=b|0,Yt[y]=A|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:u,Dl:p,Eh:d,El:l,Fh:f,Fl:h,Gh:_,Gl:g,Hh:m,Hl:x}=this;for(let y=0;y<80;y++){let T=mr(d,l,14)^mr(d,l,18)^Rn(d,l,41),O=_r(d,l,14)^_r(d,l,18)^vn(d,l,41),R=d&f^~d&_,E=l&h^~l&g,v=hc(x,O,E,Md[y],Yt[y]),w=mc(v,m,T,R,qd[y],Wt[y]),I=v|0,B=mr(n,o,28)^Rn(n,o,34)^Rn(n,o,39),A=_r(n,o,28)^vn(n,o,34)^vn(n,o,39),b=n&s^n&a^s&a,N=o&i^o&c^i&c;m=_|0,x=g|0,_=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=ht(u|0,p|0,w|0,I|0),u=a|0,p=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let P=uc(I,A,N);n=dc(P,w,B,b),o=P|0}({h:n,l:o}=ht(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=ht(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=ht(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=ht(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=ht(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=ht(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:g}=ht(this.Gh|0,this.Gl|0,_|0,g|0),{h:m,l:x}=ht(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,o,s,i,a,c,u,p,d,l,f,h,_,g,m,x)}roundClean(){hr(Wt,Yt)}destroy(){hr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var ve=Eo(()=>new vo),yc=Eo(()=>new hi),gc=Eo(()=>new mi);var Io="__principal__",jd=2,xc=4,Kd="aaaaa-aa",L=class e{static anonymous(){return new this(new Uint8Array([xc]))}static managementCanister(){return this.fromText(Kd)}static selfAuthenticating(t){let r=yc(t);return new this(new Uint8Array([...r,jd]))}static from(t){if(typeof t=="string")return e.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new e(t);if(e.isPrincipal(t))return new e(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(be(t))}static fromText(t){let r=t;if(t.includes(Io)){let i=JSON.parse(t);Io in i&&(r=i[Io])}let n=r.toLowerCase().replace(/-/g,""),o=tc(n);o=o.slice(4,o.length);let s=new this(o);if(s.toText()!==r)throw new Error(`Principal "${s.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return s}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===xc}toUint8Array(){return this._arr}toHex(){return M(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,rc(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),i=ec(o).match(/.{1,5}/g);if(!i)throw new Error;return i.join("-")}toString(){return this.toText()}toJSON(){return{[Io]:this.toText()}}compareTo(t){for(let r=0;r<Math.min(this._arr.length,t._arr.length);r++){if(this._arr[r]<t._arr[r])return"lt";if(this._arr[r]>t._arr[r])return"gt"}return this._arr.length<t._arr.length?"lt":this._arr.length>t._arr.length?"gt":"eq"}ltEq(t){let r=this.compareTo(t);return r=="lt"||r=="eq"}gtEq(t){let r=this.compareTo(t);return r=="gt"||r=="eq"}};var It;(function(e){e.Trust="Trust",e.Protocol="Protocol",e.Reject="Reject",e.Transport="Transport",e.External="External",e.Limit="Limit",e.Input="Input",e.Unknown="Unknown"})(It||(It={}));var H=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
1
|
+
var Cd=Object.defineProperty;var Vd=(e,t)=>{for(var r in t)Cd(e,r,{get:t[r],enumerable:!0})};var Qa;(function(e){e[e.SysFatal=1]="SysFatal",e[e.SysTransient=2]="SysTransient",e[e.DestinationInvalid=3]="DestinationInvalid",e[e.CanisterReject=4]="CanisterReject",e[e.CanisterError=5]="CanisterError"})(Qa||(Qa={}));var Gt;(function(e){e.Replied="replied",e.Rejected="rejected"})(Gt||(Gt={}));function ec(e){return e!=null&&"reject_code"in e}function tc(e){return e!=null&&"certificate"in e}var Oo="abcdefghijklmnopqrstuvwxyz234567",Hr=Object.create(null);for(let e=0;e<Oo.length;e++)Hr[Oo[e]]=e;Hr[0]=Hr.o;Hr[1]=Hr.i;function rc(e){let t=0,r=0,n="";function o(s){return t<0?r|=s>>-t:r=s<<t&248,t>3?(t-=8,1):(t<4&&(n+=Oo[r>>3],t+=5),0)}for(let s=0;s<e.length;)s+=o(e[s]);return n+(t<0?Oo[r>>3]:"")}function nc(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function s(i){let a=Hr[i.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(i)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let i of e)s(i);return n.slice(0,o)}var Dd=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function oc(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Dd[o]^t>>>8}return(t^-1)>>>0}var mr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function ft(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function di(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function le(e,...t){if(!ft(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function pi(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function ic(e,t){le(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function _r(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Ro(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function rt(e,t){return e<<32-t|e>>>t}var ac=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Ud=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function M(e){if(le(e),ac)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Ud[e[r]];return t}var Et={_0:48,_9:57,A:65,F:70,a:97,f:102};function sc(e){if(e>=Et._0&&e<=Et._9)return e-Et._0;if(e>=Et.A&&e<=Et.F)return e-(Et.A-10);if(e>=Et.a&&e<=Et.f)return e-(Et.a-10)}function be(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(ac)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=sc(e.charCodeAt(s)),a=sc(e.charCodeAt(s+1));if(i===void 0||a===void 0){let c=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function Q(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function fi(e){return typeof e=="string"&&(e=Q(e)),le(e),e}function j(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];le(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let s=e[n];r.set(s,o),o+=s.length}return r}var Eo=class{};function vo(e){let t=n=>e().update(fi(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Gr(e=32){if(mr&&typeof mr.getRandomValues=="function")return mr.getRandomValues(new Uint8Array(e));if(mr&&typeof mr.randomBytes=="function")return Uint8Array.from(mr.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function kd(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(r>>o&s),a=Number(r&s),c=n?4:0,u=n?0:4;e.setUint32(t+c,i,n),e.setUint32(t+u,a,n)}function cc(e,t,r){return e&t^~e&r}function lc(e,t,r){return e&t^e&r^t&r}var vn=class extends Eo{constructor(t,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=Ro(this.buffer)}update(t){pi(this),t=fi(t),le(t);let{view:r,buffer:n,blockLen:o}=this,s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=Ro(t);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){pi(this),ic(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,_r(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let d=i;d<o;d++)r[d]=0;kd(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=Ro(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,p=this.get();if(u>p.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<u;d++)a.setUint32(4*d,p[d],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Rt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),vt=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ee=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Io=BigInt(4294967295),uc=BigInt(32);function Ld(e,t=!1){return t?{h:Number(e&Io),l:Number(e>>uc&Io)}:{h:Number(e>>uc&Io)|0,l:Number(e&Io)|0}}function dc(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=Ld(e[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var hi=(e,t,r)=>e>>>r,mi=(e,t,r)=>e<<32-r|t>>>r,yr=(e,t,r)=>e>>>r|t<<32-r,gr=(e,t,r)=>e<<32-r|t>>>r,In=(e,t,r)=>e<<64-r|t>>>r-32,An=(e,t,r)=>e>>>r-32|t<<64-r;function ht(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var pc=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),fc=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,hc=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),mc=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,_c=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),yc=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var Md=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),zt=new Uint32Array(64),Ao=class extends vn{constructor(t=32){super(64,t,8,!1),this.A=Rt[0]|0,this.B=Rt[1]|0,this.C=Rt[2]|0,this.D=Rt[3]|0,this.E=Rt[4]|0,this.F=Rt[5]|0,this.G=Rt[6]|0,this.H=Rt[7]|0}get(){let{A:t,B:r,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,r,n,o,s,i,a,c]}set(t,r,n,o,s,i,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)zt[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=zt[d-15],f=zt[d-2],h=rt(l,7)^rt(l,18)^l>>>3,m=rt(f,17)^rt(f,19)^f>>>10;zt[d]=m+zt[d-7]+h+zt[d-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=rt(a,6)^rt(a,11)^rt(a,25),f=p+l+cc(a,c,u)+Md[d]+zt[d]|0,m=(rt(n,2)^rt(n,13)^rt(n,22))+lc(n,o,s)|0;p=u,u=c,c=a,a=i+f|0,i=s,s=o,o=n,n=f+m|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,p=p+this.H|0,this.set(n,o,s,i,a,c,u,p)}roundClean(){_r(zt)}destroy(){this.set(0,0,0,0,0,0,0,0),_r(this.buffer)}},_i=class extends Ao{constructor(){super(28),this.A=vt[0]|0,this.B=vt[1]|0,this.C=vt[2]|0,this.D=vt[3]|0,this.E=vt[4]|0,this.F=vt[5]|0,this.G=vt[6]|0,this.H=vt[7]|0}},gc=dc(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),jd=gc[0],Kd=gc[1],Wt=new Uint32Array(80),Yt=new Uint32Array(80),yi=class extends vn{constructor(t=64){super(128,t,16,!1),this.Ah=Ee[0]|0,this.Al=Ee[1]|0,this.Bh=Ee[2]|0,this.Bl=Ee[3]|0,this.Ch=Ee[4]|0,this.Cl=Ee[5]|0,this.Dh=Ee[6]|0,this.Dl=Ee[7]|0,this.Eh=Ee[8]|0,this.El=Ee[9]|0,this.Fh=Ee[10]|0,this.Fl=Ee[11]|0,this.Gh=Ee[12]|0,this.Gl=Ee[13]|0,this.Hh=Ee[14]|0,this.Hl=Ee[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:u,El:p,Fh:d,Fl:l,Gh:f,Gl:h,Hh:m,Hl:y}=this;return[t,r,n,o,s,i,a,c,u,p,d,l,f,h,m,y]}set(t,r,n,o,s,i,a,c,u,p,d,l,f,h,m,y){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=p|0,this.Fh=d|0,this.Fl=l|0,this.Gh=f|0,this.Gl=h|0,this.Hh=m|0,this.Hl=y|0}process(t,r){for(let g=0;g<16;g++,r+=4)Wt[g]=t.getUint32(r),Yt[g]=t.getUint32(r+=4);for(let g=16;g<80;g++){let T=Wt[g-15]|0,O=Yt[g-15]|0,E=yr(T,O,1)^yr(T,O,8)^hi(T,O,7),R=gr(T,O,1)^gr(T,O,8)^mi(T,O,7),I=Wt[g-2]|0,w=Yt[g-2]|0,v=yr(I,w,19)^In(I,w,61)^hi(I,w,6),P=gr(I,w,19)^An(I,w,61)^mi(I,w,6),A=hc(R,P,Yt[g-7],Yt[g-16]),b=mc(A,E,v,Wt[g-7],Wt[g-16]);Wt[g]=b|0,Yt[g]=A|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:u,Dl:p,Eh:d,El:l,Fh:f,Fl:h,Gh:m,Gl:y,Hh:_,Hl:x}=this;for(let g=0;g<80;g++){let T=yr(d,l,14)^yr(d,l,18)^In(d,l,41),O=gr(d,l,14)^gr(d,l,18)^An(d,l,41),E=d&f^~d&m,R=l&h^~l&y,I=_c(x,O,R,Kd[g],Yt[g]),w=yc(I,_,T,E,jd[g],Wt[g]),v=I|0,P=yr(n,o,28)^In(n,o,34)^In(n,o,39),A=gr(n,o,28)^An(n,o,34)^An(n,o,39),b=n&s^n&a^s&a,N=o&i^o&c^i&c;_=m|0,x=y|0,m=f|0,y=h|0,f=d|0,h=l|0,{h:d,l}=ht(u|0,p|0,w|0,v|0),u=a|0,p=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let F=pc(v,A,N);n=fc(F,w,P,b),o=F|0}({h:n,l:o}=ht(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=ht(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=ht(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=ht(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=ht(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=ht(this.Fh|0,this.Fl|0,f|0,h|0),{h:m,l:y}=ht(this.Gh|0,this.Gl|0,m|0,y|0),{h:_,l:x}=ht(this.Hh|0,this.Hl|0,_|0,x|0),this.set(n,o,s,i,a,c,u,p,d,l,f,h,m,y,_,x)}roundClean(){_r(Wt,Yt)}destroy(){_r(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var ve=vo(()=>new Ao),xc=vo(()=>new _i),bc=vo(()=>new yi);var So="__principal__",$d=2,wc=4,Hd="aaaaa-aa",q=class e{static anonymous(){return new this(new Uint8Array([wc]))}static managementCanister(){return this.fromText(Hd)}static selfAuthenticating(t){let r=xc(t);return new this(new Uint8Array([...r,$d]))}static from(t){if(typeof t=="string")return e.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new e(t);if(e.isPrincipal(t))return new e(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(be(t))}static fromText(t){let r=t;if(t.includes(So)){let i=JSON.parse(t);So in i&&(r=i[So])}let n=r.toLowerCase().replace(/-/g,""),o=nc(n);o=o.slice(4,o.length);let s=new this(o);if(s.toText()!==r)throw new Error(`Principal "${s.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return s}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===wc}toUint8Array(){return this._arr}toHex(){return M(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,oc(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),i=rc(o).match(/.{1,5}/g);if(!i)throw new Error;return i.join("-")}toString(){return this.toText()}toJSON(){return{[So]:this.toText()}}compareTo(t){for(let r=0;r<Math.min(this._arr.length,t._arr.length);r++){if(this._arr[r]<t._arr[r])return"lt";if(this._arr[r]>t._arr[r])return"gt"}return this._arr.length<t._arr.length?"lt":this._arr.length>t._arr.length?"gt":"eq"}ltEq(t){let r=this.compareTo(t);return r=="lt"||r=="eq"}gtEq(t){let r=this.compareTo(t);return r=="gt"||r=="eq"}};var It;(function(e){e.Trust="Trust",e.Protocol="Protocol",e.Reject="Reject",e.Transport="Transport",e.External="External",e.Limit="Limit",e.Input="Input",e.Unknown="Unknown"})(It||(It={}));var H=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
2
2
|
Request context:
|
|
3
3
|
Request ID (hex): ${this.requestContext.requestId?M(this.requestContext.requestId):"undefined"}
|
|
4
4
|
Sender pubkey (hex): ${M(this.requestContext.senderPubKey)}
|
|
@@ -7,51 +7,51 @@ Request context:
|
|
|
7
7
|
Call context:
|
|
8
8
|
Canister ID: ${this.callContext.canisterId.toText()}
|
|
9
9
|
Method name: ${this.callContext.methodName}
|
|
10
|
-
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},nt=class e extends Error{get code(){return this.cause.code}set code(t){this.cause.code=t}get kind(){return this.cause.kind}set kind(t){this.cause.kind=t}get isCertified(){return this.code.isCertified}constructor(t,r){super(t.toString()),this.name="AgentError",this.cause={code:t,kind:r},Object.setPrototypeOf(this,e.prototype)}hasCode(t){return this.code instanceof t}toString(){return`${this.name} (${this.kind}): ${this.message}`}},At=class extends nt{static fromCode(t){return new this(t)}},
|
|
10
|
+
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},nt=class e extends Error{get code(){return this.cause.code}set code(t){this.cause.code=t}get kind(){return this.cause.kind}set kind(t){this.cause.kind=t}get isCertified(){return this.code.isCertified}constructor(t,r){super(t.toString()),this.name="AgentError",this.cause={code:t,kind:r},Object.setPrototypeOf(this,e.prototype)}hasCode(t){return this.code instanceof t}toString(){return`${this.name} (${this.kind}): ${this.message}`}},At=class extends nt{static fromCode(t){return new this(t)}},Fe=class e extends At{constructor(t){super(t,It.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},re=class e extends At{constructor(t){super(t,It.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},Jt=class e extends At{constructor(t){super(t,It.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},Sn=class e extends At{constructor(t){super(t,It.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},we=class e extends At{constructor(t){super(t,It.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var W=class e extends At{constructor(t){super(t,It.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},me=class e extends At{constructor(t){super(t,It.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},Zt=class e extends H{constructor(t,r){super(),this.reason=t,this.error=r,this.name="CertificateVerificationErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=this.reason;return this.error&&(t+=`: ${Un(this.error)}`),`Certificate verification error: "${t}"`}},xr=class e extends H{constructor(t,r,n,o,s){super(),this.maxAgeInMinutes=t,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=s,this.name="CertificateTimeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Certificate is signed more than ${this.maxAgeInMinutes} minutes in the ${this.ageType}. Certificate time: ${this.certificateTime.toISOString()} Current time: ${this.currentTime.toISOString()} Clock drift: ${this.timeDiffMsecs}ms`}},Fo=class e extends H{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},zr=class e extends H{constructor(t,r){super(),this.canisterId=t,this.subnetId=r,this.name="CertificateNotAuthorizedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate contains a delegation that does not include the canister ${this.canisterId.toText()} in the canister_ranges field. Subnet ID: ${this.subnetId.toText()}`}},St=class e extends H{constructor(t,r){super(),this.message=t,this.lookupStatus=r,this.name="LookupErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Lookup status: ${this.lookupStatus}`}},Wr=class e extends H{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},Po=class e extends H{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},Yr=class e extends H{constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerKeyLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key must be ${this.expectedLength} bytes long, but is ${this.actualLength} bytes long`}},Bo=class e extends H{constructor(t,r){super(),this.expectedPrefix=t,this.actualPrefix=r,this.name="DerPrefixMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key is invalid. Expected the following prefix: ${M(this.expectedPrefix)}, but got ${M(this.actualPrefix)}`}},Co=class e extends H{constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerDecodeLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`DER payload mismatch: Expected length ${this.expectedLength}, actual length: ${this.actualLength}`}},ot=class e extends H{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},Fn=class e extends H{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},Vo=class e extends H{constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${Un(this.error)}, input: ${M(this.input)}`}},Do=class e extends H{constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${Un(this.error)}, input: ${this.value}`}};var br=class e extends H{constructor(t,r,n){super(),this.message=t,this.requestId=r,this.status=n,this.name="TimeoutWaitingForResponseErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`${this.message}
|
|
11
11
|
`;return this.requestId&&(t+=` Request ID: ${M(this.requestId)}
|
|
12
12
|
`),this.status&&(t+=` Request status: ${this.status}
|
|
13
|
-
`),t}},
|
|
13
|
+
`),t}},Uo=class e extends H{constructor(t,r,n){super(),this.maxIngressExpiryInMinutes=t,this.requestId=r,this.retryTimes=n,this.name="CertificateOutdatedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`Certificate is stale (over ${this.maxIngressExpiryInMinutes} minutes). Is the computer's clock synchronized?
|
|
14
14
|
Request ID: ${M(this.requestId)}
|
|
15
|
-
`;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}},
|
|
15
|
+
`;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}},Jr=class e extends H{constructor(t,r,n,o){super(!0),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="CertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
|
|
16
16
|
Request ID: ${M(this.requestId)}
|
|
17
17
|
Reject code: ${this.rejectCode}
|
|
18
18
|
Reject text: ${this.rejectMessage}
|
|
19
19
|
Error code: ${this.rejectErrorCode}
|
|
20
|
-
`}},
|
|
20
|
+
`}},ko=class e extends H{constructor(t,r,n,o,s){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.signatures=s,this.name="UncertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
|
|
21
21
|
Request ID: ${M(this.requestId)}
|
|
22
22
|
Reject code: ${this.rejectCode}
|
|
23
23
|
Reject text: ${this.rejectMessage}
|
|
24
24
|
Error code: ${this.rejectErrorCode}
|
|
25
|
-
`}},
|
|
25
|
+
`}},Lo=class e extends H{constructor(t,r,n,o){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="UncertifiedRejectUpdateErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
|
|
26
26
|
Request ID: ${M(this.requestId)}
|
|
27
27
|
Reject code: ${this.rejectCode}
|
|
28
28
|
Reject text: ${this.rejectMessage}
|
|
29
29
|
Error code: ${this.rejectErrorCode}
|
|
30
|
-
`}},
|
|
30
|
+
`}},qo=class e extends H{constructor(t){super(),this.requestId=t,this.name="RequestStatusDoneNoReplyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Call was marked as done but we never saw the reply:
|
|
31
31
|
Request ID: ${M(this.requestId)}
|
|
32
|
-
`}},mt=class e extends H{constructor(t){super(),this.shouldFetchRootKey=t,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.shouldFetchRootKey===void 0?"Agent is missing root key":`Agent is missing root key and the shouldFetchRootKey value is set to ${this.shouldFetchRootKey}. The root key should only be unknown if you are in local development. Otherwise you should avoid fetching and use the default IC Root Key or the known root key of your environment.`}},
|
|
32
|
+
`}},mt=class e extends H{constructor(t){super(),this.shouldFetchRootKey=t,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.shouldFetchRootKey===void 0?"Agent is missing root key":`Agent is missing root key and the shouldFetchRootKey value is set to ${this.shouldFetchRootKey}. The root key should only be unknown if you are in local development. Otherwise you should avoid fetching and use the default IC Root Key or the known root key of your environment.`}},Mo=class e extends H{constructor(t){super(),this.value=t,this.name="HashValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Attempt to hash a value of unsupported type: ${this.value}`}},Zr=class e extends H{constructor(t){super(),this.error=t,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.error}},Xt=class e extends H{constructor(){super(),this.name="IdentityInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"This identity has expired due this application's security policy. Please refresh your authentication."}},wr=class e extends H{constructor(t,r){super(),this.message=t,this.providedIngressExpiryInMinutes=r,this.name="IngressExpiryInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Provided ingress expiry time is ${this.providedIngressExpiryInMinutes} minutes.`}},jo=class e extends H{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},Ko=class e extends H{constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}},$o=class e extends H{constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}},Ho=class e extends H{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},Go=class e extends H{constructor(t){super(),this.nodeId=t,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},Pe=class e extends H{constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${Un(this.error)}`}},Qt=class e extends H{constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},Pn=class e extends H{constructor(t,r,n,o){super(),this.status=t,this.statusText=r,this.headers=n,this.bodyText=o,this.name="HttpErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`HTTP request failed:
|
|
33
33
|
Status: ${this.status} (${this.statusText})
|
|
34
34
|
Headers: ${JSON.stringify(this.headers)}
|
|
35
35
|
`;return this.bodyText&&(t+=` Body: ${this.bodyText}
|
|
36
|
-
`),t}},Fn=class e extends H{constructor(){super(),this.name="HttpV3ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v3 API is not supported"}},Pn=class e extends H{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Vn(this.error)}`}},Bn=class e extends H{constructor(t){super(),this.receivedCanisterId=t,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Canister ID is required, but received ${typeof this.receivedCanisterId} instead. If you are using automatically generated declarations, this may be because your application is not setting the canister ID in process.env correctly.`}},Ho=class e extends H{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Cn=class e extends H{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Vn(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var er=new Error("unreachable");var Nr={};Bd(Nr,{Bool:()=>Ic,BoolClass:()=>Jo,ConstructType:()=>gt,Empty:()=>Rc,EmptyClass:()=>Un,FixedIntClass:()=>Bt,FixedNatClass:()=>yt,Float32:()=>Bc,Float64:()=>Cc,FloatClass:()=>qn,Func:()=>Jc,FuncClass:()=>Tr,Int:()=>Fc,Int16:()=>Dc,Int32:()=>Uc,Int64:()=>kc,Int8:()=>Vc,IntClass:()=>kn,Nat:()=>Pc,Nat16:()=>qc,Nat32:()=>Mc,Nat64:()=>jc,Nat8:()=>Lc,NatClass:()=>Ln,Null:()=>Ac,NullClass:()=>br,Opt:()=>Gc,OptClass:()=>nr,PrimitiveType:()=>Me,Principal:()=>Kc,PrincipalClass:()=>Qo,Rec:()=>Yc,RecClass:()=>We,Record:()=>zc,RecordClass:()=>wr,Reserved:()=>vc,ReservedClass:()=>xt,Service:()=>Zc,ServiceClass:()=>Qr,Text:()=>Sc,TextClass:()=>Zo,Tuple:()=>$c,TupleClass:()=>Xo,Type:()=>Jr,Unknown:()=>zd,UnknownClass:()=>Yo,Variant:()=>Wc,VariantClass:()=>Xr,Vec:()=>Hc,VecClass:()=>Zr,Visitor:()=>Ti,decode:()=>Gd,encode:()=>Hd,resetSubtypeCache:()=>Ni,subtype:()=>Ei});function Y(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of e)t.set(n,r),r+=n.byteLength;return t}var st=class{save(){return this._view}restore(t){if(!(t instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=t}constructor(t,r=t?.byteLength||0){if(t&&!(t instanceof Uint8Array))try{t=_t(t)}catch{throw new Error("Buffer must be a Uint8Array")}if(r<0||!Number.isInteger(r))throw new Error("Length must be a non-negative integer");if(t&&r>t.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=t||new Uint8Array(0),this._view=new Uint8Array(this._buffer.buffer,0,r)}get buffer(){return this._view.slice()}get byteLength(){return this._view.byteLength}read(t){let r=this._view.subarray(0,t);return this._view=this._view.subarray(t),r.slice()}readUint8(){if(this._view.byteLength===0)return;let t=this._view[0];return this._view=this._view.subarray(1),t}write(t){if(!(t instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+t.byteLength>=this._buffer.byteLength?this.alloc(t.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+t.byteLength),this._view.set(t,r)}get end(){return this._view.byteLength===0}alloc(t){if(t<=0||!Number.isInteger(t))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+t)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+t);n.set(this._view),this._buffer=r,this._view=n}};function _t(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?_t(e.buffer):new Uint8Array(e)}function _i(e,t){if(e.byteLength!==t.byteLength)return e.byteLength-t.byteLength;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]-t[r];return 0}function bc(e,t){return _i(e,t)===0}function wc(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function $d(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function Ce(e){if(/^_\d+_$/.test(e)||/^_0x[0-9a-fA-F]+_$/.test(e)){let t=+e.slice(1,-1);if(Number.isSafeInteger(t)&&t>=0&&t<2**32)return t}return $d(e)}function yi(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Go(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function Tc(){throw new Error("unexpected end of buffer")}function rr(e,t){return e.byteLength<t&&Tc(),e.read(t)}function tr(e){let t=e.readUint8();return t===void 0&&Tc(),t}function re(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:yi(e))+1,r=new st(new Uint8Array(t),0);for(;;){let n=Number(e&BigInt(127));if(e/=BigInt(128),e===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function pe(e){let t=BigInt(1),r=BigInt(0),n;do n=tr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function fe(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:yi(e))+1,n=new st(new Uint8Array(r),0);for(;;){let s=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(s&64)!==0||!t&&e===BigInt(0)&&(s&64)===0){n.write(new Uint8Array([s]));break}else n.write(new Uint8Array([s|128]))}function o(s){let i=s%BigInt(128);return Number(t?BigInt(128)-i-BigInt(1):i)}return n.buffer}function Ft(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return pe(e);break}let n=new Uint8Array(rr(e,r+1)),o=BigInt(0);for(let s=n.byteLength-1;s>=0;s--)o=o*BigInt(128)+BigInt(128-(n[s]&127)-1);return-o-BigInt(1)}function Nc(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return gi(e,t)}function gi(e,t){e=BigInt(e);let r=new st(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),s=BigInt(0),i=Number(e%o);for(r.write(new Uint8Array([i]));++n<t;)e<0&&s===BigInt(0)&&i!==0&&(s=BigInt(1)),i=Number((e/o-s)%BigInt(256)),r.write(new Uint8Array([i])),o*=BigInt(256);return r.buffer}function xi(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(tr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let s=BigInt(tr(e));r=r+n*s}return r}function Oc(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=xi(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Z;(function(e){e[e.Null=-1]="Null",e[e.Bool=-2]="Bool",e[e.Nat=-3]="Nat",e[e.Int=-4]="Int",e[e.Float32=-13]="Float32",e[e.Float64=-14]="Float64",e[e.Text=-15]="Text",e[e.Reserved=-16]="Reserved",e[e.Empty=-17]="Empty",e[e.Opt=-18]="Opt",e[e.Vector=-19]="Vector",e[e.Record=-20]="Record",e[e.Variant=-21]="Variant",e[e.Func=-22]="Func",e[e.Service=-23]="Service",e[e.Principal=-24]="Principal"})(Z||(Z={}));var zo="DIDL",Ec=400;function Dn(e,t,r){return e.map((n,o)=>r(n,t[o]))}var wi=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(t){return this._idx.has(t.name)}add(t,r){let n=this._typs.length;this._idx.set(t.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(t,r){let n=this._idx.get(t.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+t);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let s=this._getIdxRefCount(o);this._idxRefCount.set(o,s-1),this._idx.delete(r),this._compactFromEnd()}_getIdxRefCount(t){return this._idxRefCount.get(t)||0}_compactFromEnd(){for(;this._typs.length>0;){let t=this._typs.length-1;if(this._getIdxRefCount(t)>0)break;this._typs.pop(),this._idxRefCount.delete(t)}}encode(){let t=re(this._typs.length),r=Y(...this._typs);return Y(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return fe(this._idx.get(t)||0)}},Ti=class{visitType(t,r){throw new Error("Not implemented")}visitPrimitive(t,r){return this.visitType(t,r)}visitEmpty(t,r){return this.visitPrimitive(t,r)}visitBool(t,r){return this.visitPrimitive(t,r)}visitNull(t,r){return this.visitPrimitive(t,r)}visitReserved(t,r){return this.visitPrimitive(t,r)}visitText(t,r){return this.visitPrimitive(t,r)}visitNumber(t,r){return this.visitPrimitive(t,r)}visitInt(t,r){return this.visitNumber(t,r)}visitNat(t,r){return this.visitNumber(t,r)}visitFloat(t,r){return this.visitPrimitive(t,r)}visitFixedInt(t,r){return this.visitNumber(t,r)}visitFixedNat(t,r){return this.visitNumber(t,r)}visitPrincipal(t,r){return this.visitPrimitive(t,r)}visitConstruct(t,r){return this.visitType(t,r)}visitVec(t,r,n){return this.visitConstruct(t,n)}visitOpt(t,r,n){return this.visitConstruct(t,n)}visitRecord(t,r,n){return this.visitConstruct(t,n)}visitTuple(t,r,n){let o=r.map((s,i)=>[`_${i}_`,s]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},$;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})($||($={}));var Jr=class{display(){return this.name}valueToString(t){return de(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Me=class extends Jr{checkType(t){if(this.name!==t.name)throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`);return t}_buildTypeTableImpl(t){}},gt=class extends Jr{checkType(t){if(t instanceof We){let r=t.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`)}encodeType(t){return t.indexOf(this.name)}},Un=class extends Me{get typeName(){return $.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===$.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return fe(Z.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Yo=class extends Jr{get typeName(){return $.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===$.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(){throw new Error("Unknown cannot appear as a function argument")}valueToString(){throw new Error("Unknown cannot appear as a value")}encodeType(){throw new Error("Unknown cannot be serialized")}decodeValue(t,r){let n=r.decodeValue(t,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof We?o=()=>r.getType():o=()=>r,Object.defineProperty(n,"type",{value:o,writable:!0,enumerable:!1,configurable:!0}),n}_buildTypeTableImpl(){throw new Error("Unknown cannot be serialized")}get name(){return"Unknown"}},Jo=class extends Me{get typeName(){return $.BoolClass}static[Symbol.hasInstance](t){return t.typeName===$.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return fe(Z.Bool)}decodeValue(t,r){switch(this.checkType(r),tr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},br=class extends Me{get typeName(){return $.NullClass}static[Symbol.hasInstance](t){return t.typeName===$.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return fe(Z.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},xt=class extends Me{get typeName(){return $.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===$.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return fe(Z.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},Zo=class extends Me{get typeName(){return $.TextClass}static[Symbol.hasInstance](t){return t.typeName===$.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=re(r.byteLength);return Y(n,r)}encodeType(){return fe(Z.Text)}decodeValue(t,r){this.checkType(r);let n=pe(t),o=rr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},kn=class extends Me{get typeName(){return $.IntClass}static[Symbol.hasInstance](t){return t.typeName===$.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){return fe(t)}encodeType(){return fe(Z.Int)}decodeValue(t,r){return this.checkType(r),Ft(t)}get name(){return"int"}valueToString(t){return t.toString()}},Ln=class extends Me{get typeName(){return $.NatClass}static[Symbol.hasInstance](t){return t.typeName===$.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){return re(t)}encodeType(){return fe(Z.Nat)}decodeValue(t,r){return this.checkType(r),pe(t)}get name(){return"nat"}valueToString(t){return t.toString()}},qn=class extends Me{get typeName(){return $.FloatClass}static[Symbol.hasInstance](t){return t.typeName===$.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,t,!0):n.setFloat64(0,t,!0),new Uint8Array(r)}encodeType(){let t=this._bits===32?Z.Float32:Z.Float64;return fe(t)}decodeValue(t,r){this.checkType(r);let n=rr(t,this._bits/8),o=wc(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},Bt=class extends Me{get typeName(){return $.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===$.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=Go(this._bits-1)*BigInt(-1),n=Go(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let s=BigInt(t);o=s>=r&&s<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){return gi(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return fe(-9-t)}decodeValue(t,r){this.checkType(r);let n=Oc(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},yt=class extends Me{get typeName(){return $.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===$.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=Go(this._bits),n=!1;if(typeof t=="bigint"&&t>=BigInt(0)?n=t<r:Number.isInteger(t)&&t>=0?n=BigInt(t)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){return Nc(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return fe(-5-t)}decodeValue(t,r){this.checkType(r);let n=xi(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},Zr=class e extends gt{get typeName(){return $.VecClass}static[Symbol.hasInstance](t){return t.typeName===$.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof yt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof yt?this._type._bits:this._type instanceof Bt?this._type._bits:0;if(ArrayBuffer.isView(t)&&r==t.BYTES_PER_ELEMENT*8||Array.isArray(t)&&t.every((n,o)=>{try{return this._type.covariant(n)}catch(s){throw new Error(`Invalid ${this.display()} argument:
|
|
36
|
+
`),t}},Bn=class e extends H{constructor(){super(),this.name="HttpV3ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v3 API is not supported"}},Cn=class e extends H{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Un(this.error)}`}},Vn=class e extends H{constructor(t){super(),this.receivedCanisterId=t,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Canister ID is required, but received ${typeof this.receivedCanisterId} instead. If you are using automatically generated declarations, this may be because your application is not setting the canister ID in process.env correctly.`}},zo=class e extends H{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Dn=class e extends H{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Un(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var er=new Error("unreachable");var Er={};Vd(Er,{Bool:()=>Sc,BoolClass:()=>Xo,ConstructType:()=>gt,Empty:()=>Ic,EmptyClass:()=>Ln,FixedIntClass:()=>Bt,FixedNatClass:()=>yt,Float32:()=>Vc,Float64:()=>Dc,FloatClass:()=>jn,Func:()=>Xc,FuncClass:()=>Or,Int:()=>Bc,Int16:()=>kc,Int32:()=>Lc,Int64:()=>qc,Int8:()=>Uc,IntClass:()=>qn,Nat:()=>Cc,Nat16:()=>jc,Nat32:()=>Kc,Nat64:()=>$c,Nat8:()=>Mc,NatClass:()=>Mn,Null:()=>Fc,NullClass:()=>Tr,Opt:()=>Wc,OptClass:()=>nr,PrimitiveType:()=>Me,Principal:()=>Hc,PrincipalClass:()=>ts,Rec:()=>Zc,RecClass:()=>We,Record:()=>Yc,RecordClass:()=>Nr,Reserved:()=>Ac,ReservedClass:()=>xt,Service:()=>Qc,ServiceClass:()=>tn,Text:()=>Pc,TextClass:()=>Qo,Tuple:()=>Gc,TupleClass:()=>es,Type:()=>Xr,Unknown:()=>Yd,UnknownClass:()=>Zo,Variant:()=>Jc,VariantClass:()=>en,Vec:()=>zc,VecClass:()=>Qr,Visitor:()=>Oi,decode:()=>Wd,encode:()=>zd,resetSubtypeCache:()=>Ei,subtype:()=>vi});function Y(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of e)t.set(n,r),r+=n.byteLength;return t}var st=class{save(){return this._view}restore(t){if(!(t instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=t}constructor(t,r=t?.byteLength||0){if(t&&!(t instanceof Uint8Array))try{t=_t(t)}catch{throw new Error("Buffer must be a Uint8Array")}if(r<0||!Number.isInteger(r))throw new Error("Length must be a non-negative integer");if(t&&r>t.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=t||new Uint8Array(0),this._view=new Uint8Array(this._buffer.buffer,0,r)}get buffer(){return this._view.slice()}get byteLength(){return this._view.byteLength}read(t){let r=this._view.subarray(0,t);return this._view=this._view.subarray(t),r.slice()}readUint8(){if(this._view.byteLength===0)return;let t=this._view[0];return this._view=this._view.subarray(1),t}write(t){if(!(t instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+t.byteLength>=this._buffer.byteLength?this.alloc(t.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+t.byteLength),this._view.set(t,r)}get end(){return this._view.byteLength===0}alloc(t){if(t<=0||!Number.isInteger(t))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+t)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+t);n.set(this._view),this._buffer=r,this._view=n}};function _t(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?_t(e.buffer):new Uint8Array(e)}function gi(e,t){if(e.byteLength!==t.byteLength)return e.byteLength-t.byteLength;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]-t[r];return 0}function Tc(e,t){return gi(e,t)===0}function Nc(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Gd(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function Be(e){if(/^_\d+_$/.test(e)||/^_0x[0-9a-fA-F]+_$/.test(e)){let t=+e.slice(1,-1);if(Number.isSafeInteger(t)&&t>=0&&t<2**32)return t}return Gd(e)}function xi(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Wo(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function Oc(){throw new Error("unexpected end of buffer")}function rr(e,t){return e.byteLength<t&&Oc(),e.read(t)}function tr(e){let t=e.readUint8();return t===void 0&&Oc(),t}function ne(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:xi(e))+1,r=new st(new Uint8Array(t),0);for(;;){let n=Number(e&BigInt(127));if(e/=BigInt(128),e===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function de(e){let t=BigInt(1),r=BigInt(0),n;do n=tr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function pe(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:xi(e))+1,n=new st(new Uint8Array(r),0);for(;;){let s=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(s&64)!==0||!t&&e===BigInt(0)&&(s&64)===0){n.write(new Uint8Array([s]));break}else n.write(new Uint8Array([s|128]))}function o(s){let i=s%BigInt(128);return Number(t?BigInt(128)-i-BigInt(1):i)}return n.buffer}function Ft(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return de(e);break}let n=new Uint8Array(rr(e,r+1)),o=BigInt(0);for(let s=n.byteLength-1;s>=0;s--)o=o*BigInt(128)+BigInt(128-(n[s]&127)-1);return-o-BigInt(1)}function Ec(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return bi(e,t)}function bi(e,t){e=BigInt(e);let r=new st(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),s=BigInt(0),i=Number(e%o);for(r.write(new Uint8Array([i]));++n<t;)e<0&&s===BigInt(0)&&i!==0&&(s=BigInt(1)),i=Number((e/o-s)%BigInt(256)),r.write(new Uint8Array([i])),o*=BigInt(256);return r.buffer}function wi(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(tr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let s=BigInt(tr(e));r=r+n*s}return r}function Rc(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=wi(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Z;(function(e){e[e.Null=-1]="Null",e[e.Bool=-2]="Bool",e[e.Nat=-3]="Nat",e[e.Int=-4]="Int",e[e.Float32=-13]="Float32",e[e.Float64=-14]="Float64",e[e.Text=-15]="Text",e[e.Reserved=-16]="Reserved",e[e.Empty=-17]="Empty",e[e.Opt=-18]="Opt",e[e.Vector=-19]="Vector",e[e.Record=-20]="Record",e[e.Variant=-21]="Variant",e[e.Func=-22]="Func",e[e.Service=-23]="Service",e[e.Principal=-24]="Principal"})(Z||(Z={}));var Yo="DIDL",vc=400;function kn(e,t,r){return e.map((n,o)=>r(n,t[o]))}var Ni=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(t){return this._idx.has(t.name)}add(t,r){let n=this._typs.length;this._idx.set(t.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(t,r){let n=this._idx.get(t.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+t);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let s=this._getIdxRefCount(o);this._idxRefCount.set(o,s-1),this._idx.delete(r),this._compactFromEnd()}_getIdxRefCount(t){return this._idxRefCount.get(t)||0}_compactFromEnd(){for(;this._typs.length>0;){let t=this._typs.length-1;if(this._getIdxRefCount(t)>0)break;this._typs.pop(),this._idxRefCount.delete(t)}}encode(){let t=ne(this._typs.length),r=Y(...this._typs);return Y(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return pe(this._idx.get(t)||0)}},Oi=class{visitType(t,r){throw new Error("Not implemented")}visitPrimitive(t,r){return this.visitType(t,r)}visitEmpty(t,r){return this.visitPrimitive(t,r)}visitBool(t,r){return this.visitPrimitive(t,r)}visitNull(t,r){return this.visitPrimitive(t,r)}visitReserved(t,r){return this.visitPrimitive(t,r)}visitText(t,r){return this.visitPrimitive(t,r)}visitNumber(t,r){return this.visitPrimitive(t,r)}visitInt(t,r){return this.visitNumber(t,r)}visitNat(t,r){return this.visitNumber(t,r)}visitFloat(t,r){return this.visitPrimitive(t,r)}visitFixedInt(t,r){return this.visitNumber(t,r)}visitFixedNat(t,r){return this.visitNumber(t,r)}visitPrincipal(t,r){return this.visitPrimitive(t,r)}visitConstruct(t,r){return this.visitType(t,r)}visitVec(t,r,n){return this.visitConstruct(t,n)}visitOpt(t,r,n){return this.visitConstruct(t,n)}visitRecord(t,r,n){return this.visitConstruct(t,n)}visitTuple(t,r,n){let o=r.map((s,i)=>[`_${i}_`,s]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},K;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})(K||(K={}));var Xr=class{display(){return this.name}valueToString(t){return ue(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Me=class extends Xr{checkType(t){if(this.name!==t.name)throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`);return t}_buildTypeTableImpl(t){}},gt=class extends Xr{checkType(t){if(t instanceof We){let r=t.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`)}encodeType(t){return t.indexOf(this.name)}},Ln=class extends Me{get typeName(){return K.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===K.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return pe(Z.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Zo=class extends Xr{get typeName(){return K.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===K.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(){throw new Error("Unknown cannot appear as a function argument")}valueToString(){throw new Error("Unknown cannot appear as a value")}encodeType(){throw new Error("Unknown cannot be serialized")}decodeValue(t,r){let n=r.decodeValue(t,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof We?o=()=>r.getType():o=()=>r,Object.defineProperty(n,"type",{value:o,writable:!0,enumerable:!1,configurable:!0}),n}_buildTypeTableImpl(){throw new Error("Unknown cannot be serialized")}get name(){return"Unknown"}},Xo=class extends Me{get typeName(){return K.BoolClass}static[Symbol.hasInstance](t){return t.typeName===K.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return pe(Z.Bool)}decodeValue(t,r){switch(this.checkType(r),tr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},Tr=class extends Me{get typeName(){return K.NullClass}static[Symbol.hasInstance](t){return t.typeName===K.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return pe(Z.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},xt=class extends Me{get typeName(){return K.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===K.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return pe(Z.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},Qo=class extends Me{get typeName(){return K.TextClass}static[Symbol.hasInstance](t){return t.typeName===K.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=ne(r.byteLength);return Y(n,r)}encodeType(){return pe(Z.Text)}decodeValue(t,r){this.checkType(r);let n=de(t),o=rr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},qn=class extends Me{get typeName(){return K.IntClass}static[Symbol.hasInstance](t){return t.typeName===K.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){return pe(t)}encodeType(){return pe(Z.Int)}decodeValue(t,r){return this.checkType(r),Ft(t)}get name(){return"int"}valueToString(t){return t.toString()}},Mn=class extends Me{get typeName(){return K.NatClass}static[Symbol.hasInstance](t){return t.typeName===K.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){return ne(t)}encodeType(){return pe(Z.Nat)}decodeValue(t,r){return this.checkType(r),de(t)}get name(){return"nat"}valueToString(t){return t.toString()}},jn=class extends Me{get typeName(){return K.FloatClass}static[Symbol.hasInstance](t){return t.typeName===K.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,t,!0):n.setFloat64(0,t,!0),new Uint8Array(r)}encodeType(){let t=this._bits===32?Z.Float32:Z.Float64;return pe(t)}decodeValue(t,r){this.checkType(r);let n=rr(t,this._bits/8),o=Nc(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},Bt=class extends Me{get typeName(){return K.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===K.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=Wo(this._bits-1)*BigInt(-1),n=Wo(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let s=BigInt(t);o=s>=r&&s<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){return bi(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return pe(-9-t)}decodeValue(t,r){this.checkType(r);let n=Rc(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},yt=class extends Me{get typeName(){return K.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===K.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=Wo(this._bits),n=!1;if(typeof t=="bigint"&&t>=BigInt(0)?n=t<r:Number.isInteger(t)&&t>=0?n=BigInt(t)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){return Ec(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return pe(-5-t)}decodeValue(t,r){this.checkType(r);let n=wi(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},Qr=class e extends gt{get typeName(){return K.VecClass}static[Symbol.hasInstance](t){return t.typeName===K.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof yt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof yt?this._type._bits:this._type instanceof Bt?this._type._bits:0;if(ArrayBuffer.isView(t)&&r==t.BYTES_PER_ELEMENT*8||Array.isArray(t)&&t.every((n,o)=>{try{return this._type.covariant(n)}catch(s){throw new Error(`Invalid ${this.display()} argument:
|
|
37
37
|
|
|
38
|
-
index ${o} -> ${s.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${
|
|
38
|
+
index ${o} -> ${s.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){let r=ne(t.length);if(this._blobOptimization)return Y(r,new Uint8Array(t));if(ArrayBuffer.isView(t))if(t instanceof Int16Array||t instanceof Uint16Array){let o=new DataView(new ArrayBuffer(t.length*2));for(let s=0;s<t.length;s++)t instanceof Int16Array?o.setInt16(s*2,t[s],!0):o.setUint16(s*2,t[s],!0);return Y(r,new Uint8Array(o.buffer))}else if(t instanceof Int32Array||t instanceof Uint32Array){let o=new DataView(new ArrayBuffer(t.length*4));for(let s=0;s<t.length;s++)t instanceof Int32Array?o.setInt32(s*4,t[s],!0):o.setUint32(s*4,t[s],!0);return Y(r,new Uint8Array(o.buffer))}else if(t instanceof BigInt64Array||t instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(t.length*8));for(let s=0;s<t.length;s++)t instanceof BigInt64Array?o.setBigInt64(s*8,t[s],!0):o.setBigUint64(s*8,t[s],!0);return Y(r,new Uint8Array(o.buffer))}else return Y(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength));let n=new st(new Uint8Array(r.byteLength+t.length),0);n.write(r);for(let o of t){let s=this._type.encodeValue(o);n.write(new Uint8Array(s))}return n.buffer}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=pe(Z.Vector),n=this._type.encodeType(t);t.add(this,Y(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a vector type");let o=Number(de(t));if(this._type instanceof yt){if(this._type._bits==8)return new Uint8Array(t.read(o));if(this._type._bits==16){let i=t.read(o*2);return new Uint16Array(i.buffer,i.byteOffset,o)}if(this._type._bits==32){let i=t.read(o*4);return new Uint32Array(i.buffer,i.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(t.read(o*8).buffer)}if(this._type instanceof Bt){if(this._type._bits==8)return new Int8Array(t.read(o));if(this._type._bits==16){let i=t.read(o*2),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new Int16Array(o);for(let u=0;u<o;u++)c[u]=a.getInt16(u*2,!0);return c}if(this._type._bits==32){let i=t.read(o*4),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new Int32Array(o);for(let u=0;u<o;u++)c[u]=a.getInt32(u*4,!0);return c}if(this._type._bits==64){let i=t.read(o*8),a=new DataView(i.buffer,i.byteOffset,i.byteLength),c=new BigInt64Array(o);for(let u=0;u<o;u++)c[u]=a.getBigInt64(u*8,!0);return c}}let s=[];for(let i=0;i<o;i++)s.push(this._type.decodeValue(t,n._type));return s}get name(){return`vec ${this._type.name}`}display(){return`vec ${this._type.display()}`}valueToString(t){return"vec {"+t.map(n=>this._type.valueToString(n)).join("; ")+"}"}},nr=class e extends gt{get typeName(){return K.OptClass}static[Symbol.hasInstance](t){return t.typeName===K.OptClass}constructor(t){super(),this._type=t}accept(t,r){return t.visitOpt(this,this._type,r)}covariant(t){try{if(Array.isArray(t)&&(t.length===0||t.length===1&&this._type.covariant(t[0])))return!0}catch(r){throw new Error(`Invalid ${this.display()} argument: ${ue(t)}
|
|
39
39
|
|
|
40
|
-
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${
|
|
40
|
+
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):Y(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=pe(Z.Opt),n=this._type.encodeType(t);t.add(this,Y(r,n))}decodeValue(t,r){if(r instanceof Tr)return[];if(r instanceof xt)return[];let n=r;if(r instanceof We){let o=r.getType();if(typeof o>"u")throw new Error("type mismatch with uninitialized type");n=o}if(n instanceof e)switch(tr(t)){case 0:return[];case 1:{let o=t.save();try{return[this._type.decodeValue(t,n._type)]}catch{return t.restore(o),n._type.decodeValue(t,n._type),[]}}default:throw new Error("Not an option value")}else{if(this._type instanceof Tr||this._type instanceof e||this._type instanceof xt)return n.decodeValue(t,n),[];{let o=t.save();try{return[this._type.decodeValue(t,r)]}catch{return t.restore(o),n.decodeValue(t,r),[]}}}}get name(){return`opt ${this._type.name}`}display(){return`opt ${this._type.display()}`}valueToString(t){return t.length===0?"null":`opt ${this._type.valueToString(t[0])}`}},Nr=class e extends gt{get typeName(){return K.RecordClass}static[Symbol.hasInstance](t){return t.typeName===K.RecordClass||t.typeName===K.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Be(r[0])-Be(n[0]))}accept(t,r){return t.visitRecord(this,this._fields,r)}tryAsTuple(){let t=[];for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(n!==`_${r}_`)return null;t.push(o)}return t}covariant(t){if(typeof t=="object"&&this._fields.every(([r,n])=>{if(!t.hasOwnProperty(r))throw new Error(`Record is missing key "${r}".`);try{return n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
41
41
|
|
|
42
|
-
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${
|
|
42
|
+
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=kn(this._fields,r,([,o],s)=>o.encodeValue(s));return Y(...n)}_buildTypeTableImpl(t){this._fields.forEach(([s,i])=>i.buildTypeTable(t));let r=pe(Z.Record),n=ne(this._fields.length),o=this._fields.map(([s,i])=>Y(ne(Be(s)),i.encodeType(t)));t.add(this,Y(r,n,Y(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a record type");let o={},s=0,i=0;for(;i<n._fields.length;){let[a,c]=n._fields[i];if(s>=this._fields.length){c.decodeValue(t,c),i++;continue}let[u,p]=this._fields[s],d=Be(this._fields[s][0]),l=Be(a);if(d===l)o[u]=p.decodeValue(t,c),s++,i++;else if(l>d)if(p instanceof nr||p instanceof xt)o[u]=[],s++;else throw new Error("Cannot find required field "+u);else c.decodeValue(t,c),i++}for(let[a,c]of this._fields.slice(s))if(c instanceof nr||c instanceof xt)o[a]=[];else throw new Error("Cannot find required field "+a);return o}get fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[Be(r)]=n;return t}get name(){return`record {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`record {${this._fields.map(([r,n])=>r+":"+n.display()).join("; ")}}`}valueToString(t){let r=this._fields.map(([o])=>t[o]);return`record {${kn(this._fields,r,([o,s],i)=>o+"="+s.valueToString(i)).join("; ")}}`}},es=class e extends Nr{get typeName(){return K.TupleClass}static[Symbol.hasInstance](t){return t.typeName===K.TupleClass}constructor(t){let r={};t.forEach((n,o)=>r["_"+o+"_"]=n),super(r),this._components=t}accept(t,r){return t.visitTuple(this,this._components,r)}covariant(t){if(Array.isArray(t)&&t.length>=this._fields.length&&this._components.every((r,n)=>{try{return r.covariant(t[n])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
43
43
|
|
|
44
|
-
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${
|
|
44
|
+
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){let r=kn(this._components,t,(n,o)=>n.encodeValue(o));return Y(...r)}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("not a tuple type");if(n._components.length<this._components.length)throw new Error("tuple mismatch");let o=[];for(let[s,i]of n._components.entries())s>=this._components.length?i.decodeValue(t,i):o.push(this._components[s].decodeValue(t,i));return o}display(){return`record {${this._components.map(r=>r.display()).join("; ")}}`}valueToString(t){return`record {${kn(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},en=class e extends gt{get typeName(){return K.VariantClass}static[Symbol.hasInstance](t){return t.typeName===K.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Be(r[0])-Be(n[0]))}accept(t,r){return t.visitVariant(this,this._fields,r)}covariant(t){if(typeof t=="object"&&Object.entries(t).length===1&&this._fields.every(([r,n])=>{try{return!t.hasOwnProperty(r)||n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
45
45
|
|
|
46
|
-
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${
|
|
46
|
+
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let s=ne(r),i=o.encodeValue(t[n]);return Y(s,i)}}throw Error("Variant has no data: "+t)}_buildTypeTableImpl(t){this._fields.forEach(([,s])=>{s.buildTypeTable(t)});let r=pe(Z.Variant),n=ne(this._fields.length),o=this._fields.map(([s,i])=>Y(ne(Be(s)),i.encodeType(t)));t.add(this,Y(r,n,...o))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a variant type");let o=Number(de(t));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[s,i]=n._fields[o];for(let[a,c]of this._fields)if(Be(s)===Be(a)){let u=c.decodeValue(t,i);return{[a]:u}}throw new Error("Cannot find field hash "+s)}get name(){return`variant {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`variant {${this._fields.map(([r,n])=>r+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(t){for(let[r,n]of this._fields)if(t.hasOwnProperty(r)){let o=n.valueToString(t[r]);return o==="null"?`variant {${r}}`:`variant {${r}=${o}}`}throw new Error("Variant has no data: "+t)}get alternativesAsObject(){let t={};for(let[r,n]of this._fields)t[Be(r)]=n;return t}},We=class e extends gt{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return K.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===K.RecClass}accept(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return t.visitRec(this,this._type,r)}fill(t){this._type=t}getType(){return this._type}covariant(t){if(this._type&&this._type.covariant(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.encodeValue(t)}_buildTypeTableImpl(t){if(!this._type)throw Error("Recursive type uninitialized.");t.add(this,new Uint8Array([])),this._type.buildTypeTable(t),t.merge(this,this._type.name)}decodeValue(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.decodeValue(t,r)}get name(){return`rec_${this._id}`}display(){if(!this._type)throw Error("Recursive type uninitialized.");return`\u03BC${this.name}.${this._type.name}`}valueToString(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.valueToString(t)}};function Ri(e){if(tr(e)!==1)throw new Error("Cannot decode principal");let r=Number(de(e));return q.fromUint8Array(new Uint8Array(rr(e,r)))}var ts=class extends Me{get typeName(){return K.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===K.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=ne(r.byteLength);return Y(new Uint8Array([1]),n,r)}encodeType(){return pe(Z.Principal)}decodeValue(t,r){return this.checkType(r),Ri(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},Or=class extends gt{get typeName(){return K.FuncClass}static[Symbol.hasInstance](t){return t.typeName===K.FuncClass}static argsToString(t,r){if(t.length!==r.length)throw new Error("arity mismatch");return"("+t.map((n,o)=>n.valueToString(r[o])).join(", ")+")"}constructor(t,r,n=[]){super(),this.argTypes=t,this.retTypes=r,this.annotations=n}accept(t,r){return t.visitFunc(this,r)}covariant(t){if(Array.isArray(t)&&t.length===2&&t[0]&&t[0]._isPrincipal&&typeof t[1]=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=ne(n.byteLength),s=Y(new Uint8Array([1]),o,n),i=new TextEncoder().encode(r),a=ne(i.byteLength);return Y(new Uint8Array([1]),s,a,i)}_buildTypeTableImpl(t){this.argTypes.forEach(u=>u.buildTypeTable(t)),this.retTypes.forEach(u=>u.buildTypeTable(t));let r=pe(Z.Func),n=ne(this.argTypes.length),o=Y(...this.argTypes.map(u=>u.encodeType(t))),s=ne(this.retTypes.length),i=Y(...this.retTypes.map(u=>u.encodeType(t))),a=ne(this.annotations.length),c=Y(...this.annotations.map(u=>this.encodeAnnotation(u)));t.add(this,Y(r,n,o,s,i,a,c))}decodeValue(t,r){let n=r instanceof We?r.getType()??r:r;if(!vi(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(tr(t)!==1)throw new Error("Cannot decode function reference");let s=Ri(t),i=Number(de(t)),a=rr(t,i),u=new TextDecoder("utf8",{fatal:!0}).decode(a);return[s,u]}get name(){let t=this.argTypes.map(o=>o.name).join(", "),r=this.retTypes.map(o=>o.name).join(", "),n=" "+this.annotations.join(" ");return`(${t}) -> (${r})${n}`}valueToString([t,r]){return`func "${t.toText()}".${r}`}display(){let t=this.argTypes.map(o=>o.display()).join(", "),r=this.retTypes.map(o=>o.display()).join(", "),n=" "+this.annotations.join(" ");return`(${t}) \u2192 (${r})${n}`}encodeAnnotation(t){if(t==="query")return new Uint8Array([1]);if(t==="oneway")return new Uint8Array([2]);if(t==="composite_query")return new Uint8Array([3]);throw new Error("Illegal function annotation")}},tn=class extends gt{get typeName(){return K.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===K.ServiceClass}constructor(t){super(),this._fields=Object.entries(t).sort((r,n)=>r[0]<n[0]?-1:r[0]>n[0]?1:0)}accept(t,r){return t.visitService(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${ue(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=ne(r.length);return Y(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([s,i])=>i.buildTypeTable(t));let r=pe(Z.Service),n=ne(this._fields.length),o=this._fields.map(([s,i])=>{let a=new TextEncoder().encode(s),c=ne(a.length);return Y(c,a,i.encodeType(t))});t.add(this,Y(r,n,...o))}decodeValue(t,r){let n=r instanceof We?r.getType()??r:r;if(!vi(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return Ri(t)}get name(){return`service {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}valueToString(t){return`service "${t.toText()}"`}fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[r]=n;return t}};function ue(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>vc?t.substring(0,vc-3)+"...":t}function zd(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new Ni;e.forEach(c=>c.buildTypeTable(r));let n=new TextEncoder().encode(Yo),o=r.encode(),s=ne(t.length),i=Y(...e.map(c=>c.encodeType(r))),a=Y(...kn(e,t,(c,u)=>{try{c.covariant(u)}catch(p){throw new Error(p.message+`
|
|
47
47
|
|
|
48
|
-
`)}return c.encodeValue(u)}));return Y(n,o,s,i,a)}function
|
|
49
|
-
`;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let s=new Map;s.set(r,n),this.rels.set(t,s)}else o.set(r,n)}},
|
|
50
|
-
ic-request`),vi=new TextEncoder().encode("\vic-response"),Ii=new TextEncoder().encode("ic-request-auth-delegation");var bt=class{getPrincipal(){return this._principal||(this._principal=L.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=Ct(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(K(jn,o))}}}},Ye=class{getPrincipal(){return L.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var Vt=class extends Error{constructor(t){super(t),this.name="DecodingError"}},el=55799,tl=Symbol("CBOR_STOP_CODE"),ct=(e=>(e[e.False=20]="False",e[e.True=21]="True",e[e.Null=22]="Null",e[e.Undefined=23]="Undefined",e[e.Break=31]="Break",e))(ct||{}),_e=(e=>(e[e.UnsignedInteger=0]="UnsignedInteger",e[e.NegativeInteger=1]="NegativeInteger",e[e.ByteString=2]="ByteString",e[e.TextString=3]="TextString",e[e.Array=4]="Array",e[e.Map=5]="Map",e[e.Tag=6]="Tag",e[e.Simple=7]="Simple",e))(_e||{}),Yd=23,Jd=255,Zd=65535,Xd=4294967295,Qd=BigInt("0xffffffffffffffff"),at=(e=>(e[e.Value=23]="Value",e[e.OneByte=24]="OneByte",e[e.TwoBytes=25]="TwoBytes",e[e.FourBytes=26]="FourBytes",e[e.EightBytes=27]="EightBytes",e[e.Indefinite=31]="Indefinite",e))(at||{}),tn=!1;function ep(e){return e==null}function rl(e,t){let r=new Uint8Array(t);return r.set(e),r}var tp=new TextDecoder;function rp(e){return(e&224)>>5}function np(e){return e&31}var Hn=new Uint8Array,Kn,lt=0;function nl(e,t){Hn=e,lt=0;let r=Er(t);return t?.(r)??r}function Er(e){let[t,r]=ts();switch(t){case _e.UnsignedInteger:return rn(r);case _e.NegativeInteger:return ap(r);case _e.ByteString:return ol(r);case _e.TextString:return Si(r);case _e.Array:return op(r,e);case _e.Map:return ip(r,e);case _e.Tag:return cp(r,e);case _e.Simple:return sp(r)}throw new Vt(`Unsupported major type: ${t}`)}function ts(){let e=Hn.at(lt);if(ep(e))throw new Vt("Provided CBOR data is empty");let t=rp(e),r=np(e);return lt++,[t,r]}function op(e,t){let r=rn(e);if(r===1/0){let o=[],s=Er(t);for(;s!==tl;)o.push(t?.(s)??s),s=Er(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let s=Er(t);n[o]=t?.(s)??s}return n}function sp(e){switch(e){case ct.False:return!1;case ct.True:return!0;case ct.Null:return null;case ct.Undefined:return;case ct.Break:return tl}throw new Vt(`Unrecognized simple type: ${e.toString(2)}`)}function ip(e,t){let r=rn(e),n={};if(r===1/0){let[o,s]=ts();for(;o!==_e.Simple&&s!==ct.Break;){let i=Si(s),a=Er(t);n[i]=t?.(a,i)??a,[o,s]=ts()}return n}for(let o=0;o<r;o++){let[s,i]=ts();if(s!==_e.TextString)throw new Vt("Map keys must be text strings");let a=Si(i),c=Er(t);n[a]=t?.(c,a)??c}return n}function rn(e){if(e<=at.Value)return e;switch(Kn=new DataView(Hn.buffer,Hn.byteOffset+lt),e){case at.OneByte:return lt++,Kn.getUint8(0);case at.TwoBytes:return lt+=2,Kn.getUint16(0,tn);case at.FourBytes:return lt+=4,Kn.getUint32(0,tn);case at.EightBytes:return lt+=8,Kn.getBigUint64(0,tn);case at.Indefinite:return 1/0;default:throw new Vt(`Unsupported integer info: ${e.toString(2)}`)}}function ap(e){let t=rn(e);return typeof t=="number"?-1-t:-1n-t}function ol(e){let t=rn(e);if(t>Number.MAX_SAFE_INTEGER)throw new Vt("Byte length is too large");let r=Number(t);return lt+=r,Hn.slice(lt-r,lt)}function Si(e){let t=ol(e);return tp.decode(t)}function cp(e,t){let r=rn(e);if(r===el)return Er(t);throw new Vt(`Unsupported tag: ${r}.`)}var Gn=class extends Error{constructor(t){super(t),this.name="SerializationError"}},lp=2*1024,up=100,dp=new TextEncoder;function $n(e){return e<<5}var He=new Uint8Array(lp),it=new DataView(He.buffer),me=0,Ai=[];function sl(e,t){me=0;let r=t?.(e)??e;return xp(el,r,t),He.slice(0,me)}function Fi(e,t){if(me>He.length-up&&(He=rl(He,He.length*2),it=new DataView(He.buffer)),e===!1||e===!0||e===null||e===void 0){hp(e);return}if(typeof e=="number"||typeof e=="bigint"){gp(e);return}if(typeof e=="string"){cl(e);return}if(e instanceof Uint8Array){Qc(e);return}if(e instanceof ArrayBuffer){Qc(new Uint8Array(e));return}if(Array.isArray(e)){pp(e,t);return}if(typeof e=="object"){fp(e,t);return}throw new Gn(`Unsupported type: ${typeof e}`)}function pp(e,t){nn(_e.Array,e.length),e.forEach((r,n)=>{Fi(t?.(r,n.toString())??r,t)})}function fp(e,t){Ai=Object.entries(e),nn(_e.Map,Ai.length),Ai.forEach(([r,n])=>{cl(r),Fi(t?.(n,r)??n,t)})}function nn(e,t){if(t<=Yd){it.setUint8(me++,$n(e)|Number(t));return}if(t<=Jd){it.setUint8(me++,$n(e)|at.OneByte),it.setUint8(me,Number(t)),me+=1;return}if(t<=Zd){it.setUint8(me++,$n(e)|at.TwoBytes),it.setUint16(me,Number(t),tn),me+=2;return}if(t<=Xd){it.setUint8(me++,$n(e)|at.FourBytes),it.setUint32(me,Number(t),tn),me+=4;return}if(t<=Qd){it.setUint8(me++,$n(e)|at.EightBytes),it.setBigUint64(me,BigInt(t),tn),me+=8;return}throw new Gn(`Value too large to encode: ${t}`)}function hp(e){nn(_e.Simple,mp(e))}function mp(e){if(e===!1)return ct.False;if(e===!0)return ct.True;if(e===null)return ct.Null;if(e===void 0)return ct.Undefined;throw new Gn(`Unrecognized simple value: ${e.toString()}`)}function il(e,t){nn(e,t.length),me>He.length-t.length&&(He=rl(He,He.length+t.length),it=new DataView(He.buffer)),He.set(t,me),me+=t.length}function al(e,t){nn(e,t)}function _p(e){al(_e.UnsignedInteger,e)}function yp(e){al(_e.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function gp(e){e>=0?_p(e):yp(e)}function cl(e){il(_e.TextString,dp.encode(e))}function Qc(e){il(_e.ByteString,e)}function xp(e,t,r){nn(_e.Tag,e),Fi(t,r)}function wp(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function zn(e){try{return sl(e,t=>L.isPrincipal(t)?t.toUint8Array():on.isExpiry(t)?t.toBigInt():wp(t)?t.toCborValue():t)}catch(t){throw W.fromCode(new Co(t,e))}}function je(e){try{return nl(e)}catch(t){throw W.fromCode(new Bo(t,e))}}var rs={encode:zn,decode:je};var Wn=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let e=new Uint32Array(1);return window.crypto.getRandomValues(e),e[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};var Dt;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(Dt||(Dt={}));var ns;(function(e){e.Call="call"})(ns||(ns={}));var Rr;(function(e){e.Query="query",e.ReadState="read_state"})(Rr||(Rr={}));function Yn(){let e=new ArrayBuffer(16),t=new DataView(e),r=Wn(),n=Wn(),o=Wn(),s=Wn();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,s),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var os="__expiry__",Bi=BigInt(1e3),Tp=BigInt(1e6),ll=BigInt(60),Np=BigInt(90)*Bi;function ul(e){return e/Bi}function Op(e){return ul(e)/ll}var on=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(t),o=BigInt(Date.now())+n+BigInt(r),s;return n<Np?s=ul(o):s=Op(o)*ll,new e(s*Bi*Tp)}toBigInt(){return this.__expiry__}toHash(){return re(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[os]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[os])try{let n=BigInt(r[os]);return new e(n)}catch(n){throw new W(new Cn(`Not a valid BigInt: ${n}`))}throw new W(new Cn(`The input does not contain the key ${os}`))}static isExpiry(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isExpiry"in t&&t._isExpiry===!0&&"__expiry__"in t&&typeof t.__expiry__=="bigint"}};function Ci(e=Yn){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===Dt.Call&&(t.body.nonce=e())}}function ss(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var Di=BigInt(0),is=BigInt(1);function vr(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function or(e,t,r=""){let n=ft(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,a=s?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return e}function dl(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Di:BigInt("0x"+e)}function Ke(e){return dl(M(e))}function Ut(e){return ue(e),dl(M(Uint8Array.from(e).reverse()))}function ye(e,t){return be(e.toString(16).padStart(t*2,"0"))}function Ui(e,t){return ye(e,t).reverse()}function ae(e,t,r){let n;if(typeof t=="string")try{n=be(t)}catch(s){throw new Error(e+" must be hex string or Uint8Array, cause: "+s)}else if(ft(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function pl(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function ki(e){return Uint8Array.from(e)}var Vi=e=>typeof e=="bigint"&&Di<=e;function Li(e,t,r){return Vi(e)&&Vi(t)&&Vi(r)&&t<=e&&e<r}function as(e,t,r,n){if(!Li(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function kt(e){let t;for(t=0;e>Di;e>>=is,t+=1);return t}function fl(e,t){return e>>BigInt(t)&is}var ut=e=>(is<<BigInt(e))-is;function hl(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function Lt(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,s,i){let a=e[o];if(i&&a===void 0)return;let c=typeof a;if(c!==s||a===null)throw new Error(`param "${o}" is invalid: expected ${s}, got ${c}`)}Object.entries(t).forEach(([o,s])=>n(o,s,!1)),Object.entries(r).forEach(([o,s])=>n(o,s,!0))}var sn=()=>{throw new Error("not implemented")};function sr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let s=e(r,...n);return t.set(r,s),s}}var Ve=BigInt(0),Te=BigInt(1),Ir=BigInt(2),_l=BigInt(3),yl=BigInt(4),gl=BigInt(5),Ep=BigInt(7),xl=BigInt(8),Rp=BigInt(9),bl=BigInt(16);function se(e,t){let r=e%t;return r>=Ve?r:t+r}function dt(e,t,r){let n=e;for(;t-- >Ve;)n*=n,n%=r;return n}function ml(e,t){if(e===Ve)throw new Error("invert: expected non-zero number");if(t<=Ve)throw new Error("invert: expected positive modulus, got "+t);let r=se(e,t),n=t,o=Ve,s=Te,i=Te,a=Ve;for(;r!==Ve;){let u=n/r,p=n%r,d=o-i*u,l=s-a*u;n=r,r=p,o=i,s=a,i=d,a=l}if(n!==Te)throw new Error("invert: does not exist");return se(o,t)}function qi(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function wl(e,t){let r=(e.ORDER+Te)/yl,n=e.pow(t,r);return qi(e,n,t),n}function vp(e,t){let r=(e.ORDER-gl)/xl,n=e.mul(t,Ir),o=e.pow(n,r),s=e.mul(t,o),i=e.mul(e.mul(s,Ir),o),a=e.mul(s,e.sub(i,e.ONE));return qi(e,a,t),a}function Ip(e){let t=De(e),r=Tl(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+Ep)/bl;return(a,c)=>{let u=a.pow(c,i),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,s),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);u=a.cmov(u,p,f),p=a.cmov(l,d,h);let _=a.eql(a.sqr(p),c),g=a.cmov(u,p,_);return qi(a,g,c),g}}function Tl(e){if(e<_l)throw new Error("sqrt is not defined for small field");let t=e-Te,r=0;for(;t%Ir===Ve;)t/=Ir,r++;let n=Ir,o=De(e);for(;Jn(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return wl;let s=o.pow(n,t),i=(t+Te)/Ir;return function(c,u){if(c.is0(u))return u;if(Jn(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,s),l=c.pow(u,t),f=c.pow(u,i);for(;!c.eql(l,c.ONE);){if(c.is0(l))return c.ZERO;let h=1,_=c.sqr(l);for(;!c.eql(_,c.ONE);)if(h++,_=c.sqr(_),h===p)throw new Error("Cannot find square root");let g=Te<<BigInt(p-h-1),m=c.pow(d,g);p=h,d=c.sqr(m),l=c.mul(l,d),f=c.mul(f,m)}return f}}function Ap(e){return e%yl===_l?wl:e%xl===gl?vp:e%bl===Rp?Ip(e):Tl(e)}var qt=(e,t)=>(se(e,t)&Te)===Te,Sp=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function cs(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Sp.reduce((n,o)=>(n[o]="function",n),t);return Lt(e,r),e}function Zn(e,t,r){if(r<Ve)throw new Error("invalid exponent, negatives unsupported");if(r===Ve)return e.ONE;if(r===Te)return t;let n=e.ONE,o=t;for(;r>Ve;)r&Te&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Te;return n}function Je(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((i,a,c)=>e.is0(a)?i:(n[c]=i,e.mul(i,a)),e.ONE),s=e.inv(o);return t.reduceRight((i,a,c)=>e.is0(a)?i:(n[c]=e.mul(i,n[c]),e.mul(i,a)),s),n}function Jn(e,t){let r=(e.ORDER-Te)/Ir,n=e.pow(t,r),o=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),i=e.eql(n,e.neg(e.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function Mi(e,t){t!==void 0&&li(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function De(e,t,r=!1,n={}){if(e<=Ve)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,s,i=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let l=t;l.BITS&&(o=l.BITS),l.sqrt&&(s=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(i=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(s=n.sqrt);let{nBitLength:c,nByteLength:u}=Mi(e,o);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,d=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:u,MASK:ut(c),ZERO:Ve,ONE:Te,allowedLengths:a,create:l=>se(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return Ve<=l&&l<e},is0:l=>l===Ve,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Te)===Te,neg:l=>se(-l,e),eql:(l,f)=>l===f,sqr:l=>se(l*l,e),add:(l,f)=>se(l+f,e),sub:(l,f)=>se(l-f,e),mul:(l,f)=>se(l*f,e),pow:(l,f)=>Zn(d,l,f),div:(l,f)=>se(l*ml(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>ml(l,e),sqrt:s||(l=>(p||(p=Ap(e)),p(d,l))),toBytes:l=>r?Ui(l,u):ye(l,u),fromBytes:(l,f=!0)=>{if(a){if(!a.includes(l.length)||l.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+l.length);let _=new Uint8Array(u);_.set(l,r?0:_.length-l.length),l=_}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?Ut(l):Ke(l);if(i&&(h=se(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>Je(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function Nl(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function ls(e){let t=Nl(e);return t+Math.ceil(t/2)}function ji(e,t,r=!1){let n=e.length,o=Nl(t),s=ls(t);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?Ut(e):Ke(e),a=se(i,t-Te)+Te;return r?Ui(a,o):ye(a,o)}var an=BigInt(0),Ar=BigInt(1);function Xn(e,t){let r=t.negate();return e?r:t}function Ze(e,t){let r=Je(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function vl(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Ki(e,t){vl(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,s=ut(e),i=BigInt(e);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function Ol(e,t,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(e&o),c=e>>i;a>n&&(a-=s,c+=Ar);let u=t*n,p=u+Math.abs(a)-1,d=a===0,l=a<0,f=t%2!==0;return{nextN:c,offset:p,isZero:d,isNeg:l,isNegF:f,offsetF:u}}function Pp(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function Bp(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var $i=new WeakMap,Il=new WeakMap;function Hi(e){return Il.get(e)||1}function El(e){if(e!==an)throw new Error("invalid wNAF")}var cn=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>an;)r&Ar&&(n=n.add(o)),o=o.double(),r>>=Ar;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Ki(r,this.bits),s=[],i=t,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let u=1;u<o;u++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=Ki(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=Ol(n,a,i);n=c,p?s=s.add(Xn(l,r[f])):o=o.add(Xn(d,r[u]))}return El(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=Ki(t,this.bits);for(let i=0;i<s.windows&&n!==an;i++){let{nextN:a,offset:c,isZero:u,isNeg:p}=Ol(n,i,s);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return El(n),o}getPrecomputes(t,r,n){let o=$i.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),$i.set(r,o))),o}cached(t,r,n){let o=Hi(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=Hi(t);return s===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),r,o)}createCache(t,r){vl(r,this.bits),Il.set(t,r),$i.delete(t)}hasCache(t){return Hi(t)!==1}};function Al(e,t,r,n){let o=t,s=e.ZERO,i=e.ZERO;for(;r>an||n>an;)r&Ar&&(s=s.add(o)),n&Ar&&(i=i.add(o)),o=o.double(),r>>=Ar,n>>=Ar;return{p1:s,p2:i}}function ln(e,t,r,n){Pp(r,e),Bp(n,t);let o=r.length,s=n.length;if(o!==s)throw new Error("arrays of points and scalars must have equal length");let i=e.ZERO,a=kt(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=ut(c),p=new Array(Number(u)+1).fill(i),d=Math.floor((t.BITS-1)/c)*c,l=i;for(let f=d;f>=0;f-=c){p.fill(i);for(let _=0;_<s;_++){let g=n[_],m=Number(g>>BigInt(f)&u);p[m]=p[m].add(r[_])}let h=i;for(let _=p.length-1,g=i;_>0;_--)g=g.add(p[_]),h=h.add(g);if(l=l.add(h),f!==0)for(let _=0;_<c;_++)l=l.double()}return l}function Rl(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return cs(t),t}else return De(e,{isLE:r})}function us(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>an))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Rl(t.p,r.Fp,n),s=Rl(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:s}}var Cp=Ke;function ir(e,t){if(Qn(e),Qn(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function Vp(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function Qn(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function Sl(e){if(!ft(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?Q(e):e}function Dp(e,t,r,n){ue(e),Qn(r),t=Sl(t),t.length>255&&(t=n(K(Q("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(r/o);if(r>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=K(t,ir(t.length,1)),c=ir(0,s),u=ir(r,2),p=new Array(i),d=n(K(c,e,u,ir(0,1),a));p[0]=n(K(d,ir(1,1),a));for(let f=1;f<=i;f++){let h=[Vp(d,p[f-1]),ir(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function Up(e,t,r,n,o){if(ue(e),Qn(r),t=Sl(t),t.length>255){let s=Math.ceil(2*n/8);t=o.create({dkLen:s}).update(Q("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(e).update(ir(r,2)).update(t).update(ir(t.length,1)).digest()}function Gi(e,t,r){Lt(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:s,hash:i,expand:a,DST:c}=r;if(!hl(r.hash))throw new Error("expected valid hash");ue(e),Qn(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*s*p,l;if(a==="xmd")l=Dp(e,c,d,i);else if(a==="xof")l=Up(e,c,d,o,i);else if(a==="_internal_pass")l=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let _=new Array(s);for(let g=0;g<s;g++){let m=p*(g+h*s),x=l.subarray(m,m+p);_[g]=se(Cp(x),n)}f[h]=_}return f}function zi(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[s,i,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=Je(e,[i,c],!0);return n=e.mul(s,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var kp=Q("HashToScalar-");function Wi(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(s){return e.fromAffine(t(s))}function o(s){let i=s.clearCofactor();return i.equals(e.ZERO)?e.ZERO:(i.assertValidity(),i)}return{defaults:r,hashToCurve(s,i){let a=Object.assign({},r,i),c=Gi(s,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(s,i){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,i),u=Gi(s,1,c),p=n(u[0]);return o(p)},mapToCurve(s){if(!Array.isArray(s))throw new Error("expected array of bigints");for(let i of s)if(typeof i!="bigint")throw new Error("expected array of bigints");return o(n(s))},hashToScalar(s,i){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:kp},i);return Gi(s,1,c)[0][0]}}}var Fl=(e,t)=>(e+(e>=0?t:-t)/Mt)/t;function Lp(e,t,r){let[[n,o],[s,i]]=t,a=Fl(i*e,r),c=Fl(-o*e,r),u=e-a*n-c*s,p=-a*o-c*i,d=u<Sr,l=p<Sr;d&&(u=-u),l&&(p=-p);let f=ut(Math.ceil(kt(r)/2))+Ue;if(u<Sr||u>=f||p<Sr||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Sr=BigInt(0),Ue=BigInt(1),Mt=BigInt(2),un=BigInt(3),Yi=BigInt(4);function eo(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=ae("private key",t);try{n=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function qp(e,t={}){let r=us("weierstrass",e,t),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i,n:a}=s;Lt(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Kp(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(A,b,N){let{x:P,y:V}=b.toAffine(),q=n.toBytes(P);if(vr(N,"isCompressed"),N){p();let S=!n.isOdd(V);return K(Mp(S),q)}else return K(Uint8Array.of(4),q,n.toBytes(V))}function l(A){or(A,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,P=A.length,V=A[0],q=A.subarray(1);if(P===b&&(V===2||V===3)){let S=n.fromBytes(q);if(!n.isValid(S))throw new Error("bad point: is not on curve, wrong x");let F=_(S),C;try{C=n.sqrt(F)}catch(ee){let ne=ee instanceof Error?": "+ee.message:"";throw new Error("bad point: is not on curve, sqrt error"+ne)}p();let D=n.isOdd(C);return(V&1)===1!==D&&(C=n.neg(C)),{x:S,y:C}}else if(P===N&&V===4){let S=n.BYTES,F=n.fromBytes(q.subarray(0,S)),C=n.fromBytes(q.subarray(S,S*2));if(!g(F,C))throw new Error("bad point: is not on curve");return{x:F,y:C}}else throw new Error(`bad point: got length ${P}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function _(A){let b=n.sqr(A),N=n.mul(b,A);return n.add(n.add(N,n.mul(A,s.a)),s.b)}function g(A,b){let N=n.sqr(b),P=_(A);return n.eql(N,P)}if(!g(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(s.a,un),Yi),x=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(m,x)))throw new Error("bad curve params: a or b");function y(A,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${A}`);return b}function T(A){if(!(A instanceof w))throw new Error("ProjectivePoint expected")}function O(A){if(!c||!c.basises)throw new Error("no endo");return Lp(A,c.basises,o.ORDER)}let R=sr((A,b)=>{let{X:N,Y:P,Z:V}=A;if(n.eql(V,n.ONE))return{x:N,y:P};let q=A.is0();b==null&&(b=q?n.ONE:n.inv(V));let S=n.mul(N,b),F=n.mul(P,b),C=n.mul(V,b);if(q)return{x:n.ZERO,y:n.ZERO};if(!n.eql(C,n.ONE))throw new Error("invZ was invalid");return{x:S,y:F}}),E=sr(A=>{if(A.is0()){if(t.allowInfinityPoint&&!n.is0(A.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=A.toAffine();if(!n.isValid(b)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!g(b,N))throw new Error("bad point: equation left != right");if(!A.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(A,b,N,P,V){return N=new w(n.mul(N.X,A),N.Y,N.Z),b=Xn(P,b),N=Xn(V,N),b.add(N)}class w{constructor(b,N,P){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",P),Object.freeze(this)}static CURVE(){return s}static fromAffine(b){let{x:N,y:P}=b||{};if(!b||!n.isValid(N)||!n.isValid(P))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(P)?w.ZERO:new w(N,P,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(or(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(ae("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return B.createCache(this,b),N||this.multiply(un),this}assertValidity(){E(this)}hasEvenY(){let{y:b}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(b)}equals(b){T(b);let{X:N,Y:P,Z:V}=this,{X:q,Y:S,Z:F}=b,C=n.eql(n.mul(N,F),n.mul(q,V)),D=n.eql(n.mul(P,F),n.mul(S,V));return C&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=s,P=n.mul(N,un),{X:V,Y:q,Z:S}=this,F=n.ZERO,C=n.ZERO,D=n.ZERO,k=n.mul(V,V),ee=n.mul(q,q),ne=n.mul(S,S),z=n.mul(V,q);return z=n.add(z,z),D=n.mul(V,S),D=n.add(D,D),F=n.mul(b,D),C=n.mul(P,ne),C=n.add(F,C),F=n.sub(ee,C),C=n.add(ee,C),C=n.mul(F,C),F=n.mul(z,F),D=n.mul(P,D),ne=n.mul(b,ne),z=n.sub(k,ne),z=n.mul(b,z),z=n.add(z,D),D=n.add(k,k),k=n.add(D,k),k=n.add(k,ne),k=n.mul(k,z),C=n.add(C,k),ne=n.mul(q,S),ne=n.add(ne,ne),k=n.mul(ne,z),F=n.sub(F,k),D=n.mul(ne,ee),D=n.add(D,D),D=n.add(D,D),new w(F,C,D)}add(b){T(b);let{X:N,Y:P,Z:V}=this,{X:q,Y:S,Z:F}=b,C=n.ZERO,D=n.ZERO,k=n.ZERO,ee=s.a,ne=n.mul(s.b,un),z=n.mul(N,q),Se=n.mul(P,S),Fe=n.mul(V,F),pt=n.add(N,P),oe=n.add(q,S);pt=n.mul(pt,oe),oe=n.add(z,Se),pt=n.sub(pt,oe),oe=n.add(N,V);let xe=n.add(q,F);return oe=n.mul(oe,xe),xe=n.add(z,Fe),oe=n.sub(oe,xe),xe=n.add(P,V),C=n.add(S,F),xe=n.mul(xe,C),C=n.add(Se,Fe),xe=n.sub(xe,C),k=n.mul(ee,oe),C=n.mul(ne,Fe),k=n.add(C,k),C=n.sub(Se,k),k=n.add(Se,k),D=n.mul(C,k),Se=n.add(z,z),Se=n.add(Se,z),Fe=n.mul(ee,Fe),oe=n.mul(ne,oe),Se=n.add(Se,Fe),Fe=n.sub(z,Fe),Fe=n.mul(ee,Fe),oe=n.add(oe,Fe),z=n.mul(Se,oe),D=n.add(D,z),z=n.mul(xe,oe),C=n.mul(pt,C),C=n.sub(C,z),z=n.mul(pt,Se),k=n.mul(xe,k),k=n.add(k,z),new w(C,D,k)}subtract(b){return this.add(b.negate())}is0(){return this.equals(w.ZERO)}multiply(b){let{endo:N}=t;if(!o.isValidNot0(b))throw new Error("invalid scalar: out of range");let P,V,q=S=>B.cached(this,S,F=>Ze(w,F));if(N){let{k1neg:S,k1:F,k2neg:C,k2:D}=O(b),{p:k,f:ee}=q(F),{p:ne,f:z}=q(D);V=ee.add(z),P=v(N.beta,k,ne,S,C)}else{let{p:S,f:F}=q(b);P=S,V=F}return Ze(w,[P,V])[0]}multiplyUnsafe(b){let{endo:N}=t,P=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Sr||P.is0())return w.ZERO;if(b===Ue)return P;if(B.hasCache(this))return this.multiply(b);if(N){let{k1neg:V,k1:q,k2neg:S,k2:F}=O(b),{p1:C,p2:D}=Al(w,P,q,F);return v(N.beta,C,D,V,S)}else return B.unsafe(P,b)}multiplyAndAddUnsafe(b,N,P){let V=this.multiplyUnsafe(N).add(b.multiplyUnsafe(P));return V.is0()?void 0:V}toAffine(b){return R(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return i===Ue?!0:b?b(w,this):B.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return i===Ue?this:b?b(w,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(b=!0){return vr(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return M(this.toBytes(b))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(b=!0){return this.toBytes(b)}_setWindowSize(b){this.precompute(b)}static normalizeZ(b){return Ze(w,b)}static msm(b,N){return ln(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(eo(o,b))}}w.BASE=new w(s.Gx,s.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let I=o.BITS,B=new cn(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function Mp(e){return Uint8Array.of(e?2:3)}function jp(e,t){let r=e.ORDER,n=Sr;for(let h=r-Ue;h%Mt===Sr;h/=Mt)n+=Ue;let o=n,s=Mt<<o-Ue-Ue,i=s*Mt,a=(r-Ue)/i,c=(a-Ue)/Mt,u=i-Ue,p=s,d=e.pow(t,a),l=e.pow(t,(a+Ue)/Mt),f=(h,_)=>{let g=d,m=e.pow(_,u),x=e.sqr(m);x=e.mul(x,_);let y=e.mul(h,x);y=e.pow(y,c),y=e.mul(y,m),m=e.mul(y,_),x=e.mul(y,h);let T=e.mul(x,m);y=e.pow(T,p);let O=e.eql(y,e.ONE);m=e.mul(x,l),y=e.mul(T,g),x=e.cmov(m,x,O),T=e.cmov(y,T,O);for(let R=o;R>Ue;R--){let E=R-Mt;E=Mt<<E-Ue;let v=e.pow(T,E),w=e.eql(v,e.ONE);m=e.mul(x,g),g=e.mul(g,g),v=e.mul(T,g),x=e.cmov(m,x,w),T=e.cmov(v,T,w)}return{isValid:O,value:x}};if(e.ORDER%Yi===un){let h=(e.ORDER-un)/Yi,_=e.sqrt(e.neg(t));f=(g,m)=>{let x=e.sqr(m),y=e.mul(g,m);x=e.mul(x,y);let T=e.pow(x,h);T=e.mul(T,y);let O=e.mul(T,_),R=e.mul(e.sqr(T),m),E=e.eql(R,g),v=e.cmov(O,T,E);return{isValid:E,value:v}}}return f}function Ji(e,t){cs(e);let{A:r,B:n,Z:o}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let s=jp(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return i=>{let a,c,u,p,d,l,f,h;a=e.sqr(i),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(u),l=e.sqr(p),d=e.mul(l,r),c=e.add(c,d),c=e.mul(c,u),l=e.mul(l,p),d=e.mul(l,n),c=e.add(c,d),f=e.mul(a,u);let{isValid:_,value:g}=s(c,l);h=e.mul(a,i),h=e.mul(h,g),f=e.cmov(f,u,_),h=e.cmov(h,g,_);let m=e.isOdd(i)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let x=Je(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function Kp(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Zi(e){let{CURVE:t,curveOpts:r}=$p(e),n=qp(t,r);return Gp(e,n)}function $p(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(i=>Math.ceil(i/2)))):void 0,o=De(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),s={Fp:r,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:s}}function Hp(e,t,r){function n(o){let s=e.sqr(o),i=e.mul(s,o);return e.add(e.add(i,e.mul(o,t)),r)}return n}function Gp(e,t){let{Fp:r,Fn:n}=t;function o(i){return Li(i,Ue,n.ORDER)}let s=Hp(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:i=>eo(n,i),weierstrassEquation:s,isWithinCurveOrder:o})}var zp=BigInt(0),ds=BigInt(1),Pl=BigInt(2),dn=BigInt(3);function Wp(e){let t=[];for(;e>ds;e>>=ds)(e&ds)===zp?t.unshift(0):(e&dn)===dn?(t.unshift(-1),e+=ds):t.unshift(1);return t}function Xi(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Yp(e,t,r,n){let{Fp2:o,Fp12:s}=e,{twistType:i,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(i==="multiplicative")p=(y,T,O,R,E,v)=>s.mul014(R,y,o.mul(T,E),o.mul(O,v));else if(i==="divisive")p=(y,T,O,R,E,v)=>s.mul034(R,o.mul(O,v),o.mul(T,E),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,Pl));function l(y,T,O,R){let E=o.sqr(O),v=o.sqr(R),w=o.mulByB(o.mul(v,dn)),I=o.mul(w,dn),B=o.sub(o.sub(o.sqr(o.add(O,R)),v),E),A=o.sub(w,E),b=o.mul(o.sqr(T),dn),N=o.neg(B);return y.push([A,b,N]),T=o.mul(o.mul(o.mul(o.sub(E,I),T),O),d),O=o.sub(o.sqr(o.mul(o.add(E,I),d)),o.mul(o.sqr(w),dn)),R=o.mul(E,B),{Rx:T,Ry:O,Rz:R}}function f(y,T,O,R,E,v){let w=o.sub(O,o.mul(v,R)),I=o.sub(T,o.mul(E,R)),B=o.sub(o.mul(w,E),o.mul(I,v)),A=o.neg(w),b=I;y.push([B,A,b]);let N=o.sqr(I),P=o.mul(N,I),V=o.mul(N,T),q=o.add(o.sub(P,o.mul(V,Pl)),o.mul(o.sqr(w),R));return T=o.mul(I,q),O=o.sub(o.mul(o.sub(V,q),w),o.mul(P,O)),R=o.mul(R,P),{Rx:T,Ry:O,Rz:R}}let h=Wp(a),_=sr(y=>{let T=y,{x:O,y:R}=T.toAffine(),E=O,v=R,w=o.neg(R),I=E,B=v,A=o.ONE,b=[];for(let N of h){let P=[];({Rx:I,Ry:B,Rz:A}=l(P,I,B,A)),N&&({Rx:I,Ry:B,Rz:A}=f(P,I,B,A,E,N===-1?w:v)),b.push(P)}if(u){let N=b[b.length-1];u(I,B,A,E,v,f.bind(null,N))}return b});function g(y,T=!1){let O=s.ONE;if(y.length){let R=y[0][0].length;for(let E=0;E<R;E++){O=s.sqr(O);for(let[v,w,I]of y)for(let[B,A,b]of v[E])O=p(B,A,b,O,w,I)}}return c&&(O=s.conjugate(O)),T?s.finalExponentiate(O):O}function m(y,T=!0){let O=[];Ze(t,y.map(({g1:R})=>R)),Ze(r,y.map(({g2:R})=>R));for(let{g1:R,g2:E}of y){if(R.is0()||E.is0())throw new Error("pairing is not available for ZERO point");R.assertValidity(),E.assertValidity();let v=R.toAffine();O.push([_(E),v.x,v.y])}return g(O,T)}function x(y,T,O=!0){return m([{g1:y,g2:T}],O)}return{Fp12:s,millerLoopBatch:g,pairing:x,pairingBatch:m,calcPairingPrecomputes:_}}function Bl(e,t,r,n,o){let{Fp12:s,pairingBatch:i}=e;function a(d){return d instanceof t.Point?d:t.Point.fromHex(d)}function c(d){return d instanceof r.Point?d:r.Point.fromHex(d)}function u(d){if(!(d instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return d}let p=o?(d,l)=>({g1:l,g2:d}):(d,l)=>({g1:d,g2:l});return{getPublicKey(d){let l=eo(t.Point.Fn,d);return t.Point.BASE.multiply(l)},sign(d,l,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=eo(t.Point.Fn,l);return u(d).assertValidity(),d.multiply(h)},verify(d,l,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let _=f.negate(),g=t.Point.BASE,m=u(l),x=d,y=i([p(_,m),p(g,x)]);return s.eql(y,s.ONE)},verifyBatch(d,l,f){if(Xi(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),_=l,g=f.map(a),m=new Map;for(let T=0;T<g.length;T++){let O=g[T],R=_[T],E=m.get(R);E===void 0&&(E=[],m.set(R,E)),E.push(O)}let x=[],y=t.Point.BASE;try{for(let[T,O]of m){let R=O.reduce((E,v)=>E.add(v));x.push(p(R,T))}return x.push(p(y.negate(),h)),s.eql(i(x),s.ONE)}catch{return!1}},aggregatePublicKeys(d){Xi(d),d=d.map(f=>a(f));let l=d.reduce((f,h)=>f.add(h),t.Point.ZERO);return l.assertValidity(),l},aggregateSignatures(d){Xi(d),d=d.map(f=>c(f));let l=d.reduce((f,h)=>f.add(h),r.Point.ZERO);return l.assertValidity(),l},hash(d,l){ue(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function Cl(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:s}=e.fields,i=Zi(e.G1),a=Object.assign(i,Wi(i.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Zi(e.G2),u=Object.assign(c,Wi(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Yp(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,_=Bl(p,a,u,e.G2.Signature,!1),g=Bl(p,u,a,e.G1.ShortSignature,!0),m=e.randomBytes||$r,x=()=>{let S=ls(r.ORDER);return ji(m(S),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:O}=e.G2;function R(S,F){return S instanceof a.Point?S:g.hash(ae("point",S),F?.DST)}function E(S,F){return S instanceof u.Point?S:_.hash(ae("point",S),F?.DST)}function v(S){return _.getPublicKey(S).toBytes(!0)}function w(S){return g.getPublicKey(S).toBytes(!0)}function I(S,F,C){let D=E(S,C),k=_.sign(D,F);return S instanceof u.Point?k:O.toBytes(k)}function B(S,F,C){let D=R(S,C),k=g.sign(D,F);return S instanceof a.Point?k:T.toBytes(k)}function A(S,F,C,D){let k=E(F,D);return _.verify(S,k,C)}function b(S,F,C,D){let k=R(F,D);return g.verify(S,k,C)}function N(S){let F=_.aggregatePublicKeys(S);return S[0]instanceof a.Point?F:F.toBytes(!0)}function P(S){let F=_.aggregateSignatures(S);return S[0]instanceof u.Point?F:O.toBytes(F)}function V(S){let F=g.aggregateSignatures(S);return S[0]instanceof a.Point?F:T.toBytes(F)}function q(S,F,C,D){let k=F.map(ee=>E(ee,D));return _.verifyBatch(S,k,C)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:g,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:q,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:s},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:y,getPublicKey:v,getPublicKeyForShortSignatures:w,sign:I,signShortSignature:B,verify:A,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:P,aggregateShortSignatures:V,G1:a,G2:u,Signature:O,ShortSignature:T}}var Vl=BigInt(0),jt=BigInt(1),ke=BigInt(2),Dl=BigInt(3);function ra(e,t,r,n,o=1,s){let i=BigInt(s===void 0?n:s),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=jt;l<n;l++){let h=(p*f-p)/i%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function kl(e,t,r){let n=t.pow(r,(e.ORDER-jt)/Dl),o=t.pow(r,(e.ORDER-jt)/ke);function s(l,f){let h=t.mul(t.frobeniusMap(l,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let i=t.pow(r,(e.ORDER**ke-jt)/Dl),a=t.pow(r,(e.ORDER**ke-jt)/ke);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,i),t.neg(f)]}let u=l=>(f,h)=>{let _=h.toAffine(),g=l(_.x,_.y);return f.fromAffine({x:g[0],y:g[1]})},p=u(s),d=u(c);return{psi:s,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:i,PSI2_Y:a}}var Ul=(e,t)=>{if(t.length!==2)throw new Error("invalid tuple");let r=t.map(n=>e.create(n));return{c0:r[0],c1:r[1]}},Qi=class{constructor(t,r={}){this.MASK=jt;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=kt(o),this.BYTES=Math.ceil(kt(o)/8),this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.Fp_NONRESIDUE=t.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=t.div(t.ONE,ke),this.NONRESIDUE=Ul(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=ra(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Ul(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,s){return typeof o=="bigint"&&Vl<=o&&o<s}return n(t,this.ORDER)&&n(r,this.ORDER)}is0({c0:t,c1:r}){return this.Fp.is0(t)&&this.Fp.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}eql({c0:t,c1:r},{c0:n,c1:o}){return this.Fp.eql(t,n)&&this.Fp.eql(r,o)}neg({c0:t,c1:r}){return{c0:this.Fp.neg(t),c1:this.Fp.neg(r)}}pow(t,r){return Zn(this,t,r)}invertBatch(t){return Je(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:s,c1:i}=r;return{c0:this.Fp.add(n,s),c1:this.Fp.add(o,i)}}sub({c0:t,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(t,n),c1:this.Fp.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:s,c1:i}=n,a=o.mul(t,s),c=o.mul(r,i),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(s,i)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),s=n.sub(t,r),i=n.add(t,t);return{c0:n.mul(o,s),c1:n.mul(i,r)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}div(t,r){let{Fp:n}=this;return this.mul(t,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:t,c1:r}){let{Fp:n}=this,o=n.inv(n.create(t*t+r*r));return{c0:n.mul(o,n.create(t)),c1:n.mul(o,n.create(-r))}}sqrt(t){let{Fp:r}=this,n=this,{c0:o,c1:s}=t;if(r.is0(s))return Jn(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let i=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(s),this.Fp_NONRESIDUE))),a=r.mul(r.add(i,o),this.Fp_div2);Jn(r,a)===-1&&(a=r.sub(a,i));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(s,this.Fp_div2),u)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,l=n.neg(d),{re:f,im:h}=n.reim(d),{re:_,im:g}=n.reim(l);return h>g||h===g&&f>_?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%ke,s=r===Vl,i=n%ke;return BigInt(o||s&&i)==jt}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return K(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},s){return{c0:this.Fp.cmov(t,n,s),c1:this.Fp.cmov(r,o,s)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),s=n.sqr(r);return{first:n.add(n.mulByNonresidue(s),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),s)}}mulByNonresidue({c0:t,c1:r}){return this.mul({c0:t,c1:r},this.NONRESIDUE)}frobeniusMap({c0:t,c1:r},n){return{c0:t,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},ea=class{constructor(t){this.MASK=jt,this.Fp2=t,this.ORDER=t.ORDER,this.BITS=3*t.BITS,this.BYTES=3*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO,c2:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO,c2:t.ZERO};let{Fp:r}=t,n=ra(t,t.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:t,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,s),c2:a.add(n,i)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,s),c2:a.sub(n,i)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:s}=this;if(typeof o=="bigint")return{c0:s.mul(t,o),c1:s.mul(r,o),c2:s.mul(n,o)};let{c0:i,c1:a,c2:c}=o,u=s.mul(t,i),p=s.mul(r,a),d=s.mul(n,c);return{c0:s.add(u,s.mulByNonresidue(s.sub(s.mul(s.add(r,n),s.add(a,c)),s.add(p,d)))),c1:s.add(s.sub(s.mul(s.add(t,r),s.add(i,a)),s.add(u,p)),s.mulByNonresidue(d)),c2:s.sub(s.add(p,s.mul(s.add(t,n),s.add(i,c))),s.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,s=o.sqr(t),i=o.mul(o.mul(t,r),ke),a=o.mul(o.mul(r,n),ke),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),s),c1:o.add(o.mulByNonresidue(c),i),c2:o.sub(o.sub(o.add(o.add(i,o.sqr(o.add(o.sub(t,r),n))),a),s),c)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}create(t){return t}isValid({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(t)&&o.isValid(r)&&o.isValid(n)}is0({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(t)&&o.is0(r)&&o.is0(n)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(t),c1:o.neg(r),c2:o.neg(n)}}eql({c0:t,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,s)&&a.eql(n,i)}sqrt(t){return sn()}div(t,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(t,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(t,r){return Zn(this,t,r)}invertBatch(t){return Je(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,s=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),i=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(t,r)),a=o.sub(o.sqr(r),o.mul(t,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,i),o.mul(r,a))),o.mul(t,s)));return{c0:o.mul(c,s),c1:o.mul(c,i),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return K(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:s,c2:i},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,s,a),c2:c.cmov(n,i,a)}}fromBigSix(t){let{Fp2:r}=this;if(!Array.isArray(t)||t.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(t.slice(0,2)),c1:r.fromBigTuple(t.slice(2,4)),c2:r.fromBigTuple(t.slice(4,6))}}frobeniusMap({c0:t,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.frobeniusMap(t,o),c1:s.mul(s.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:s.mul(s.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mul(t,o),c1:s.mul(r,o),c2:s.mul(n,o)}}mulByNonresidue({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:t,c2:r}}mul1({c0:t,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mulByNonresidue(s.mul(n,o)),c1:s.mul(t,o),c2:s.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,s){let{Fp2:i}=this,a=i.mul(t,o),c=i.mul(r,s);return{c0:i.add(i.mulByNonresidue(i.sub(i.mul(i.add(r,n),s),c)),a),c1:i.sub(i.sub(i.mul(i.add(o,s),i.add(t,r)),a),c),c2:i.add(i.sub(i.mul(i.add(t,n),o),a),c)}}},ta=class{constructor(t,r){this.MASK=jt;let{Fp2:n}=t,{Fp:o}=n;this.Fp6=t,this.ORDER=n.ORDER,this.BITS=2*t.BITS,this.BYTES=2*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.FROBENIUS_COEFFICIENTS=ra(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(t){return t}isValid({c0:t,c1:r}){let{Fp6:n}=this;return n.isValid(t)&&n.isValid(r)}is0({c0:t,c1:r}){let{Fp6:n}=this;return n.is0(t)&&n.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r}){let{Fp6:n}=this;return{c0:n.neg(t),c1:n.neg(r)}}eql({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return s.eql(t,n)&&s.eql(r,o)}sqrt(t){sn()}inv({c0:t,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(t),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(t,o),c1:n.neg(n.mul(r,o))}}div(t,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:s}=o;return this.mul(t,typeof r=="bigint"?s.inv(s.create(r)):this.inv(r))}pow(t,r){return Zn(this,t,r)}invertBatch(t){return Je(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.add(t,n),c1:s.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.sub(t,n),c1:s.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:s,c1:i}=n,a=o.mul(t,s),c=o.mul(r,i);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(s,i)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return K(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},s){let{Fp6:i}=this;return{c0:i.cmov(t,n,s),c1:i.cmov(r,o,s)}}fromBigTwelve(t){let{Fp6:r}=this;return{c0:r.fromBigSix(t.slice(0,6)),c1:r.fromBigSix(t.slice(6,12))}}frobeniusMap(t,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=n.frobeniusMap(t.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(t.c0,r),c1:n.create({c0:o.mul(s,c),c1:o.mul(i,c),c2:o.mul(a,c)})}}mulByFp2({c0:t,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(t,n),c1:o.mulByFp2(r,n)}}conjugate({c0:t,c1:r}){return{c0:t,c1:this.Fp6.neg(r)}}mul014({c0:t,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.mul01(t,n,o),u=i.mul1(r,s);return{c0:i.add(i.mulByNonresidue(u),c),c1:i.sub(i.sub(i.mul01(i.add(r,t),n,a.add(o,s)),c),u)}}mul034({c0:t,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=i.mul01(r,o,s),p=i.mul01(i.add(t,r),a.add(n,o),s);return{c0:i.add(i.mulByNonresidue(u),c),c1:i.sub(p,i.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(s,u),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:g}=o.Fp4Square(i,p),m=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,s),ke),d),c1:o.add(o.mul(o.sub(f,i),ke),f),c2:o.add(o.mul(o.sub(_,a),ke),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),ke),m),c1:o.add(o.mul(o.add(l,u),ke),l),c2:o.add(o.mul(o.add(h,p),ke),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),fl(r,o)&&(n=this.mul(n,t));return n}};function Ll(e){let t=De(e.ORDER),r=new Qi(t,e),n=new ea(r),o=new ta(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ie=BigInt(0),ps=BigInt(1),Xe=BigInt(2),fs=BigInt(3),to=BigInt(4),ar=BigInt("0xd201000000010000"),Jp=kt(ar),Fr={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ie,b:to,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Zp=De(Fr.n,{modFromBytes:!0,isLE:!0}),{Fp:U,Fp2:G,Fp6:Xp,Fp12:J}=Ll({ORDER:Fr.p,X_LEN:Jp,FP2_NONRESIDUE:[ps,ps],Fp2mulByB:({c0:e,c1:t})=>{let r=U.mul(e,to),n=U.mul(t,to);return{c0:U.sub(r,n),c1:U.add(r,n)}},Fp12finalExponentiate:e=>{let t=ar,r=J.div(J.frobeniusMap(e,6),e),n=J.mul(J.frobeniusMap(r,2),r),o=J.conjugate(J._cyclotomicExp(n,t)),s=J.mul(J.conjugate(J._cyclotomicSquare(n)),o),i=J.conjugate(J._cyclotomicExp(s,t)),a=J.conjugate(J._cyclotomicExp(i,t)),c=J.mul(J.conjugate(J._cyclotomicExp(a,t)),J._cyclotomicSquare(o)),u=J.conjugate(J._cyclotomicExp(c,t)),p=J.frobeniusMap(J.mul(o,a),2),d=J.frobeniusMap(J.mul(i,n),3),l=J.frobeniusMap(J.mul(c,J.conjugate(n)),1),f=J.mul(J.mul(u,J.conjugate(s)),n);return J.mul(J.mul(J.mul(p,d),l),f)}}),{G2psi:ql,G2psi2:Qp}=kl(U,G,G.div(G.ONE,G.NONRESIDUE)),na=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:U.ORDER,m:2,k:128,expand:"xmd",hash:ve}),ia={p:G.ORDER,n:Fr.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:G.ZERO,b:G.fromBigTuple([to,to]),Gx:G.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:G.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},hs=ro(U.toBytes(Ie),{infinity:!0,compressed:!0});function ms(e){e=e.slice();let t=e[0]&224,r=!!(t>>7&1),n=!!(t>>6&1),o=!!(t>>5&1);return e[0]&=31,{compressed:r,infinity:n,sort:o,value:e}}function ro(e,t){if(e[0]&224)throw new Error("setMask: non-empty mask");return t.compressed&&(e[0]|=128),t.infinity&&(e[0]|=64),t.sort&&(e[0]|=32),e}function ef(e,t,r){let{BYTES:n,ORDER:o}=U,s=t.is0(),{x:i,y:a}=t.toAffine();if(r){if(s)return hs.slice();let c=!!(a*Xe/o);return ro(ye(i,n),{compressed:!0,sort:c})}else return s?K(Uint8Array.of(64),new Uint8Array(2*n-1)):K(ye(i,n),ye(a,n))}function oa(e){e.assertValidity();let{BYTES:t,ORDER:r}=U,{x:n,y:o}=e.toAffine();if(e.is0())return hs.slice();let s=!!(o*Xe/r);return ro(ye(n,t),{compressed:!0,sort:s})}function tf(e){let{compressed:t,infinity:r,sort:n,value:o}=ms(e),{BYTES:s,ORDER:i}=U;if(o.length===48&&t){let a=Ke(o),c=U.create(a&ut(U.BITS));if(r){if(c!==Ie)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Ie,y:Ie}}let u=U.add(U.pow(c,fs),U.create(Fr.b)),p=U.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*Xe/i!==BigInt(n)&&(p=U.neg(p)),{x:U.create(c),y:U.create(p)}}else if(o.length===96&&!t){let a=Ke(o.subarray(0,s)),c=Ke(o.subarray(s));if(r){if(a!==Ie||c!==Ie)throw new Error("G1: non-empty point at infinity");return no.G1.Point.ZERO.toAffine()}return{x:U.create(a),y:U.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Ml(e){let{infinity:t,sort:r,value:n}=ms(ae("signatureHex",e,48)),o=U.ORDER,s=no.G1.Point,i=Ke(n);if(t)return s.ZERO;let a=U.create(i&ut(U.BITS)),c=U.add(U.pow(a,fs),U.create(Fr.b)),u=U.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*Xe/o!==p&&(u=U.neg(u));let d=s.fromAffine({x:a,y:u});return d.assertValidity(),d}function rf(e,t,r){let{BYTES:n,ORDER:o}=U,s=t.is0(),{x:i,y:a}=t.toAffine();if(r){if(s)return K(hs,ye(Ie,n));let c=!!(a.c1===Ie?a.c0*Xe/o:a.c1*Xe/o);return K(ro(ye(i.c1,n),{compressed:!0,sort:c}),ye(i.c0,n))}else{if(s)return K(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=G.reim(i),{re:p,im:d}=G.reim(a);return K(ye(u,n),ye(c,n),ye(d,n),ye(p,n))}}function sa(e){e.assertValidity();let{BYTES:t}=U;if(e.is0())return K(hs,ye(Ie,t));let{x:r,y:n}=e.toAffine(),{re:o,im:s}=G.reim(r),{re:i,im:a}=G.reim(n),u=!!((a>Ie?a*Xe:i*Xe)/U.ORDER&ps),p=o;return K(ro(ye(s,t),{sort:u,compressed:!0}),ye(p,t))}function nf(e){let{BYTES:t,ORDER:r}=U,{compressed:n,infinity:o,sort:s,value:i}=ms(e);if(!n&&!o&&s||!n&&o&&s||s&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>Ke(c.slice(u,p));if(i.length===96&&n){if(o){if(i.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:G.ZERO,y:G.ZERO}}let c=a(i,0,t),u=a(i,t,2*t),p=G.create({c0:U.create(u),c1:U.create(c)}),d=G.add(G.pow(p,fs),ia.b),l=G.sqrt(d),f=l.c1===Ie?l.c0*Xe/r:l.c1*Xe/r?ps:Ie;return l=s&&f>0?l:G.neg(l),{x:p,y:l}}else if(i.length===192&&!n){if(o){if(i.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:G.ZERO,y:G.ZERO}}let c=a(i,0*t,1*t),u=a(i,1*t,2*t),p=a(i,2*t,3*t),d=a(i,3*t,4*t);return{x:G.fromBigTuple([u,c]),y:G.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function jl(e){let{ORDER:t}=U,{infinity:r,sort:n,value:o}=ms(ae("signatureHex",e)),s=no.G2.Point,i=o.length/2;if(i!==48&&i!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Ke(o.slice(0,i)),c=Ke(o.slice(i));if(r)return s.ZERO;let u=U.create(a&ut(U.BITS)),p=U.create(c),d=G.create({c0:p,c1:u}),l=G.add(G.pow(d,fs),ia.b),f=G.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=G.reim(f),g=BigInt(n),m=_>Ie&&_*Xe/t!==g,x=_===Ie&&h*Xe/t!==g;(m||x)&&(f=G.neg(f));let y=s.fromAffine({x:d,y:f});return y.assertValidity(),y}var no=Cl({fields:{Fp:U,Fp2:G,Fp6:Xp,Fp12:J,Fr:Zp},G1:{...Fr,Fp:U,htfDefaults:{...na,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(e,t)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new e(U.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(ar).negate().multiplyUnsafe(ar).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(ar).add(t),mapToCurve:lf,fromBytes:tf,toBytes:ef,ShortSignature:{fromBytes(e){return ue(e),Ml(e)},fromHex(e){return Ml(e)},toBytes(e){return oa(e)},toRawBytes(e){return oa(e)},toHex(e){return M(oa(e))}}},G2:{...ia,Fp:G,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...na},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:uf,isTorsionFree:(e,t)=>t.multiplyUnsafe(ar).negate().equals(ql(e,t)),clearCofactor:(e,t)=>{let r=ar,n=t.multiplyUnsafe(r).negate(),o=ql(e,t),s=t.double();return s=Qp(e,s),s=s.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),s=s.add(o),s=s.subtract(n),s.subtract(t)},fromBytes:nf,toBytes:rf,Signature:{fromBytes(e){return ue(e),jl(e)},fromHex(e){return jl(e)},toBytes(e){return sa(e)},toRawBytes(e){return sa(e)},toHex(e){return M(sa(e))}}},params:{ateLoopSize:ar,r:Fr.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:na,hash:ve}),of=zi(G,[[["0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6"],["0x0","0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71a"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71e","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38d"],["0x171d6541fa38ccfaed6dea691f5fb614cb14b4e7f4e810aa22d6108f142b85757098e38d0f671c7188e2aaaaaaaa5ed1","0x0"]],[["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa63"],["0xc","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa9f"],["0x1","0x0"]],[["0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706","0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706"],["0x0","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97be"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71c","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38f"],["0x124c9ad43b6cf79bfbf7043de3811ad0761b0f37a1e26286b0e977c69aa274524e79097a56dc4bd9e1b371c71c718b10","0x0"]],[["0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb"],["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa9d3"],["0x12","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa99"],["0x1","0x0"]]].map(e=>e.map(t=>G.fromBigTuple(t.map(BigInt))))),sf=zi(U,[["0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7","0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb","0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0","0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861","0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9","0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983","0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84","0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e","0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317","0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e","0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b","0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229"],["0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c","0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff","0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19","0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8","0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e","0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5","0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a","0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e","0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641","0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"],["0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33","0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696","0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6","0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb","0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb","0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0","0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2","0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29","0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587","0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30","0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132","0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e","0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8","0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133","0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b","0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604"],["0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1","0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d","0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2","0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416","0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d","0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac","0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c","0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9","0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a","0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55","0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8","0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092","0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc","0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7","0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),af=Ji(U,{A:U.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:U.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:U.create(BigInt(11))}),cf=Ji(G,{A:G.create({c0:U.create(Ie),c1:U.create(BigInt(240))}),B:G.create({c0:U.create(BigInt(1012)),c1:U.create(BigInt(1012))}),Z:G.create({c0:U.create(BigInt(-2)),c1:U.create(BigInt(-1))})});function lf(e){let{x:t,y:r}=af(U.create(e[0]));return sf(t,r)}function uf(e){let{x:t,y:r}=cf(G.fromBigTuple(e));return of(t,r)}function Kl(e,t,r){let n=typeof e=="string"?e:M(e),o=typeof t=="string"?t:M(t),s=typeof r=="string"?r:M(r);return no.verifyShortSignature(o,s,n)}var pf=BigInt(1e6),aa=e=>pe(new st(e)),pn=e=>{let r=aa(e)/pf;return new Date(Number(r))};var $l=60*1e3,ff=60,hf=24,mf=hf*ff,_f=5,yf=5,gf=30*mf,Re;(function(e){e[e.Empty=0]="Empty",e[e.Fork=1]="Fork",e[e.Labeled=2]="Labeled",e[e.Leaf=3]="Leaf",e[e.Pruned=4]="Pruned"})(Re||(Re={}));function xf(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var cr=class e{#e=!1;#t=void 0;static async create(t){let r=e.createUnverified(t);return await r.verify(),r}static createUnverified(t){return new e(t.certificate,t.rootKey,t.canisterId,t.blsVerify??Kl,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,s=_f,i=!1,a){this._rootKey=r,this._canisterId=n,this._blsVerify=o,this._maxAgeInMinutes=s,this.#e=i,this.cert=je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&(this.#t=a)}lookup_path(t){return Br(t,this.cert.tree)}lookup_subtree(t){return gs(t,this.cert.tree)}async verify(){let t=await _s(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=wf(r),s=K(so("ic-state-root"),t),i=Ae(this.lookup_path(["time"]));if(!i)throw te.fromCode(new Zt("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*$l,u=new Date,p=u.getTime()+a,d=p-c,l=p+yf*$l,f=pn(i),h=f.getTime()<d,_=f.getTime()>l;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this.#t.syncTime(this._canisterId),await this.verify();if(h)throw Pe.fromCode(new yr(this._maxAgeInMinutes,f,u,a,"past"));if(_)throw this.#t?.hasSyncedTime()?he.fromCode(new Be("System time has been synced with the IC network, but certificate is still too far in the future.")):Pe.fromCode(new yr(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,s))throw Pe.fromCode(new Zt("Invalid signature"))}catch(a){throw Pe.fromCode(new Zt("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,canisterId:this._canisterId,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:gf,agent:this.#t});if(r.cert.delegation)throw te.fromCode(new Ao);await r.verify();let n=t.subnet_id,o=L.fromUint8Array(n);if(!ca({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw Pe.fromCode(new Hr(this._canisterId,o));let i=Ae(r.lookup_path(["subnet",n,"public_key"]));if(!i)throw Pe.fromCode(new So(`Could not find subnet key for subnet ID ${o.toText()}`));return i}},oo=be("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),bf=96;function wf(e){let t=oo.byteLength+bf;if(e.byteLength!==t)throw te.fromCode(new zr(t,e.byteLength));let r=e.slice(0,oo.byteLength);if(!Or(r,oo))throw te.fromCode(new Fo(oo,r));return e.slice(oo.byteLength)}function Ae(e){if(e.status===$e.Found&&e.value instanceof Uint8Array)return e.value}async function _s(e){switch(e[0]){case Re.Empty:return ve(so("ic-hashtree-empty"));case Re.Pruned:return e[1];case Re.Leaf:return ve(K(so("ic-hashtree-leaf"),e[1]));case Re.Labeled:return ve(K(so("ic-hashtree-labeled"),e[1],await _s(e[2])));case Re.Fork:return ve(K(so("ic-hashtree-fork"),await _s(e[1]),await _s(e[2])));default:throw er}}function so(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return K(t,r)}function Hl(e){return typeof e[0]=="string"?Q(e[0]):e[0]}var $e;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})($e||($e={}));var Pr;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(Pr||(Pr={}));var ie;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ie||(ie={}));function Br(e,t){if(e.length===0)switch(t[0]){case Re.Empty:return{status:$e.Absent};case Re.Leaf:{if(!t[1])throw he.fromCode(new Qt("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:$e.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw er}case Re.Pruned:return{status:$e.Unknown};case Re.Labeled:case Re.Fork:return{status:$e.Error};default:throw er}let r=Hl(e),n=io(r,t);switch(n.status){case ie.Found:return Br(e.slice(1),n.value);case ie.Absent:case ie.Greater:case ie.Less:return{status:$e.Absent};case ie.Unknown:return{status:$e.Unknown};default:throw er}}function gs(e,t){if(e.length===0)return{status:Pr.Found,value:t};let r=Hl(e),n=io(r,t);switch(n.status){case ie.Found:return gs(e.slice(1),n.value);case ie.Unknown:return{status:Pr.Unknown};case ie.Absent:case ie.Greater:case ie.Less:return{status:Pr.Absent};default:throw er}}function ys(e){switch(e[0]){case Re.Empty:return[];case Re.Fork:return ys(e[1]).concat(ys(e[2]));default:return[e]}}function io(e,t){switch(t[0]){case Re.Labeled:return xf(e,t[1])?{status:ie.Greater}:Or(e,t[1])?{status:ie.Found,value:t[2]}:{status:ie.Less};case Re.Fork:{let r=io(e,t[1]);switch(r.status){case ie.Greater:{let n=io(e,t[2]);return n.status===ie.Less?{status:ie.Absent}:n}case ie.Unknown:{let n=io(e,t[2]);return n.status===ie.Less?{status:ie.Unknown}:n}default:return r}}case Re.Pruned:return{status:ie.Unknown};default:return{status:ie.Absent}}}function ca(e){let{canisterId:t,subnetId:r,tree:n}=e,o=Br(["subnet",r.toUint8Array(),"canister_ranges"],n);if(o.status!==$e.Found)throw te.fromCode(new St(`Could not find canister ranges for subnet ${r.toText()}`,o.status));if(!(o.value instanceof Uint8Array))throw te.fromCode(new Gr(`Could not find canister ranges for subnet ${r.toText()}`));return je(o.value).map(c=>[L.fromUint8Array(c[0]),L.fromUint8Array(c[1])]).some(c=>c[0].ltEq(t)&&c[1].gtEq(t))}var la=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=L.from(e.canisterId),s=[...new Set(r)],i=new Map,a=s.map((c,u)=>{let p=Nf(c,o);return(async()=>{try{if(t.rootKey===null)throw we.fromCode(new mt);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await cr.create({certificate:l.certificate,rootKey:d,canisterId:o,disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="subnet"){let y=Tf(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:Ae(m.lookup_path(p))}},{path:_,data:g}=h(f,s[u]);if(!g)console.warn(`Expected to find result for path ${_}, but instead found nothing.`),typeof _=="string"?i.set(_,null):i.set(_.key,null);else switch(_){case"time":{i.set(_,pn(g));break}case"controllers":{i.set(_,Of(g));break}case"module_hash":{i.set(_,M(g));break}case"subnet":{i.set(_,g);break}case"candid":{i.set(_,new TextDecoder().decode(g));break}default:if(typeof _!="string"&&"key"in _&&"path"in _)switch(_.decodeStrategy){case"raw":i.set(_.key,g);break;case"leb128":{i.set(_.key,aa(g));break}case"cbor":{i.set(_.key,je(g));break}case"hex":{i.set(_.key,M(g));break}case"utf-8":i.set(_.key,new TextDecoder().decode(g))}}}catch(d){if(d instanceof nt&&(d.hasCode(Zt)||d.hasCode(yr)))throw d;typeof c!="string"&&"key"in c&&"path"in c?i.set(c.key,null):i.set(c,null),console.group(),console.warn(`Expected to find result for path ${c}, but instead found nothing.`),console.warn(d),console.groupEnd()}})()});return await Promise.all(a),i},Tf=(e,t,r)=>{if(!t._isPrincipal)throw W.fromCode(new Be("Invalid canisterId"));let n=je(e),o=n.tree,s=n.delegation,i;if(s&&s.subnet_id?i=L.fromUint8Array(new Uint8Array(s.subnet_id)):!s&&typeof r<"u"?(i=L.selfAuthenticating(new Uint8Array(r)),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}):(i=L.selfAuthenticating(L.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").toUint8Array()),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}),!ca({canisterId:t,subnetId:i,tree:o}))throw Pe.fromCode(new Hr(t,i));let c=gs(["subnet",s.subnet_id,"node"],o);if(c.status!==Pr.Found)throw te.fromCode(new St("Node not found",c.status));if(c.value instanceof Uint8Array)throw he.fromCode(new Qt("Invalid node tree"));let u=ys(c.value),p=new Map;return u.forEach(d=>{let l=L.from(d[1]).toText(),f=Br(["public_key"],d[2]);if(f.status!==$e.Found)throw te.fromCode(new St("Public key not found",f.status));let h=f.value;if(h.byteLength!==44)throw te.fromCode(new zr(44,h.byteLength));p.set(l,h)}),{subnetId:L.fromUint8Array(new Uint8Array(s.subnet_id)).toText(),nodeKeys:p}},Nf=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[Q("time")];case"controllers":return[Q("canister"),r,Q("controllers")];case"module_hash":return[Q("canister"),r,Q("module_hash")];case"subnet":return[Q("subnet")];case"candid":return[Q("canister"),r,Q("metadata"),Q("candid:service")];default:if("key"in e&&"path"in e)if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=e.path,o=typeof n=="string"?Q(n):n;return[Q("canister"),r,Q("metadata"),o]}else return e.path}throw he.fromCode(new Be(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))},Of=e=>je(e).map(r=>L.fromUint8Array(r));var lr=BigInt(0),Ne=BigInt(1),ua=BigInt(2),Ef=BigInt(8);function Rf(e,t,r,n){let o=e.sqr(r),s=e.sqr(n),i=e.add(e.mul(t.a,o),s),a=e.add(e.ONE,e.mul(t.d,e.mul(o,s)));return e.eql(i,a)}function vf(e,t={}){let r=us("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;Lt(t,{},{uvRatio:"function"});let a=ua<<BigInt(o.BYTES*8)-Ne,c=g=>n.create(g),u=t.uvRatio||((g,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,m))}}catch{return{isValid:!1,value:lr}}});if(!Rf(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function p(g,m,x=!1){let y=x?Ne:lr;return as("coordinate "+g,m,y,a),m}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=sr((g,m)=>{let{X:x,Y:y,Z:T}=g,O=g.is0();m==null&&(m=O?Ef:n.inv(T));let R=c(x*m),E=c(y*m),v=n.mul(T,m);if(O)return{x:lr,y:Ne};if(v!==Ne)throw new Error("invZ was invalid");return{x:R,y:E}}),f=sr(g=>{let{a:m,d:x}=s;if(g.is0())throw new Error("bad point: ZERO");let{X:y,Y:T,Z:O,T:R}=g,E=c(y*y),v=c(T*T),w=c(O*O),I=c(w*w),B=c(E*m),A=c(w*c(B+v)),b=c(I+c(x*c(E*v)));if(A!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),P=c(O*R);if(N!==P)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,x,y,T){this.X=p("x",m),this.Y=p("y",x),this.Z=p("z",y,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return s}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x,y}=m||{};return p("x",x),p("y",y),new h(x,y,Ne,c(x*y))}static fromBytes(m,x=!1){let y=n.BYTES,{a:T,d:O}=s;m=ki(or(m,y,"point")),vr(x,"zip215");let R=ki(m),E=m[y-1];R[y-1]=E&-129;let v=Ut(R),w=x?a:n.ORDER;as("point.y",v,lr,w);let I=c(v*v),B=c(I-Ne),A=c(O*I-T),{isValid:b,value:N}=u(B,A);if(!b)throw new Error("bad point: invalid y coordinate");let P=(N&Ne)===Ne,V=(E&128)!==0;if(!x&&N===lr&&V)throw new Error("bad point: x=0 and x_0=1");return V!==P&&(N=c(-N)),h.fromAffine({x:N,y:v})}static fromHex(m,x=!1){return h.fromBytes(ae("point",m),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,x=!0){return _.createCache(this,m),x||this.multiply(ua),this}assertValidity(){f(this)}equals(m){d(m);let{X:x,Y:y,Z:T}=this,{X:O,Y:R,Z:E}=m,v=c(x*E),w=c(O*T),I=c(y*E),B=c(R*T);return v===w&&I===B}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=s,{X:x,Y:y,Z:T}=this,O=c(x*x),R=c(y*y),E=c(ua*c(T*T)),v=c(m*O),w=x+y,I=c(c(w*w)-O-R),B=v+R,A=B-E,b=v-R,N=c(I*A),P=c(B*b),V=c(I*b),q=c(A*B);return new h(N,P,q,V)}add(m){d(m);let{a:x,d:y}=s,{X:T,Y:O,Z:R,T:E}=this,{X:v,Y:w,Z:I,T:B}=m,A=c(T*v),b=c(O*w),N=c(E*y*B),P=c(R*I),V=c((T+O)*(v+w)-A-b),q=P-N,S=P+N,F=c(b-x*A),C=c(V*q),D=c(S*F),k=c(V*F),ee=c(q*S);return new h(C,D,ee,k)}subtract(m){return this.add(m.negate())}multiply(m){if(!o.isValidNot0(m))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:y}=_.cached(this,m,T=>Ze(h,T));return Ze(h,[x,y])[0]}multiplyUnsafe(m,x=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===lr?h.ZERO:this.is0()||m===Ne?this:_.unsafe(this,m,y=>Ze(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return _.unsafe(this,s.n).is0()}toAffine(m){return l(this,m)}clearCofactor(){return i===Ne?this:this.multiplyUnsafe(i)}toBytes(){let{x:m,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=m&Ne?128:0,y}toHex(){return M(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(m){return Ze(h,m)}static msm(m,x){return ln(h,o,m,x)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(s.Gx,s.Gy,Ne,c(s.Gx*s.Gy)),h.ZERO=new h(lr,Ne,Ne,lr),h.Fp=n,h.Fn=o;let _=new cn(h,o.BITS);return h.BASE.precompute(8),h}var xs=class{constructor(t){this.ep=t}static fromBytes(t){sn()}static fromHex(t){sn()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return M(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}toRawBytes(){return this.toBytes()}};function If(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Lt(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=e,a=r.randomBytes||$r,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,I,B)=>{if(vr(B,"phflag"),I.length||B)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return i.create(Ut(w))}function d(w){let I=y.secretKey;w=ae("private key",w,I);let B=ae("hashed private key",t(w),2*I),A=c(B.slice(0,I)),b=B.slice(I,2*I),N=p(A);return{head:A,prefix:b,scalar:N}}function l(w){let{head:I,prefix:B,scalar:A}=d(w),b=o.multiply(A),N=b.toBytes();return{head:I,prefix:B,scalar:A,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...I){let B=K(...I);return p(t(u(B,ae("context",w),!!n)))}function _(w,I,B={}){w=ae("message",w),n&&(w=n(w));let{prefix:A,scalar:b,pointBytes:N}=l(I),P=h(B.context,A,w),V=o.multiply(P).toBytes(),q=h(B.context,V,N,w),S=i.create(P+q*b);if(!i.isValid(S))throw new Error("sign failed: invalid s");let F=K(V,i.toBytes(S));return or(F,y.signature,"result")}let g={zip215:!0};function m(w,I,B,A=g){let{context:b,zip215:N}=A,P=y.signature;w=ae("signature",w,P),I=ae("message",I),B=ae("publicKey",B,y.publicKey),N!==void 0&&vr(N,"zip215"),n&&(I=n(I));let V=P/2,q=w.subarray(0,V),S=Ut(w.subarray(V,P)),F,C,D;try{F=e.fromBytes(B,N),C=e.fromBytes(q,N),D=o.multiplyUnsafe(S)}catch{return!1}if(!N&&F.isSmallOrder())return!1;let k=h(b,C.toBytes(),F.toBytes(),I);return C.add(F.multiplyUnsafe(k)).subtract(D).clearCofactor().is0()}let x=s.BYTES,y={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(y.seed)){return or(w,y.seed,"seed")}function O(w){let I=v.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function R(w){return ft(w)&&w.length===i.BYTES}function E(w,I){try{return!!e.fromBytes(w,I)}catch{return!1}}let v={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:R,isValidPublicKey:E,toMontgomery(w){let{y:I}=e.fromBytes(w),B=y.publicKey,A=B===32;if(!A&&B!==57)throw new Error("only defined for 25519 and 448");let b=A?s.div(Ne+I,Ne-I):s.div(I-Ne,I+Ne);return s.toBytes(b)},toMontgomerySecret(w){let I=y.secretKey;or(w,I);let B=t(w.subarray(0,I));return c(B).subarray(0,I)},randomPrivateKey:T,precompute(w=8,I=e.BASE){return I.precompute(w,!1)}};return Object.freeze({keygen:O,getPublicKey:f,sign:_,verify:m,utils:v,Point:e,lengths:y})}function Af(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=De(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},s={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:s}}function Sf(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Gl(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Af(e),s=vf(t,r),i=If(s,n,o);return Sf(e,i)}var Ff=BigInt(0),Kt=BigInt(1),zl=BigInt(2),Hy=BigInt(3),Pf=BigInt(5),Bf=BigInt(8),fn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),ao={p:fn,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Bf,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Cf(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=fn,a=e*e%s*e%s,c=dt(a,zl,s)*a%s,u=dt(c,Kt,s)*e%s,p=dt(u,Pf,s)*u%s,d=dt(p,t,s)*p%s,l=dt(d,r,s)*d%s,f=dt(l,n,s)*l%s,h=dt(f,o,s)*f%s,_=dt(h,o,s)*f%s,g=dt(_,t,s)*p%s;return{pow_p_5_8:dt(g,zl,s)*e%s,b2:a}}function Vf(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var da=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function ha(e,t){let r=fn,n=se(t*t*t,r),o=se(n*n*t,r),s=Cf(e*o).pow_p_5_8,i=se(e*n*s,r),a=se(t*i*i,r),c=i,u=se(i*da,r),p=a===e,d=a===se(-e,r),l=a===se(-e*da,r);return p&&(i=c),(d||l)&&(i=u),qt(i,r)&&(i=se(-i,r)),{isValid:p||d,value:i}}var ur=De(ao.p,{isLE:!0}),Df=De(ao.n,{isLE:!0}),Uf={...ao,Fp:ur,hash:gc,adjustScalarBytes:Vf,uvRatio:ha},Le=Gl(Uf);var pa=da,kf=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Lf=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),qf=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Mf=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Wl=e=>ha(Kt,e),jf=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),fa=e=>Le.Point.Fp.create(Ut(e)&jf);function Yl(e){let{d:t}=ao,r=fn,n=m=>ur.create(m),o=n(pa*e*e),s=n((o+Kt)*qf),i=BigInt(-1),a=n((i-t*o)*n(o+t)),{isValid:c,value:u}=ha(s,a),p=n(u*e);qt(p,r)||(p=n(-p)),c||(u=p),c||(i=o);let d=n(i*(o-Kt)*Mf-a),l=u*u,f=n((u+u)*a),h=n(d*kf),_=n(Kt-l),g=n(Kt+l);return new Le.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function Kf(e){ue(e,64);let t=fa(e.subarray(0,32)),r=Yl(t),n=fa(e.subarray(32,64)),o=Yl(n);return new $t(r.add(o))}var $t=class e extends xs{constructor(t){super(t)}static fromAffine(t){return new e(Le.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Kf(ae("ristrettoHash",t,64))}static fromBytes(t){ue(t,32);let{a:r,d:n}=ao,o=fn,s=T=>ur.create(T),i=fa(t);if(!pl(ur.toBytes(i),t)||qt(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(Kt+r*a),u=s(Kt-r*a),p=s(c*c),d=s(u*u),l=s(r*n*p-d),{isValid:f,value:h}=Wl(s(l*d)),_=s(h*u),g=s(h*_*l),m=s((i+i)*_);qt(m,o)&&(m=s(-m));let x=s(c*g),y=s(m*x);if(!f||qt(y,o)||x===Ff)throw new Error("invalid ristretto255 encoding 2");return new e(new Le.Point(m,x,Kt,y))}static fromHex(t){return e.fromBytes(ae("ristrettoHex",t,32))}static msm(t,r){return ln(e,Le.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,s=fn,i=g=>ur.create(g),a=i(i(n+r)*i(n-r)),c=i(t*r),u=i(c*c),{value:p}=Wl(i(a*u)),d=i(p*a),l=i(p*c),f=i(d*l*o),h;if(qt(o*f,s)){let g=i(r*pa),m=i(t*pa);t=g,r=m,h=i(d*Lf)}else h=l;qt(t*f,s)&&(r=i(-r));let _=i((n-r)*h);return qt(_,s)&&(_=i(-_)),ur.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:s}=t.ep,i=u=>ur.create(u),a=i(r*s)===i(n*o),c=i(n*s)===i(r*o);return a||c}is0(){return this.equals(e.ZERO)}};$t.BASE=new $t(Le.Point.BASE);$t.ZERO=new $t(Le.Point.ZERO);$t.Fp=ur;$t.Fn=Df;var Jl,Zl,bs=class{static{Jl=Symbol.iterator,Zl=Symbol.toStringTag}#e;#t;constructor(t={}){this[Jl]=this.entries.bind(this),this[Zl]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([s,i])=>[s,{value:i,timestamp:o}])),this.#t=n}prune(){let t=Date.now();for(let[r,n]of this.#e.entries())t-n.timestamp>this.#t&&this.#e.delete(r);return this}set(t,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(t,n),this}get(t){let r=this.#e.get(t);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(t);return}return r.value}}clear(){this.#e.clear()}entries(){let t=this.#e.entries();return function*(){for(let[n,o]of t)yield[n,o.value]}()}values(){let t=this.#e.values();return function*(){for(let n of t)yield n.value}()}keys(){return this.#e.keys()}forEach(t,r){for(let[n,o]of this.#e.entries())t.call(r,o.value,n,this)}has(t){return this.#e.has(t)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}};var Xl=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw W.fromCode(new An("Length too long (> 4 bytes)"))},Ql=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw W.fromCode(new An("Length too long (> 4 bytes)"))},ma=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw W.fromCode(new ot("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw W.fromCode(new ot("Length too long (> 4 bytes)"))},$f=(e,t)=>{let r=ma(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw W.fromCode(new ot("Length too long (> 4 bytes)"))},co=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Cr=Uint8Array.from([48,5,6,3,43,101,112]),Jy=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),Zy=Uint8Array.from([48,29,6,13,43,6,1,4,1,130,220,124,5,3,1,2,1,6,12,43,6,1,4,1,130,220,124,5,3,2,1]);function Vr(e,t){let r=2+Xl(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,s=new Uint8Array(1+Xl(n)+n);return s[o++]=48,o+=Ql(s,o,n),s.set(t,o),o+=t.byteLength,s[o++]=3,o+=Ql(s,o,e.byteLength+1),s[o++]=0,s.set(new Uint8Array(e),o),s}var Dr=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw W.fromCode(new ot(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=ma(o,r),!Or(o.slice(r,r+t.byteLength),t))throw W.fromCode(new ot("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let s=$f(o,r)-1;r+=ma(o,r),n(0,"0 padding");let i=o.slice(r);if(s!==i.length)throw W.fromCode(new Po(s,i.length));return i};var ws=class e{static from(t){return this.fromDer(t.toDer())}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){return Vr(t,Cr)}static derDecode(t){let r=Dr(t,Cr);if(r.length!==this.RAW_KEY_LENGTH)throw W.fromCode(new ot("An Ed25519 public key must be exactly 32 bytes long"));return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw W.fromCode(new ot("An Ed25519 public key must be exactly 32 bytes long"));this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}};var _a=class{constructor(){this.observers=[]}subscribe(t){this.observers.push(t)}unsubscribe(t){this.observers=this.observers.filter(r=>r!==t)}notify(t,...r){this.observers.forEach(n=>n(t,...r))}},Ts=class extends _a{constructor(){super()}print(t,...r){this.notify({message:t,level:"info"},...r)}warn(t,...r){this.notify({message:t,level:"warn"},...r)}error(t,r,...n){this.notify({message:t,level:"error",error:r},...n)}};var Ns=class e{#e;#t;#r;#c;#i;#u;#n;#o;#a=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(t=e.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:s=6e4,maxElapsedTime:i=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#c=s,this.#o=c,this.#i=c.now(),this.#u=i,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#i}get currentInterval(){return this.#e}get count(){return this.#a}get randomValueFromInterval(){let t=this.#t*this.#e,r=this.#e-t,n=this.#e+t;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#c),this.#a++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#u||this.#a>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var wt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(wt||(wt={}));var xa=60*1e3,Hf=1e6,Gf=0,zf="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Wf="ic0.app",Yf=".ic0.app",Jf="icp0.io",Zf=".icp0.io",Xf="icp-api.io",Qf=".icp-api.io",ya=200,eh=202,th=404;function rh(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw we.fromCode(new Yr("Fetch implementation was not available. You appear to be in a browser context, but window.fetch was not present."));else if(typeof global<"u")if(global.fetch)e=global.fetch.bind(global);else throw we.fromCode(new Yr("Fetch implementation was not available. You appear to be in a Node.js context, but global.fetch was not available."));else typeof self<"u"&&self.fetch&&(e=self.fetch.bind(self));if(e)return e;throw we.fromCode(new Yr("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function nh(e){let t;if(e!==void 0)!e.match(/^[a-z]+:/)&&typeof window<"u"?t=new URL(window.location.protocol+"//"+e):t=new URL(e);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,s=o?.hostname,i;s&&typeof s=="string"&&(n.some(a=>s.endsWith(a))?i=s:i=r.find(a=>s.endsWith(a))),o&&i?t=new URL(`${o.protocol}//${i}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var Ur=class e{#e;#t;#r;#c;#i;#u;#n;#o;#a;#x;#s;#d;#p;#l;get#N(){return this.#l*xa}#f;#h;#m;#_;constructor(t={}){this.#e=null,this.#t=!1,this.#r=Gf,this.#c=!1,this.#i=null,this.#u=!1,this._isAgent=!0,this.config={},this.log=new Ts,this.#f=[],this.#h=[],this.#m=new bs({expirationTime:5*xa}),this.#_=!0,this.#w=(o,s)=>{if(this.#_===!1)return o;let{status:i,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=L.fromUint8Array(d).toText(),f;if(i===Gt.Replied){let{reply:x}=o;f=Mn({status:i,reply:x,timestamp:BigInt(p),request_id:c})}else if(i===Gt.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Mn({status:i,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw he.fromCode(new Be(`Unknown status: ${i}`));let h=K(vi,f),_=s.nodeKeys.get(l);if(!_)throw te.fromCode(new Ko);let g=ws.fromDer(_).rawKey;if(Le.verify(u.signature,h,g))return o;throw Pe.fromCode(new $o(l))}return o},this.config=t,this.#o=t.fetch||rh()||fetch.bind(global),this.#a=t.fetchOptions,this.#x=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#u=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=be(zf);let r=nh(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#d=t.retryTimes??3;let n=()=>new Ns({maxIterations:this.#d});if(this.#p=t.backoffStrategy||n,this.host.hostname.endsWith(Yf)?this.host.hostname=Wf:this.host.hostname.endsWith(Zf)?this.host.hostname=Jf:this.host.hostname.endsWith(Qf)&&(this.host.hostname=Xf),t.credentials){let{name:o,password:s}=t.credentials;this.#s=`${o}${s?":"+s:""}`}if(this.#n=Promise.resolve(t.identity||new Ye),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw W.fromCode(new xr("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw W.fromCode(new xr("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",Ci(Yn)),t.useQueryNonces&&this.addTransform("query",Ci(Yn)),t.logToConsole&&this.log.subscribe(o=>{o.level==="error"?console.error(o.message):o.level==="warn"?console.warn(o.message):console.log(o.message)})}static createSync(t={}){return new this({...t})}static async create(t={}){let r=e.createSync(t);return await r.#g(),r}static async from(t){try{return"config"in t?await e.create(t.config):await e.create({fetch:t._fetch,fetchOptions:t._fetchOptions,callOptions:t._callOptions,host:t._host.toString(),identity:t._identity??void 0})}catch{throw W.fromCode(new qo)}}isLocal(){let t=this.host.hostname;return t==="127.0.0.1"||t.endsWith("127.0.0.1")}addTransform(t,r,n=r.priority||0){if(t==="update"){let o=this.#h.findIndex(s=>(s.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#f.findIndex(s=>(s.priority||0)<n);this.#f.splice(o>=0?o:this.#f.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw we.fromCode(new Xt);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,s=await(n??this.#n);if(!s)throw we.fromCode(new Xt);let i=L.from(t),a=r.effectiveCanisterId?L.from(r.effectiveCanisterId):i;await this.#g(a);let c=s.getPrincipal(),u=ga(this.#l,this.#r),p={request_type:ns.Call,canister_id:i,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:u},d=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Dt.Call,body:p}),l;r?.nonce?l=f(r.nonce):d.body.nonce?l=f(d.body.nonce):l=void 0,p.nonce=l;function f(m){return Object.assign(m,{__nonce__:void 0})}d=await s.transformRequest(d);let h=zn(d.body),_=this.#p(),g=Ct(p);try{let y=o?()=>(this.log.print(`fetching "/api/v3/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v3/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})):()=>(this.log.print(`fetching "/api/v2/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v2/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})),{responseBodyBytes:T,...O}=await this.#y({requestFn:y,backoff:_,tries:0}),R=T.byteLength>0?je(T):null;return{requestId:g,response:{...O,body:R},requestDetails:p}}catch(m){let x;if(m instanceof nt){if(m.hasCode(Fn))return this.log.warn("v3 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(xr)&&!this.#c)return await this.syncTime(i),this.call(i,r,n);m.code.requestContext={requestId:g,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=m}else x=he.fromCode(new Be(m));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:s,backoff:i,tries:a}=t,c=a===0?0:i.next();if(this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with tries:`,{tries:a,backoff:i,delay:c}),c===null)throw he.fromCode(new gr(`Backoff strategy exhausted after ${a} attempts.`,s));c>0&&await new Promise(f=>setTimeout(f,c));let u;try{this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with request:`,n);let f=await this.#o(""+new URL(`/api/v2/canister/${r.toString()}/query`,this.host),{...this.#a,...n.request,body:o});if(f.status===ya)u={...je(en(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:ss(f.headers)},requestId:s};else throw te.fromCode(new Sn(f.status,f.statusText,ss(f.headers),await f.text()))}catch(f){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
|
|
48
|
+
`)}return c.encodeValue(u)}));return Y(n,o,s,i,a)}function Wd(e,t){let r=new st(t);if(t.byteLength<Yo.length)throw new Error("Message length smaller than magic number");let n=rr(r,Yo.length),o=new TextDecoder().decode(n);if(o!==Yo)throw new Error("Wrong magic number: "+JSON.stringify(o));function s(l){let f=[],h=Number(de(l));for(let _=0;_<h;_++){let x=Number(Ft(l));switch(x){case Z.Opt:case Z.Vector:{let g=Number(Ft(l));f.push([x,g]);break}case Z.Record:case Z.Variant:{let g=[],T=Number(de(l)),O;for(;T--;){let E=Number(de(l));if(E>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof O=="number"&&O>=E)throw new Error("field id collision or not sorted");O=E;let R=Number(Ft(l));g.push([E,R])}f.push([x,g]);break}case Z.Func:{let g=[],T=Number(de(l));for(;T--;)g.push(Number(Ft(l)));let O=[],E=Number(de(l));for(;E--;)O.push(Number(Ft(l)));let R=[],I=Number(de(l));for(;I--;)switch(Number(de(l))){case 1:{R.push("query");break}case 2:{R.push("oneway");break}case 3:{R.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([x,[g,O,R]]);break}case Z.Service:{let g=Number(de(l)),T=[];for(;g--;){let O=Number(de(l)),E=new TextDecoder().decode(rr(l,O)),R=Ft(l);T.push([E,R])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let m=[],y=Number(de(l));for(let _=0;_<y;_++)m.push(Number(Ft(l)));return[f,m]}let[i,a]=s(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=i.map(l=>Zc());function u(l){if(l<-24)throw new Error("future value not supported");if(l<0)switch(l){case-1:return Fc;case-2:return Sc;case-3:return Cc;case-4:return Bc;case-5:return Mc;case-6:return jc;case-7:return Kc;case-8:return $c;case-9:return Uc;case-10:return kc;case-11:return Lc;case-12:return qc;case-13:return Vc;case-14:return Dc;case-15:return Pc;case-16:return Ac;case-17:return Ic;case-24:return Hc;default:throw new Error("Illegal op_code: "+l)}if(l>=i.length)throw new Error("type index out of range");return c[l]}function p(l){switch(l[0]){case Z.Vector:{let f=u(l[1]);return zc(f)}case Z.Opt:{let f=u(l[1]);return Wc(f)}case Z.Record:{let f={};for(let[y,_]of l[1]){let x=`_${y}_`;f[x]=u(_)}let h=Yc(f),m=h.tryAsTuple();return Array.isArray(m)?Gc(...m):h}case Z.Variant:{let f={};for(let[h,m]of l[1]){let y=`_${h}_`;f[y]=u(m)}return Jc(f)}case Z.Func:{let[f,h,m]=l[1];return Xc(f.map(y=>u(y)),h.map(y=>u(y)),m)}case Z.Service:{let f={},h=l[1];for(let[m,y]of h){let _=u(y);if(_ instanceof We&&(_=_.getType()),!(_ instanceof Or))throw new Error("Illegal service definition: services can only contain functions");f[m]=_}return Qc(f)}default:throw new Error("Illegal op_code: "+l[0])}}i.forEach((l,f)=>{if(l[0]===Z.Func){let h=p(l);c[f].fill(h)}}),i.forEach((l,f)=>{if(l[0]!==Z.Func){let h=p(l);c[f].fill(h)}}),Ei();let d=a.map(l=>u(l));try{let l=e.map((f,h)=>f.decodeValue(r,d[h]));for(let f=e.length;f<d.length;f++)d[f].decodeValue(r,d[f]);if(r.byteLength>0)throw new Error("decode: Left-over bytes");return l}finally{Ei()}}var Ic=new Ln,Ac=new xt,Yd=new Zo,Sc=new Xo,Fc=new Tr,Pc=new Qo,Bc=new qn,Cc=new Mn,Vc=new jn(32),Dc=new jn(64),Uc=new Bt(8),kc=new Bt(16),Lc=new Bt(32),qc=new Bt(64),Mc=new yt(8),jc=new yt(16),Kc=new yt(32),$c=new yt(64),Hc=new ts;function Gc(...e){return new es(e)}function zc(e){return new Qr(e)}function Wc(e){return new nr(e)}function Yc(e){return new Nr(e)}function Jc(e){return new en(e)}function Zc(){return new We}function Xc(e,t,r=[]){return new Or(e,t,r)}function Qc(e){return new tn(e)}var rs=class e{constructor(t=new Map){this.rels=t}copy(){let t=new Map;for(let[r,n]of this.rels.entries()){let o=new Map(n);t.set(r,o)}return new e(t)}known(t,r){return this.rels.get(t.name)?.get(r.name)}addNegative(t,r){this.addNames(t.name,r.name,!1)}add(t,r){this.addNames(t.name,r.name,!0)}display(){let t="";for(let[r,n]of this.rels)for(let[o,s]of n)t+=`${r} ${s?":<":"!<:"} ${o}
|
|
49
|
+
`;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let s=new Map;s.set(r,n),this.rels.set(t,s)}else o.set(r,n)}},Jo=new rs;function Ei(){Jo=new rs}function Jd(e,t){let r=new Set(e.annotations),n=new Set(t.annotations);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o))return!1;return!0}function Ti(e){return e instanceof nr||e instanceof Tr||e instanceof xt}function vi(e,t){let r=Jo.copy(),n=Pt(r,e,t);return n?Jo.add(e,t):Jo.addNegative(e,t),n}function Pt(e,t,r){if(t.name===r.name)return!0;let n=e.known(t,r);if(n!==void 0)return n;if(e.add(t,r),r instanceof xt||t instanceof Ln||t instanceof Mn&&r instanceof qn)return!0;if(t instanceof Qr&&r instanceof Qr)return Pt(e,t._type,r._type);if(r instanceof nr)return!0;if(t instanceof Nr&&r instanceof Nr){let o=t.fieldsAsObject;for(let[s,i]of r._fields){let a=o[Be(s)];if(a){if(!Pt(e,a,i))return!1}else if(!Ti(i))return!1}return!0}if(t instanceof Or&&r instanceof Or){if(!Jd(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let s=t.argTypes[o];if(o<r.argTypes.length){if(!Pt(e,r.argTypes[o],s))return!1}else if(!Ti(s))return!1}for(let o=0;o<r.retTypes.length;o++){let s=r.retTypes[o];if(o<t.retTypes.length){if(!Pt(e,t.retTypes[o],s))return!1}else if(!Ti(s))return!1}return!0}if(t instanceof en&&r instanceof en){let o=r.alternativesAsObject;for(let[s,i]of t._fields){let a=o[Be(s)];if(!a||!Pt(e,i,a))return!1}return!0}if(t instanceof tn&&r instanceof tn){let o=t.fieldsAsObject();for(let[s,i]of r._fields){let a=o[s];if(!a||!Pt(e,a,i))return!1}return!0}return t instanceof We?Pt(e,t.getType(),r):r instanceof We?Pt(e,t,r.getType()):!1}function rn(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?rn(e.buffer):new Uint8Array(e)}function Rr(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Ii(e){if(typeof e=="string")return el(e);if(typeof e=="number")return ve(ne(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return ve(rn(e));if(Array.isArray(e)){let t=e.map(Ii);return ve(j(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return ve(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return Ii(e.toHash());if(typeof e=="object")return Kn(e);if(typeof e=="bigint")return ve(ne(e))}throw W.fromCode(new Mo(e))}var el=e=>{let t=new TextEncoder().encode(e);return ve(t)};function Ct(e){return Kn(e)}function Kn(e){let n=Object.entries(e).filter(([,i])=>i!==void 0).map(([i,a])=>{let c=el(i),u=Ii(a);return[c,u]}).sort(([i],[a])=>gi(i,a)),o=j(...n.map(i=>j(...i)));return ve(o)}var $n=new TextEncoder().encode(`
|
|
50
|
+
ic-request`),Ai=new TextEncoder().encode("\vic-response"),Si=new TextEncoder().encode("ic-request-auth-delegation");var bt=class{getPrincipal(){return this._principal||(this._principal=q.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=Ct(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(j($n,o))}}}},Ye=class{getPrincipal(){return q.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var Vt=class extends Error{constructor(t){super(t),this.name="DecodingError"}},rl=55799,nl=Symbol("CBOR_STOP_CODE"),ct=(e=>(e[e.False=20]="False",e[e.True=21]="True",e[e.Null=22]="Null",e[e.Undefined=23]="Undefined",e[e.Break=31]="Break",e))(ct||{}),ye=(e=>(e[e.UnsignedInteger=0]="UnsignedInteger",e[e.NegativeInteger=1]="NegativeInteger",e[e.ByteString=2]="ByteString",e[e.TextString=3]="TextString",e[e.Array=4]="Array",e[e.Map=5]="Map",e[e.Tag=6]="Tag",e[e.Simple=7]="Simple",e))(ye||{}),Zd=23,Xd=255,Qd=65535,ep=4294967295,tp=BigInt("0xffffffffffffffff"),at=(e=>(e[e.Value=23]="Value",e[e.OneByte=24]="OneByte",e[e.TwoBytes=25]="TwoBytes",e[e.FourBytes=26]="FourBytes",e[e.EightBytes=27]="EightBytes",e[e.Indefinite=31]="Indefinite",e))(at||{}),nn=!1;function rp(e){return e==null}function ol(e,t){let r=new Uint8Array(t);return r.set(e),r}var np=new TextDecoder;function op(e){return(e&224)>>5}function sp(e){return e&31}var zn=new Uint8Array,Hn,lt=0;function sl(e,t){zn=e,lt=0;let r=vr(t);return t?.(r)??r}function vr(e){let[t,r]=ns();switch(t){case ye.UnsignedInteger:return on(r);case ye.NegativeInteger:return lp(r);case ye.ByteString:return il(r);case ye.TextString:return Pi(r);case ye.Array:return ip(r,e);case ye.Map:return cp(r,e);case ye.Tag:return up(r,e);case ye.Simple:return ap(r)}throw new Vt(`Unsupported major type: ${t}`)}function ns(){let e=zn.at(lt);if(rp(e))throw new Vt("Provided CBOR data is empty");let t=op(e),r=sp(e);return lt++,[t,r]}function ip(e,t){let r=on(e);if(r===1/0){let o=[],s=vr(t);for(;s!==nl;)o.push(t?.(s)??s),s=vr(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let s=vr(t);n[o]=t?.(s)??s}return n}function ap(e){switch(e){case ct.False:return!1;case ct.True:return!0;case ct.Null:return null;case ct.Undefined:return;case ct.Break:return nl}throw new Vt(`Unrecognized simple type: ${e.toString(2)}`)}function cp(e,t){let r=on(e),n={};if(r===1/0){let[o,s]=ns();for(;o!==ye.Simple&&s!==ct.Break;){let i=Pi(s),a=vr(t);n[i]=t?.(a,i)??a,[o,s]=ns()}return n}for(let o=0;o<r;o++){let[s,i]=ns();if(s!==ye.TextString)throw new Vt("Map keys must be text strings");let a=Pi(i),c=vr(t);n[a]=t?.(c,a)??c}return n}function on(e){if(e<=at.Value)return e;switch(Hn=new DataView(zn.buffer,zn.byteOffset+lt),e){case at.OneByte:return lt++,Hn.getUint8(0);case at.TwoBytes:return lt+=2,Hn.getUint16(0,nn);case at.FourBytes:return lt+=4,Hn.getUint32(0,nn);case at.EightBytes:return lt+=8,Hn.getBigUint64(0,nn);case at.Indefinite:return 1/0;default:throw new Vt(`Unsupported integer info: ${e.toString(2)}`)}}function lp(e){let t=on(e);return typeof t=="number"?-1-t:-1n-t}function il(e){let t=on(e);if(t>Number.MAX_SAFE_INTEGER)throw new Vt("Byte length is too large");let r=Number(t);return lt+=r,zn.slice(lt-r,lt)}function Pi(e){let t=il(e);return np.decode(t)}function up(e,t){let r=on(e);if(r===rl)return vr(t);throw new Vt(`Unsupported tag: ${r}.`)}var Wn=class extends Error{constructor(t){super(t),this.name="SerializationError"}},dp=2*1024,pp=100,fp=new TextEncoder;function Gn(e){return e<<5}var He=new Uint8Array(dp),it=new DataView(He.buffer),_e=0,Fi=[];function al(e,t){_e=0;let r=t?.(e)??e;return wp(rl,r,t),He.slice(0,_e)}function Bi(e,t){if(_e>He.length-pp&&(He=ol(He,He.length*2),it=new DataView(He.buffer)),e===!1||e===!0||e===null||e===void 0){_p(e);return}if(typeof e=="number"||typeof e=="bigint"){bp(e);return}if(typeof e=="string"){ul(e);return}if(e instanceof Uint8Array){tl(e);return}if(e instanceof ArrayBuffer){tl(new Uint8Array(e));return}if(Array.isArray(e)){hp(e,t);return}if(typeof e=="object"){mp(e,t);return}throw new Wn(`Unsupported type: ${typeof e}`)}function hp(e,t){sn(ye.Array,e.length),e.forEach((r,n)=>{Bi(t?.(r,n.toString())??r,t)})}function mp(e,t){Fi=Object.entries(e),sn(ye.Map,Fi.length),Fi.forEach(([r,n])=>{ul(r),Bi(t?.(n,r)??n,t)})}function sn(e,t){if(t<=Zd){it.setUint8(_e++,Gn(e)|Number(t));return}if(t<=Xd){it.setUint8(_e++,Gn(e)|at.OneByte),it.setUint8(_e,Number(t)),_e+=1;return}if(t<=Qd){it.setUint8(_e++,Gn(e)|at.TwoBytes),it.setUint16(_e,Number(t),nn),_e+=2;return}if(t<=ep){it.setUint8(_e++,Gn(e)|at.FourBytes),it.setUint32(_e,Number(t),nn),_e+=4;return}if(t<=tp){it.setUint8(_e++,Gn(e)|at.EightBytes),it.setBigUint64(_e,BigInt(t),nn),_e+=8;return}throw new Wn(`Value too large to encode: ${t}`)}function _p(e){sn(ye.Simple,yp(e))}function yp(e){if(e===!1)return ct.False;if(e===!0)return ct.True;if(e===null)return ct.Null;if(e===void 0)return ct.Undefined;throw new Wn(`Unrecognized simple value: ${e.toString()}`)}function cl(e,t){sn(e,t.length),_e>He.length-t.length&&(He=ol(He,He.length+t.length),it=new DataView(He.buffer)),He.set(t,_e),_e+=t.length}function ll(e,t){sn(e,t)}function gp(e){ll(ye.UnsignedInteger,e)}function xp(e){ll(ye.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function bp(e){e>=0?gp(e):xp(e)}function ul(e){cl(ye.TextString,fp.encode(e))}function tl(e){cl(ye.ByteString,e)}function wp(e,t,r){sn(ye.Tag,e),Bi(t,r)}function Np(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function Yn(e){try{return al(e,t=>q.isPrincipal(t)?t.toUint8Array():an.isExpiry(t)?t.toBigInt():Np(t)?t.toCborValue():t)}catch(t){throw W.fromCode(new Do(t,e))}}function je(e){try{return sl(e)}catch(t){throw W.fromCode(new Vo(t,e))}}var os={encode:Yn,decode:je};var Jn=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let e=new Uint32Array(1);return window.crypto.getRandomValues(e),e[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};var Dt;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(Dt||(Dt={}));var ss;(function(e){e.Call="call"})(ss||(ss={}));var Ir;(function(e){e.Query="query",e.ReadState="read_state"})(Ir||(Ir={}));function Zn(){let e=new ArrayBuffer(16),t=new DataView(e),r=Jn(),n=Jn(),o=Jn(),s=Jn();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,s),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var is="__expiry__",Vi=BigInt(1e3),Op=BigInt(1e6),dl=BigInt(60),Ep=BigInt(90)*Vi;function pl(e){return e/Vi}function Rp(e){return pl(e)/dl}var an=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(t),o=BigInt(Date.now())+n+BigInt(r),s;return n<Ep?s=pl(o):s=Rp(o)*dl,new e(s*Vi*Op)}toBigInt(){return this.__expiry__}toHash(){return ne(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[is]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[is])try{let n=BigInt(r[is]);return new e(n)}catch(n){throw new W(new Dn(`Not a valid BigInt: ${n}`))}throw new W(new Dn(`The input does not contain the key ${is}`))}static isExpiry(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isExpiry"in t&&t._isExpiry===!0&&"__expiry__"in t&&typeof t.__expiry__=="bigint"}};function Di(e=Zn){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===Dt.Call&&(t.body.nonce=e())}}function as(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var ki=BigInt(0),cs=BigInt(1);function Ar(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function or(e,t,r=""){let n=ft(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,a=s?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return e}function fl(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?ki:BigInt("0x"+e)}function Ke(e){return fl(M(e))}function Ut(e){return le(e),fl(M(Uint8Array.from(e).reverse()))}function ge(e,t){return be(e.toString(16).padStart(t*2,"0"))}function Li(e,t){return ge(e,t).reverse()}function ie(e,t,r){let n;if(typeof t=="string")try{n=be(t)}catch(s){throw new Error(e+" must be hex string or Uint8Array, cause: "+s)}else if(ft(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function hl(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function qi(e){return Uint8Array.from(e)}var Ui=e=>typeof e=="bigint"&&ki<=e;function Mi(e,t,r){return Ui(e)&&Ui(t)&&Ui(r)&&t<=e&&e<r}function ls(e,t,r,n){if(!Mi(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function kt(e){let t;for(t=0;e>ki;e>>=cs,t+=1);return t}function ml(e,t){return e>>BigInt(t)&cs}var ut=e=>(cs<<BigInt(e))-cs;function _l(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function Lt(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,s,i){let a=e[o];if(i&&a===void 0)return;let c=typeof a;if(c!==s||a===null)throw new Error(`param "${o}" is invalid: expected ${s}, got ${c}`)}Object.entries(t).forEach(([o,s])=>n(o,s,!1)),Object.entries(r).forEach(([o,s])=>n(o,s,!0))}var cn=()=>{throw new Error("not implemented")};function sr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let s=e(r,...n);return t.set(r,s),s}}var Ce=BigInt(0),Te=BigInt(1),Sr=BigInt(2),gl=BigInt(3),xl=BigInt(4),bl=BigInt(5),vp=BigInt(7),wl=BigInt(8),Ip=BigInt(9),Tl=BigInt(16);function oe(e,t){let r=e%t;return r>=Ce?r:t+r}function dt(e,t,r){let n=e;for(;t-- >Ce;)n*=n,n%=r;return n}function yl(e,t){if(e===Ce)throw new Error("invert: expected non-zero number");if(t<=Ce)throw new Error("invert: expected positive modulus, got "+t);let r=oe(e,t),n=t,o=Ce,s=Te,i=Te,a=Ce;for(;r!==Ce;){let u=n/r,p=n%r,d=o-i*u,l=s-a*u;n=r,r=p,o=i,s=a,i=d,a=l}if(n!==Te)throw new Error("invert: does not exist");return oe(o,t)}function ji(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Nl(e,t){let r=(e.ORDER+Te)/xl,n=e.pow(t,r);return ji(e,n,t),n}function Ap(e,t){let r=(e.ORDER-bl)/wl,n=e.mul(t,Sr),o=e.pow(n,r),s=e.mul(t,o),i=e.mul(e.mul(s,Sr),o),a=e.mul(s,e.sub(i,e.ONE));return ji(e,a,t),a}function Sp(e){let t=Ve(e),r=Ol(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+vp)/Tl;return(a,c)=>{let u=a.pow(c,i),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,s),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);u=a.cmov(u,p,f),p=a.cmov(l,d,h);let m=a.eql(a.sqr(p),c),y=a.cmov(u,p,m);return ji(a,y,c),y}}function Ol(e){if(e<gl)throw new Error("sqrt is not defined for small field");let t=e-Te,r=0;for(;t%Sr===Ce;)t/=Sr,r++;let n=Sr,o=Ve(e);for(;Xn(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Nl;let s=o.pow(n,t),i=(t+Te)/Sr;return function(c,u){if(c.is0(u))return u;if(Xn(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,s),l=c.pow(u,t),f=c.pow(u,i);for(;!c.eql(l,c.ONE);){if(c.is0(l))return c.ZERO;let h=1,m=c.sqr(l);for(;!c.eql(m,c.ONE);)if(h++,m=c.sqr(m),h===p)throw new Error("Cannot find square root");let y=Te<<BigInt(p-h-1),_=c.pow(d,y);p=h,d=c.sqr(_),l=c.mul(l,d),f=c.mul(f,_)}return f}}function Fp(e){return e%xl===gl?Nl:e%wl===bl?Ap:e%Tl===Ip?Sp(e):Ol(e)}var qt=(e,t)=>(oe(e,t)&Te)===Te,Pp=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function us(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Pp.reduce((n,o)=>(n[o]="function",n),t);return Lt(e,r),e}function Qn(e,t,r){if(r<Ce)throw new Error("invalid exponent, negatives unsupported");if(r===Ce)return e.ONE;if(r===Te)return t;let n=e.ONE,o=t;for(;r>Ce;)r&Te&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Te;return n}function Je(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((i,a,c)=>e.is0(a)?i:(n[c]=i,e.mul(i,a)),e.ONE),s=e.inv(o);return t.reduceRight((i,a,c)=>e.is0(a)?i:(n[c]=e.mul(i,n[c]),e.mul(i,a)),s),n}function Xn(e,t){let r=(e.ORDER-Te)/Sr,n=e.pow(t,r),o=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),i=e.eql(n,e.neg(e.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function Ki(e,t){t!==void 0&&di(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Ve(e,t,r=!1,n={}){if(e<=Ce)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,s,i=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let l=t;l.BITS&&(o=l.BITS),l.sqrt&&(s=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(i=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(s=n.sqrt);let{nBitLength:c,nByteLength:u}=Ki(e,o);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,d=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:u,MASK:ut(c),ZERO:Ce,ONE:Te,allowedLengths:a,create:l=>oe(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return Ce<=l&&l<e},is0:l=>l===Ce,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Te)===Te,neg:l=>oe(-l,e),eql:(l,f)=>l===f,sqr:l=>oe(l*l,e),add:(l,f)=>oe(l+f,e),sub:(l,f)=>oe(l-f,e),mul:(l,f)=>oe(l*f,e),pow:(l,f)=>Qn(d,l,f),div:(l,f)=>oe(l*yl(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>yl(l,e),sqrt:s||(l=>(p||(p=Fp(e)),p(d,l))),toBytes:l=>r?Li(l,u):ge(l,u),fromBytes:(l,f=!0)=>{if(a){if(!a.includes(l.length)||l.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+l.length);let m=new Uint8Array(u);m.set(l,r?0:m.length-l.length),l=m}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?Ut(l):Ke(l);if(i&&(h=oe(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>Je(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function El(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function ds(e){let t=El(e);return t+Math.ceil(t/2)}function $i(e,t,r=!1){let n=e.length,o=El(t),s=ds(t);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);let i=r?Ut(e):Ke(e),a=oe(i,t-Te)+Te;return r?Li(a,o):ge(a,o)}var ln=BigInt(0),Fr=BigInt(1);function eo(e,t){let r=t.negate();return e?r:t}function Ze(e,t){let r=Je(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function Al(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Hi(e,t){Al(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,s=ut(e),i=BigInt(e);return{windows:r,windowSize:n,mask:s,maxNumber:o,shiftBy:i}}function Rl(e,t,r){let{windowSize:n,mask:o,maxNumber:s,shiftBy:i}=r,a=Number(e&o),c=e>>i;a>n&&(a-=s,c+=Fr);let u=t*n,p=u+Math.abs(a)-1,d=a===0,l=a<0,f=t%2!==0;return{nextN:c,offset:p,isZero:d,isNeg:l,isNegF:f,offsetF:u}}function Cp(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function Vp(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var Gi=new WeakMap,Sl=new WeakMap;function zi(e){return Sl.get(e)||1}function vl(e){if(e!==ln)throw new Error("invalid wNAF")}var un=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>ln;)r&Fr&&(n=n.add(o)),o=o.double(),r>>=Fr;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Hi(r,this.bits),s=[],i=t,a=i;for(let c=0;c<n;c++){a=i,s.push(a);for(let u=1;u<o;u++)a=a.add(i),s.push(a);i=a.double()}return s}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,s=this.BASE,i=Hi(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=Rl(n,a,i);n=c,p?s=s.add(eo(l,r[f])):o=o.add(eo(d,r[u]))}return vl(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=Hi(t,this.bits);for(let i=0;i<s.windows&&n!==ln;i++){let{nextN:a,offset:c,isZero:u,isNeg:p}=Rl(n,i,s);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return vl(n),o}getPrecomputes(t,r,n){let o=Gi.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Gi.set(r,o))),o}cached(t,r,n){let o=zi(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=zi(t);return s===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),r,o)}createCache(t,r){Al(r,this.bits),Sl.set(t,r),Gi.delete(t)}hasCache(t){return zi(t)!==1}};function Fl(e,t,r,n){let o=t,s=e.ZERO,i=e.ZERO;for(;r>ln||n>ln;)r&Fr&&(s=s.add(o)),n&Fr&&(i=i.add(o)),o=o.double(),r>>=Fr,n>>=Fr;return{p1:s,p2:i}}function dn(e,t,r,n){Cp(r,e),Vp(n,t);let o=r.length,s=n.length;if(o!==s)throw new Error("arrays of points and scalars must have equal length");let i=e.ZERO,a=kt(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=ut(c),p=new Array(Number(u)+1).fill(i),d=Math.floor((t.BITS-1)/c)*c,l=i;for(let f=d;f>=0;f-=c){p.fill(i);for(let m=0;m<s;m++){let y=n[m],_=Number(y>>BigInt(f)&u);p[_]=p[_].add(r[m])}let h=i;for(let m=p.length-1,y=i;m>0;m--)y=y.add(p[m]),h=h.add(y);if(l=l.add(h),f!==0)for(let m=0;m<c;m++)l=l.double()}return l}function Il(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return us(t),t}else return Ve(e,{isLE:r})}function ps(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>ln))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Il(t.p,r.Fp,n),s=Il(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:s}}var Dp=Ke;function ir(e,t){if(to(e),to(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function Up(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function to(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function Pl(e){if(!ft(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?Q(e):e}function kp(e,t,r,n){le(e),to(r),t=Pl(t),t.length>255&&(t=n(j(Q("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:s}=n,i=Math.ceil(r/o);if(r>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=j(t,ir(t.length,1)),c=ir(0,s),u=ir(r,2),p=new Array(i),d=n(j(c,e,u,ir(0,1),a));p[0]=n(j(d,ir(1,1),a));for(let f=1;f<=i;f++){let h=[Up(d,p[f-1]),ir(f+1,1),a];p[f]=n(j(...h))}return j(...p).slice(0,r)}function Lp(e,t,r,n,o){if(le(e),to(r),t=Pl(t),t.length>255){let s=Math.ceil(2*n/8);t=o.create({dkLen:s}).update(Q("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(e).update(ir(r,2)).update(t).update(ir(t.length,1)).digest()}function Wi(e,t,r){Lt(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:s,hash:i,expand:a,DST:c}=r;if(!_l(r.hash))throw new Error("expected valid hash");le(e),to(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*s*p,l;if(a==="xmd")l=kp(e,c,d,i);else if(a==="xof")l=Lp(e,c,d,o,i);else if(a==="_internal_pass")l=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let m=new Array(s);for(let y=0;y<s;y++){let _=p*(y+h*s),x=l.subarray(_,_+p);m[y]=oe(Dp(x),n)}f[h]=m}return f}function Yi(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[s,i,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=Je(e,[i,c],!0);return n=e.mul(s,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var qp=Q("HashToScalar-");function Ji(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(s){return e.fromAffine(t(s))}function o(s){let i=s.clearCofactor();return i.equals(e.ZERO)?e.ZERO:(i.assertValidity(),i)}return{defaults:r,hashToCurve(s,i){let a=Object.assign({},r,i),c=Wi(s,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(s,i){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,i),u=Wi(s,1,c),p=n(u[0]);return o(p)},mapToCurve(s){if(!Array.isArray(s))throw new Error("expected array of bigints");for(let i of s)if(typeof i!="bigint")throw new Error("expected array of bigints");return o(n(s))},hashToScalar(s,i){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:qp},i);return Wi(s,1,c)[0][0]}}}var Bl=(e,t)=>(e+(e>=0?t:-t)/Mt)/t;function Mp(e,t,r){let[[n,o],[s,i]]=t,a=Bl(i*e,r),c=Bl(-o*e,r),u=e-a*n-c*s,p=-a*o-c*i,d=u<Pr,l=p<Pr;d&&(u=-u),l&&(p=-p);let f=ut(Math.ceil(kt(r)/2))+De;if(u<Pr||u>=f||p<Pr||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Pr=BigInt(0),De=BigInt(1),Mt=BigInt(2),pn=BigInt(3),Zi=BigInt(4);function ro(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=ie("private key",t);try{n=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function jp(e,t={}){let r=ps("weierstrass",e,t),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i,n:a}=s;Lt(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Hp(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(A,b,N){let{x:F,y:V}=b.toAffine(),k=n.toBytes(F);if(Ar(N,"isCompressed"),N){p();let S=!n.isOdd(V);return j(Kp(S),k)}else return j(Uint8Array.of(4),k,n.toBytes(V))}function l(A){or(A,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,F=A.length,V=A[0],k=A.subarray(1);if(F===b&&(V===2||V===3)){let S=n.fromBytes(k);if(!n.isValid(S))throw new Error("bad point: is not on curve, wrong x");let B=m(S),C;try{C=n.sqrt(B)}catch(ee){let te=ee instanceof Error?": "+ee.message:"";throw new Error("bad point: is not on curve, sqrt error"+te)}p();let L=n.isOdd(C);return(V&1)===1!==L&&(C=n.neg(C)),{x:S,y:C}}else if(F===N&&V===4){let S=n.BYTES,B=n.fromBytes(k.subarray(0,S)),C=n.fromBytes(k.subarray(S,S*2));if(!y(B,C))throw new Error("bad point: is not on curve");return{x:B,y:C}}else throw new Error(`bad point: got length ${F}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function m(A){let b=n.sqr(A),N=n.mul(b,A);return n.add(n.add(N,n.mul(A,s.a)),s.b)}function y(A,b){let N=n.sqr(b),F=m(A);return n.eql(N,F)}if(!y(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let _=n.mul(n.pow(s.a,pn),Zi),x=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(_,x)))throw new Error("bad curve params: a or b");function g(A,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${A}`);return b}function T(A){if(!(A instanceof w))throw new Error("ProjectivePoint expected")}function O(A){if(!c||!c.basises)throw new Error("no endo");return Mp(A,c.basises,o.ORDER)}let E=sr((A,b)=>{let{X:N,Y:F,Z:V}=A;if(n.eql(V,n.ONE))return{x:N,y:F};let k=A.is0();b==null&&(b=k?n.ONE:n.inv(V));let S=n.mul(N,b),B=n.mul(F,b),C=n.mul(V,b);if(k)return{x:n.ZERO,y:n.ZERO};if(!n.eql(C,n.ONE))throw new Error("invZ was invalid");return{x:S,y:B}}),R=sr(A=>{if(A.is0()){if(t.allowInfinityPoint&&!n.is0(A.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=A.toAffine();if(!n.isValid(b)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!y(b,N))throw new Error("bad point: equation left != right");if(!A.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function I(A,b,N,F,V){return N=new w(n.mul(N.X,A),N.Y,N.Z),b=eo(F,b),N=eo(V,N),b.add(N)}class w{constructor(b,N,F){this.X=g("x",b),this.Y=g("y",N,!0),this.Z=g("z",F),Object.freeze(this)}static CURVE(){return s}static fromAffine(b){let{x:N,y:F}=b||{};if(!b||!n.isValid(N)||!n.isValid(F))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(F)?w.ZERO:new w(N,F,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(or(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(ie("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return P.createCache(this,b),N||this.multiply(pn),this}assertValidity(){R(this)}hasEvenY(){let{y:b}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(b)}equals(b){T(b);let{X:N,Y:F,Z:V}=this,{X:k,Y:S,Z:B}=b,C=n.eql(n.mul(N,B),n.mul(k,V)),L=n.eql(n.mul(F,B),n.mul(S,V));return C&&L}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=s,F=n.mul(N,pn),{X:V,Y:k,Z:S}=this,B=n.ZERO,C=n.ZERO,L=n.ZERO,D=n.mul(V,V),ee=n.mul(k,k),te=n.mul(S,S),z=n.mul(V,k);return z=n.add(z,z),L=n.mul(V,S),L=n.add(L,L),B=n.mul(b,L),C=n.mul(F,te),C=n.add(B,C),B=n.sub(ee,C),C=n.add(ee,C),C=n.mul(B,C),B=n.mul(z,B),L=n.mul(F,L),te=n.mul(b,te),z=n.sub(D,te),z=n.mul(b,z),z=n.add(z,L),L=n.add(D,D),D=n.add(L,D),D=n.add(D,te),D=n.mul(D,z),C=n.add(C,D),te=n.mul(k,S),te=n.add(te,te),D=n.mul(te,z),B=n.sub(B,D),L=n.mul(te,ee),L=n.add(L,L),L=n.add(L,L),new w(B,C,L)}add(b){T(b);let{X:N,Y:F,Z:V}=this,{X:k,Y:S,Z:B}=b,C=n.ZERO,L=n.ZERO,D=n.ZERO,ee=s.a,te=n.mul(s.b,pn),z=n.mul(N,k),Se=n.mul(F,S),fe=n.mul(V,B),pt=n.add(N,F),he=n.add(k,S);pt=n.mul(pt,he),he=n.add(z,Se),pt=n.sub(pt,he),he=n.add(N,V);let qe=n.add(k,B);return he=n.mul(he,qe),qe=n.add(z,fe),he=n.sub(he,qe),qe=n.add(F,V),C=n.add(S,B),qe=n.mul(qe,C),C=n.add(Se,fe),qe=n.sub(qe,C),D=n.mul(ee,he),C=n.mul(te,fe),D=n.add(C,D),C=n.sub(Se,D),D=n.add(Se,D),L=n.mul(C,D),Se=n.add(z,z),Se=n.add(Se,z),fe=n.mul(ee,fe),he=n.mul(te,he),Se=n.add(Se,fe),fe=n.sub(z,fe),fe=n.mul(ee,fe),he=n.add(he,fe),z=n.mul(Se,he),L=n.add(L,z),z=n.mul(qe,he),C=n.mul(pt,C),C=n.sub(C,z),z=n.mul(pt,Se),D=n.mul(qe,D),D=n.add(D,z),new w(C,L,D)}subtract(b){return this.add(b.negate())}is0(){return this.equals(w.ZERO)}multiply(b){let{endo:N}=t;if(!o.isValidNot0(b))throw new Error("invalid scalar: out of range");let F,V,k=S=>P.cached(this,S,B=>Ze(w,B));if(N){let{k1neg:S,k1:B,k2neg:C,k2:L}=O(b),{p:D,f:ee}=k(B),{p:te,f:z}=k(L);V=ee.add(z),F=I(N.beta,D,te,S,C)}else{let{p:S,f:B}=k(b);F=S,V=B}return Ze(w,[F,V])[0]}multiplyUnsafe(b){let{endo:N}=t,F=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Pr||F.is0())return w.ZERO;if(b===De)return F;if(P.hasCache(this))return this.multiply(b);if(N){let{k1neg:V,k1:k,k2neg:S,k2:B}=O(b),{p1:C,p2:L}=Fl(w,F,k,B);return I(N.beta,C,L,V,S)}else return P.unsafe(F,b)}multiplyAndAddUnsafe(b,N,F){let V=this.multiplyUnsafe(N).add(b.multiplyUnsafe(F));return V.is0()?void 0:V}toAffine(b){return E(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return i===De?!0:b?b(w,this):P.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return i===De?this:b?b(w,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(b=!0){return Ar(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return M(this.toBytes(b))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(b=!0){return this.toBytes(b)}_setWindowSize(b){this.precompute(b)}static normalizeZ(b){return Ze(w,b)}static msm(b,N){return dn(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(ro(o,b))}}w.BASE=new w(s.Gx,s.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let v=o.BITS,P=new un(w,t.endo?Math.ceil(v/2):v);return w.BASE.precompute(8),w}function Kp(e){return Uint8Array.of(e?2:3)}function $p(e,t){let r=e.ORDER,n=Pr;for(let h=r-De;h%Mt===Pr;h/=Mt)n+=De;let o=n,s=Mt<<o-De-De,i=s*Mt,a=(r-De)/i,c=(a-De)/Mt,u=i-De,p=s,d=e.pow(t,a),l=e.pow(t,(a+De)/Mt),f=(h,m)=>{let y=d,_=e.pow(m,u),x=e.sqr(_);x=e.mul(x,m);let g=e.mul(h,x);g=e.pow(g,c),g=e.mul(g,_),_=e.mul(g,m),x=e.mul(g,h);let T=e.mul(x,_);g=e.pow(T,p);let O=e.eql(g,e.ONE);_=e.mul(x,l),g=e.mul(T,y),x=e.cmov(_,x,O),T=e.cmov(g,T,O);for(let E=o;E>De;E--){let R=E-Mt;R=Mt<<R-De;let I=e.pow(T,R),w=e.eql(I,e.ONE);_=e.mul(x,y),y=e.mul(y,y),I=e.mul(T,y),x=e.cmov(_,x,w),T=e.cmov(I,T,w)}return{isValid:O,value:x}};if(e.ORDER%Zi===pn){let h=(e.ORDER-pn)/Zi,m=e.sqrt(e.neg(t));f=(y,_)=>{let x=e.sqr(_),g=e.mul(y,_);x=e.mul(x,g);let T=e.pow(x,h);T=e.mul(T,g);let O=e.mul(T,m),E=e.mul(e.sqr(T),_),R=e.eql(E,y),I=e.cmov(O,T,R);return{isValid:R,value:I}}}return f}function Xi(e,t){us(e);let{A:r,B:n,Z:o}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let s=$p(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return i=>{let a,c,u,p,d,l,f,h;a=e.sqr(i),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(u),l=e.sqr(p),d=e.mul(l,r),c=e.add(c,d),c=e.mul(c,u),l=e.mul(l,p),d=e.mul(l,n),c=e.add(c,d),f=e.mul(a,u);let{isValid:m,value:y}=s(c,l);h=e.mul(a,i),h=e.mul(h,y),f=e.cmov(f,u,m),h=e.cmov(h,y,m);let _=e.isOdd(i)===e.isOdd(h);h=e.cmov(e.neg(h),h,_);let x=Je(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function Hp(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Qi(e){let{CURVE:t,curveOpts:r}=Gp(e),n=jp(t,r);return Wp(e,n)}function Gp(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(i=>Math.ceil(i/2)))):void 0,o=Ve(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),s={Fp:r,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:s}}function zp(e,t,r){function n(o){let s=e.sqr(o),i=e.mul(s,o);return e.add(e.add(i,e.mul(o,t)),r)}return n}function Wp(e,t){let{Fp:r,Fn:n}=t;function o(i){return Mi(i,De,n.ORDER)}let s=zp(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:i=>ro(n,i),weierstrassEquation:s,isWithinCurveOrder:o})}var Yp=BigInt(0),fs=BigInt(1),Cl=BigInt(2),fn=BigInt(3);function Jp(e){let t=[];for(;e>fs;e>>=fs)(e&fs)===Yp?t.unshift(0):(e&fn)===fn?(t.unshift(-1),e+=fs):t.unshift(1);return t}function ea(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Zp(e,t,r,n){let{Fp2:o,Fp12:s}=e,{twistType:i,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(i==="multiplicative")p=(g,T,O,E,R,I)=>s.mul014(E,g,o.mul(T,R),o.mul(O,I));else if(i==="divisive")p=(g,T,O,E,R,I)=>s.mul034(E,o.mul(O,I),o.mul(T,R),g);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,Cl));function l(g,T,O,E){let R=o.sqr(O),I=o.sqr(E),w=o.mulByB(o.mul(I,fn)),v=o.mul(w,fn),P=o.sub(o.sub(o.sqr(o.add(O,E)),I),R),A=o.sub(w,R),b=o.mul(o.sqr(T),fn),N=o.neg(P);return g.push([A,b,N]),T=o.mul(o.mul(o.mul(o.sub(R,v),T),O),d),O=o.sub(o.sqr(o.mul(o.add(R,v),d)),o.mul(o.sqr(w),fn)),E=o.mul(R,P),{Rx:T,Ry:O,Rz:E}}function f(g,T,O,E,R,I){let w=o.sub(O,o.mul(I,E)),v=o.sub(T,o.mul(R,E)),P=o.sub(o.mul(w,R),o.mul(v,I)),A=o.neg(w),b=v;g.push([P,A,b]);let N=o.sqr(v),F=o.mul(N,v),V=o.mul(N,T),k=o.add(o.sub(F,o.mul(V,Cl)),o.mul(o.sqr(w),E));return T=o.mul(v,k),O=o.sub(o.mul(o.sub(V,k),w),o.mul(F,O)),E=o.mul(E,F),{Rx:T,Ry:O,Rz:E}}let h=Jp(a),m=sr(g=>{let T=g,{x:O,y:E}=T.toAffine(),R=O,I=E,w=o.neg(E),v=R,P=I,A=o.ONE,b=[];for(let N of h){let F=[];({Rx:v,Ry:P,Rz:A}=l(F,v,P,A)),N&&({Rx:v,Ry:P,Rz:A}=f(F,v,P,A,R,N===-1?w:I)),b.push(F)}if(u){let N=b[b.length-1];u(v,P,A,R,I,f.bind(null,N))}return b});function y(g,T=!1){let O=s.ONE;if(g.length){let E=g[0][0].length;for(let R=0;R<E;R++){O=s.sqr(O);for(let[I,w,v]of g)for(let[P,A,b]of I[R])O=p(P,A,b,O,w,v)}}return c&&(O=s.conjugate(O)),T?s.finalExponentiate(O):O}function _(g,T=!0){let O=[];Ze(t,g.map(({g1:E})=>E)),Ze(r,g.map(({g2:E})=>E));for(let{g1:E,g2:R}of g){if(E.is0()||R.is0())throw new Error("pairing is not available for ZERO point");E.assertValidity(),R.assertValidity();let I=E.toAffine();O.push([m(R),I.x,I.y])}return y(O,T)}function x(g,T,O=!0){return _([{g1:g,g2:T}],O)}return{Fp12:s,millerLoopBatch:y,pairing:x,pairingBatch:_,calcPairingPrecomputes:m}}function Vl(e,t,r,n,o){let{Fp12:s,pairingBatch:i}=e;function a(d){return d instanceof t.Point?d:t.Point.fromHex(d)}function c(d){return d instanceof r.Point?d:r.Point.fromHex(d)}function u(d){if(!(d instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return d}let p=o?(d,l)=>({g1:l,g2:d}):(d,l)=>({g1:d,g2:l});return{getPublicKey(d){let l=ro(t.Point.Fn,d);return t.Point.BASE.multiply(l)},sign(d,l,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=ro(t.Point.Fn,l);return u(d).assertValidity(),d.multiply(h)},verify(d,l,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let m=f.negate(),y=t.Point.BASE,_=u(l),x=d,g=i([p(m,_),p(y,x)]);return s.eql(g,s.ONE)},verifyBatch(d,l,f){if(ea(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),m=l,y=f.map(a),_=new Map;for(let T=0;T<y.length;T++){let O=y[T],E=m[T],R=_.get(E);R===void 0&&(R=[],_.set(E,R)),R.push(O)}let x=[],g=t.Point.BASE;try{for(let[T,O]of _){let E=O.reduce((R,I)=>R.add(I));x.push(p(E,T))}return x.push(p(g.negate(),h)),s.eql(i(x),s.ONE)}catch{return!1}},aggregatePublicKeys(d){ea(d),d=d.map(f=>a(f));let l=d.reduce((f,h)=>f.add(h),t.Point.ZERO);return l.assertValidity(),l},aggregateSignatures(d){ea(d),d=d.map(f=>c(f));let l=d.reduce((f,h)=>f.add(h),r.Point.ZERO);return l.assertValidity(),l},hash(d,l){le(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function Dl(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:s}=e.fields,i=Qi(e.G1),a=Object.assign(i,Ji(i.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Qi(e.G2),u=Object.assign(c,Ji(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Zp(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,m=Vl(p,a,u,e.G2.Signature,!1),y=Vl(p,u,a,e.G1.ShortSignature,!0),_=e.randomBytes||Gr,x=()=>{let S=ds(r.ORDER);return $i(_(S),r.ORDER)},g={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:O}=e.G2;function E(S,B){return S instanceof a.Point?S:y.hash(ie("point",S),B?.DST)}function R(S,B){return S instanceof u.Point?S:m.hash(ie("point",S),B?.DST)}function I(S){return m.getPublicKey(S).toBytes(!0)}function w(S){return y.getPublicKey(S).toBytes(!0)}function v(S,B,C){let L=R(S,C),D=m.sign(L,B);return S instanceof u.Point?D:O.toBytes(D)}function P(S,B,C){let L=E(S,C),D=y.sign(L,B);return S instanceof a.Point?D:T.toBytes(D)}function A(S,B,C,L){let D=R(B,L);return m.verify(S,D,C)}function b(S,B,C,L){let D=E(B,L);return y.verify(S,D,C)}function N(S){let B=m.aggregatePublicKeys(S);return S[0]instanceof a.Point?B:B.toBytes(!0)}function F(S){let B=m.aggregateSignatures(S);return S[0]instanceof u.Point?B:O.toBytes(B)}function V(S){let B=y.aggregateSignatures(S);return S[0]instanceof a.Point?B:T.toBytes(B)}function k(S,B,C,L){let D=B.map(ee=>R(ee,L));return m.verifyBatch(S,D,C)}return a.Point.BASE.precompute(4),{longSignatures:m,shortSignatures:y,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:k,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:s},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:g,getPublicKey:I,getPublicKeyForShortSignatures:w,sign:v,signShortSignature:P,verify:A,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:F,aggregateShortSignatures:V,G1:a,G2:u,Signature:O,ShortSignature:T}}var Ul=BigInt(0),jt=BigInt(1),Ue=BigInt(2),kl=BigInt(3);function oa(e,t,r,n,o=1,s){let i=BigInt(s===void 0?n:s),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=jt;l<n;l++){let h=(p*f-p)/i%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function ql(e,t,r){let n=t.pow(r,(e.ORDER-jt)/kl),o=t.pow(r,(e.ORDER-jt)/Ue);function s(l,f){let h=t.mul(t.frobeniusMap(l,1),n),m=t.mul(t.frobeniusMap(f,1),o);return[h,m]}let i=t.pow(r,(e.ORDER**Ue-jt)/kl),a=t.pow(r,(e.ORDER**Ue-jt)/Ue);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,i),t.neg(f)]}let u=l=>(f,h)=>{let m=h.toAffine(),y=l(m.x,m.y);return f.fromAffine({x:y[0],y:y[1]})},p=u(s),d=u(c);return{psi:s,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:i,PSI2_Y:a}}var Ll=(e,t)=>{if(t.length!==2)throw new Error("invalid tuple");let r=t.map(n=>e.create(n));return{c0:r[0],c1:r[1]}},ta=class{constructor(t,r={}){this.MASK=jt;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=kt(o),this.BYTES=Math.ceil(kt(o)/8),this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.Fp_NONRESIDUE=t.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=t.div(t.ONE,Ue),this.NONRESIDUE=Ll(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=oa(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Ll(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,s){return typeof o=="bigint"&&Ul<=o&&o<s}return n(t,this.ORDER)&&n(r,this.ORDER)}is0({c0:t,c1:r}){return this.Fp.is0(t)&&this.Fp.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}eql({c0:t,c1:r},{c0:n,c1:o}){return this.Fp.eql(t,n)&&this.Fp.eql(r,o)}neg({c0:t,c1:r}){return{c0:this.Fp.neg(t),c1:this.Fp.neg(r)}}pow(t,r){return Qn(this,t,r)}invertBatch(t){return Je(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:s,c1:i}=r;return{c0:this.Fp.add(n,s),c1:this.Fp.add(o,i)}}sub({c0:t,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(t,n),c1:this.Fp.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:s,c1:i}=n,a=o.mul(t,s),c=o.mul(r,i),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(s,i)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),s=n.sub(t,r),i=n.add(t,t);return{c0:n.mul(o,s),c1:n.mul(i,r)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}div(t,r){let{Fp:n}=this;return this.mul(t,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:t,c1:r}){let{Fp:n}=this,o=n.inv(n.create(t*t+r*r));return{c0:n.mul(o,n.create(t)),c1:n.mul(o,n.create(-r))}}sqrt(t){let{Fp:r}=this,n=this,{c0:o,c1:s}=t;if(r.is0(s))return Xn(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let i=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(s),this.Fp_NONRESIDUE))),a=r.mul(r.add(i,o),this.Fp_div2);Xn(r,a)===-1&&(a=r.sub(a,i));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(s,this.Fp_div2),u)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,l=n.neg(d),{re:f,im:h}=n.reim(d),{re:m,im:y}=n.reim(l);return h>y||h===y&&f>m?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%Ue,s=r===Ul,i=n%Ue;return BigInt(o||s&&i)==jt}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return j(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},s){return{c0:this.Fp.cmov(t,n,s),c1:this.Fp.cmov(r,o,s)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),s=n.sqr(r);return{first:n.add(n.mulByNonresidue(s),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),s)}}mulByNonresidue({c0:t,c1:r}){return this.mul({c0:t,c1:r},this.NONRESIDUE)}frobeniusMap({c0:t,c1:r},n){return{c0:t,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},ra=class{constructor(t){this.MASK=jt,this.Fp2=t,this.ORDER=t.ORDER,this.BITS=3*t.BITS,this.BYTES=3*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO,c2:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO,c2:t.ZERO};let{Fp:r}=t,n=oa(t,t.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:t,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,s),c2:a.add(n,i)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,s),c2:a.sub(n,i)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:s}=this;if(typeof o=="bigint")return{c0:s.mul(t,o),c1:s.mul(r,o),c2:s.mul(n,o)};let{c0:i,c1:a,c2:c}=o,u=s.mul(t,i),p=s.mul(r,a),d=s.mul(n,c);return{c0:s.add(u,s.mulByNonresidue(s.sub(s.mul(s.add(r,n),s.add(a,c)),s.add(p,d)))),c1:s.add(s.sub(s.mul(s.add(t,r),s.add(i,a)),s.add(u,p)),s.mulByNonresidue(d)),c2:s.sub(s.add(p,s.mul(s.add(t,n),s.add(i,c))),s.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,s=o.sqr(t),i=o.mul(o.mul(t,r),Ue),a=o.mul(o.mul(r,n),Ue),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),s),c1:o.add(o.mulByNonresidue(c),i),c2:o.sub(o.sub(o.add(o.add(i,o.sqr(o.add(o.sub(t,r),n))),a),s),c)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}create(t){return t}isValid({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(t)&&o.isValid(r)&&o.isValid(n)}is0({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(t)&&o.is0(r)&&o.is0(n)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(t),c1:o.neg(r),c2:o.neg(n)}}eql({c0:t,c1:r,c2:n},{c0:o,c1:s,c2:i}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,s)&&a.eql(n,i)}sqrt(t){return cn()}div(t,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(t,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(t,r){return Qn(this,t,r)}invertBatch(t){return Je(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,s=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),i=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(t,r)),a=o.sub(o.sqr(r),o.mul(t,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,i),o.mul(r,a))),o.mul(t,s)));return{c0:o.mul(c,s),c1:o.mul(c,i),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return j(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:s,c2:i},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,s,a),c2:c.cmov(n,i,a)}}fromBigSix(t){let{Fp2:r}=this;if(!Array.isArray(t)||t.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(t.slice(0,2)),c1:r.fromBigTuple(t.slice(2,4)),c2:r.fromBigTuple(t.slice(4,6))}}frobeniusMap({c0:t,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.frobeniusMap(t,o),c1:s.mul(s.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:s.mul(s.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mul(t,o),c1:s.mul(r,o),c2:s.mul(n,o)}}mulByNonresidue({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:t,c2:r}}mul1({c0:t,c1:r,c2:n},o){let{Fp2:s}=this;return{c0:s.mulByNonresidue(s.mul(n,o)),c1:s.mul(t,o),c2:s.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,s){let{Fp2:i}=this,a=i.mul(t,o),c=i.mul(r,s);return{c0:i.add(i.mulByNonresidue(i.sub(i.mul(i.add(r,n),s),c)),a),c1:i.sub(i.sub(i.mul(i.add(o,s),i.add(t,r)),a),c),c2:i.add(i.sub(i.mul(i.add(t,n),o),a),c)}}},na=class{constructor(t,r){this.MASK=jt;let{Fp2:n}=t,{Fp:o}=n;this.Fp6=t,this.ORDER=n.ORDER,this.BITS=2*t.BITS,this.BYTES=2*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.FROBENIUS_COEFFICIENTS=oa(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(t){return t}isValid({c0:t,c1:r}){let{Fp6:n}=this;return n.isValid(t)&&n.isValid(r)}is0({c0:t,c1:r}){let{Fp6:n}=this;return n.is0(t)&&n.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r}){let{Fp6:n}=this;return{c0:n.neg(t),c1:n.neg(r)}}eql({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return s.eql(t,n)&&s.eql(r,o)}sqrt(t){cn()}inv({c0:t,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(t),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(t,o),c1:n.neg(n.mul(r,o))}}div(t,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:s}=o;return this.mul(t,typeof r=="bigint"?s.inv(s.create(r)):this.inv(r))}pow(t,r){return Qn(this,t,r)}invertBatch(t){return Je(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.add(t,n),c1:s.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:s}=this;return{c0:s.sub(t,n),c1:s.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:s,c1:i}=n,a=o.mul(t,s),c=o.mul(r,i);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(s,i)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return j(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},s){let{Fp6:i}=this;return{c0:i.cmov(t,n,s),c1:i.cmov(r,o,s)}}fromBigTwelve(t){let{Fp6:r}=this;return{c0:r.fromBigSix(t.slice(0,6)),c1:r.fromBigSix(t.slice(6,12))}}frobeniusMap(t,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=n.frobeniusMap(t.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(t.c0,r),c1:n.create({c0:o.mul(s,c),c1:o.mul(i,c),c2:o.mul(a,c)})}}mulByFp2({c0:t,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(t,n),c1:o.mulByFp2(r,n)}}conjugate({c0:t,c1:r}){return{c0:t,c1:this.Fp6.neg(r)}}mul014({c0:t,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.mul01(t,n,o),u=i.mul1(r,s);return{c0:i.add(i.mulByNonresidue(u),c),c1:i.sub(i.sub(i.mul01(i.add(r,t),n,a.add(o,s)),c),u)}}mul034({c0:t,c1:r},n,o,s){let{Fp6:i}=this,{Fp2:a}=i,c=i.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=i.mul01(r,o,s),p=i.mul01(i.add(t,r),a.add(n,o),s);return{c0:i.add(i.mulByNonresidue(u),c),c1:i.sub(p,i.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:s,c1:i,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(s,u),{first:f,second:h}=o.Fp4Square(c,a),{first:m,second:y}=o.Fp4Square(i,p),_=o.mulByNonresidue(y);return{c0:n.create({c0:o.add(o.mul(o.sub(d,s),Ue),d),c1:o.add(o.mul(o.sub(f,i),Ue),f),c2:o.add(o.mul(o.sub(m,a),Ue),m)}),c1:n.create({c0:o.add(o.mul(o.add(_,c),Ue),_),c1:o.add(o.mul(o.add(l,u),Ue),l),c2:o.add(o.mul(o.add(h,p),Ue),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),ml(r,o)&&(n=this.mul(n,t));return n}};function Ml(e){let t=Ve(e.ORDER),r=new ta(t,e),n=new ra(r),o=new na(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ie=BigInt(0),hs=BigInt(1),Xe=BigInt(2),ms=BigInt(3),no=BigInt(4),ar=BigInt("0xd201000000010000"),Xp=kt(ar),Br={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ie,b:no,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Qp=Ve(Br.n,{modFromBytes:!0,isLE:!0}),{Fp:U,Fp2:G,Fp6:ef,Fp12:J}=Ml({ORDER:Br.p,X_LEN:Xp,FP2_NONRESIDUE:[hs,hs],Fp2mulByB:({c0:e,c1:t})=>{let r=U.mul(e,no),n=U.mul(t,no);return{c0:U.sub(r,n),c1:U.add(r,n)}},Fp12finalExponentiate:e=>{let t=ar,r=J.div(J.frobeniusMap(e,6),e),n=J.mul(J.frobeniusMap(r,2),r),o=J.conjugate(J._cyclotomicExp(n,t)),s=J.mul(J.conjugate(J._cyclotomicSquare(n)),o),i=J.conjugate(J._cyclotomicExp(s,t)),a=J.conjugate(J._cyclotomicExp(i,t)),c=J.mul(J.conjugate(J._cyclotomicExp(a,t)),J._cyclotomicSquare(o)),u=J.conjugate(J._cyclotomicExp(c,t)),p=J.frobeniusMap(J.mul(o,a),2),d=J.frobeniusMap(J.mul(i,n),3),l=J.frobeniusMap(J.mul(c,J.conjugate(n)),1),f=J.mul(J.mul(u,J.conjugate(s)),n);return J.mul(J.mul(J.mul(p,d),l),f)}}),{G2psi:jl,G2psi2:tf}=ql(U,G,G.div(G.ONE,G.NONRESIDUE)),sa=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:U.ORDER,m:2,k:128,expand:"xmd",hash:ve}),ca={p:G.ORDER,n:Br.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:G.ZERO,b:G.fromBigTuple([no,no]),Gx:G.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:G.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},_s=oo(U.toBytes(Ie),{infinity:!0,compressed:!0});function ys(e){e=e.slice();let t=e[0]&224,r=!!(t>>7&1),n=!!(t>>6&1),o=!!(t>>5&1);return e[0]&=31,{compressed:r,infinity:n,sort:o,value:e}}function oo(e,t){if(e[0]&224)throw new Error("setMask: non-empty mask");return t.compressed&&(e[0]|=128),t.infinity&&(e[0]|=64),t.sort&&(e[0]|=32),e}function rf(e,t,r){let{BYTES:n,ORDER:o}=U,s=t.is0(),{x:i,y:a}=t.toAffine();if(r){if(s)return _s.slice();let c=!!(a*Xe/o);return oo(ge(i,n),{compressed:!0,sort:c})}else return s?j(Uint8Array.of(64),new Uint8Array(2*n-1)):j(ge(i,n),ge(a,n))}function ia(e){e.assertValidity();let{BYTES:t,ORDER:r}=U,{x:n,y:o}=e.toAffine();if(e.is0())return _s.slice();let s=!!(o*Xe/r);return oo(ge(n,t),{compressed:!0,sort:s})}function nf(e){let{compressed:t,infinity:r,sort:n,value:o}=ys(e),{BYTES:s,ORDER:i}=U;if(o.length===48&&t){let a=Ke(o),c=U.create(a&ut(U.BITS));if(r){if(c!==Ie)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Ie,y:Ie}}let u=U.add(U.pow(c,ms),U.create(Br.b)),p=U.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*Xe/i!==BigInt(n)&&(p=U.neg(p)),{x:U.create(c),y:U.create(p)}}else if(o.length===96&&!t){let a=Ke(o.subarray(0,s)),c=Ke(o.subarray(s));if(r){if(a!==Ie||c!==Ie)throw new Error("G1: non-empty point at infinity");return so.G1.Point.ZERO.toAffine()}return{x:U.create(a),y:U.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Kl(e){let{infinity:t,sort:r,value:n}=ys(ie("signatureHex",e,48)),o=U.ORDER,s=so.G1.Point,i=Ke(n);if(t)return s.ZERO;let a=U.create(i&ut(U.BITS)),c=U.add(U.pow(a,ms),U.create(Br.b)),u=U.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*Xe/o!==p&&(u=U.neg(u));let d=s.fromAffine({x:a,y:u});return d.assertValidity(),d}function of(e,t,r){let{BYTES:n,ORDER:o}=U,s=t.is0(),{x:i,y:a}=t.toAffine();if(r){if(s)return j(_s,ge(Ie,n));let c=!!(a.c1===Ie?a.c0*Xe/o:a.c1*Xe/o);return j(oo(ge(i.c1,n),{compressed:!0,sort:c}),ge(i.c0,n))}else{if(s)return j(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=G.reim(i),{re:p,im:d}=G.reim(a);return j(ge(u,n),ge(c,n),ge(d,n),ge(p,n))}}function aa(e){e.assertValidity();let{BYTES:t}=U;if(e.is0())return j(_s,ge(Ie,t));let{x:r,y:n}=e.toAffine(),{re:o,im:s}=G.reim(r),{re:i,im:a}=G.reim(n),u=!!((a>Ie?a*Xe:i*Xe)/U.ORDER&hs),p=o;return j(oo(ge(s,t),{sort:u,compressed:!0}),ge(p,t))}function sf(e){let{BYTES:t,ORDER:r}=U,{compressed:n,infinity:o,sort:s,value:i}=ys(e);if(!n&&!o&&s||!n&&o&&s||s&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>Ke(c.slice(u,p));if(i.length===96&&n){if(o){if(i.reduce((h,m)=>h!==0?m+1:m,0)>0)throw new Error("invalid G2 point: compressed");return{x:G.ZERO,y:G.ZERO}}let c=a(i,0,t),u=a(i,t,2*t),p=G.create({c0:U.create(u),c1:U.create(c)}),d=G.add(G.pow(p,ms),ca.b),l=G.sqrt(d),f=l.c1===Ie?l.c0*Xe/r:l.c1*Xe/r?hs:Ie;return l=s&&f>0?l:G.neg(l),{x:p,y:l}}else if(i.length===192&&!n){if(o){if(i.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:G.ZERO,y:G.ZERO}}let c=a(i,0*t,1*t),u=a(i,1*t,2*t),p=a(i,2*t,3*t),d=a(i,3*t,4*t);return{x:G.fromBigTuple([u,c]),y:G.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function $l(e){let{ORDER:t}=U,{infinity:r,sort:n,value:o}=ys(ie("signatureHex",e)),s=so.G2.Point,i=o.length/2;if(i!==48&&i!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Ke(o.slice(0,i)),c=Ke(o.slice(i));if(r)return s.ZERO;let u=U.create(a&ut(U.BITS)),p=U.create(c),d=G.create({c0:p,c1:u}),l=G.add(G.pow(d,ms),ca.b),f=G.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:m}=G.reim(f),y=BigInt(n),_=m>Ie&&m*Xe/t!==y,x=m===Ie&&h*Xe/t!==y;(_||x)&&(f=G.neg(f));let g=s.fromAffine({x:d,y:f});return g.assertValidity(),g}var so=Dl({fields:{Fp:U,Fp2:G,Fp6:ef,Fp12:J,Fr:Qp},G1:{...Br,Fp:U,htfDefaults:{...sa,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(e,t)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new e(U.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(ar).negate().multiplyUnsafe(ar).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(ar).add(t),mapToCurve:df,fromBytes:nf,toBytes:rf,ShortSignature:{fromBytes(e){return le(e),Kl(e)},fromHex(e){return Kl(e)},toBytes(e){return ia(e)},toRawBytes(e){return ia(e)},toHex(e){return M(ia(e))}}},G2:{...ca,Fp:G,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...sa},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:pf,isTorsionFree:(e,t)=>t.multiplyUnsafe(ar).negate().equals(jl(e,t)),clearCofactor:(e,t)=>{let r=ar,n=t.multiplyUnsafe(r).negate(),o=jl(e,t),s=t.double();return s=tf(e,s),s=s.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),s=s.add(o),s=s.subtract(n),s.subtract(t)},fromBytes:sf,toBytes:of,Signature:{fromBytes(e){return le(e),$l(e)},fromHex(e){return $l(e)},toBytes(e){return aa(e)},toRawBytes(e){return aa(e)},toHex(e){return M(aa(e))}}},params:{ateLoopSize:ar,r:Br.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:sa,hash:ve}),af=Yi(G,[[["0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6"],["0x0","0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71a"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71e","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38d"],["0x171d6541fa38ccfaed6dea691f5fb614cb14b4e7f4e810aa22d6108f142b85757098e38d0f671c7188e2aaaaaaaa5ed1","0x0"]],[["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa63"],["0xc","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa9f"],["0x1","0x0"]],[["0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706","0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706"],["0x0","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97be"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71c","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38f"],["0x124c9ad43b6cf79bfbf7043de3811ad0761b0f37a1e26286b0e977c69aa274524e79097a56dc4bd9e1b371c71c718b10","0x0"]],[["0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb"],["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa9d3"],["0x12","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa99"],["0x1","0x0"]]].map(e=>e.map(t=>G.fromBigTuple(t.map(BigInt))))),cf=Yi(U,[["0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7","0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb","0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0","0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861","0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9","0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983","0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84","0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e","0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317","0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e","0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b","0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229"],["0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c","0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff","0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19","0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8","0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e","0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5","0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a","0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e","0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641","0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"],["0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33","0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696","0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6","0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb","0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb","0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0","0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2","0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29","0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587","0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30","0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132","0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e","0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8","0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133","0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b","0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604"],["0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1","0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d","0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2","0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416","0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d","0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac","0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c","0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9","0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a","0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55","0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8","0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092","0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc","0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7","0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),lf=Xi(U,{A:U.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:U.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:U.create(BigInt(11))}),uf=Xi(G,{A:G.create({c0:U.create(Ie),c1:U.create(BigInt(240))}),B:G.create({c0:U.create(BigInt(1012)),c1:U.create(BigInt(1012))}),Z:G.create({c0:U.create(BigInt(-2)),c1:U.create(BigInt(-1))})});function df(e){let{x:t,y:r}=lf(U.create(e[0]));return cf(t,r)}function pf(e){let{x:t,y:r}=uf(G.fromBigTuple(e));return af(t,r)}function Hl(e,t,r){let n=typeof e=="string"?e:M(e),o=typeof t=="string"?t:M(t),s=typeof r=="string"?r:M(r);return so.verifyShortSignature(o,s,n)}var hf=BigInt(1e6),la=e=>de(new st(e)),hn=e=>{let r=la(e)/hf;return new Date(Number(r))};var Gl=60*1e3,mf=60,_f=24,yf=_f*mf,gf=5,xf=5,bf=30*yf,Re;(function(e){e[e.Empty=0]="Empty",e[e.Fork=1]="Fork",e[e.Labeled=2]="Labeled",e[e.Leaf=3]="Leaf",e[e.Pruned=4]="Pruned"})(Re||(Re={}));function wf(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var cr=class e{#e=!1;#t=void 0;static async create(t){let r=e.createUnverified(t);return await r.verify(),r}static createUnverified(t){return new e(t.certificate,t.rootKey,t.canisterId,t.blsVerify??Hl,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,s=gf,i=!1,a){this._rootKey=r,this._canisterId=n,this._blsVerify=o,this._maxAgeInMinutes=s,this.#e=i,this.cert=je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&(this.#t=a)}lookup_path(t){return Vr(t,this.cert.tree)}lookup_subtree(t){return bs(t,this.cert.tree)}async verify(){let t=await gs(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=Nf(r),s=j(ao("ic-state-root"),t),i=Ae(this.lookup_path(["time"]));if(!i)throw re.fromCode(new Zt("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Gl,u=new Date,p=u.getTime()+a,d=p-c,l=p+xf*Gl,f=hn(i),h=f.getTime()<d,m=f.getTime()>l;if((h||m)&&this.#t&&!this.#t.hasSyncedTime())return await this.#t.syncTime(this._canisterId),await this.verify();if(h)throw Fe.fromCode(new xr(this._maxAgeInMinutes,f,u,a,"past"));if(m)throw this.#t?.hasSyncedTime()?me.fromCode(new Pe("System time has been synced with the IC network, but certificate is still too far in the future.")):Fe.fromCode(new xr(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,s))throw Fe.fromCode(new Zt("Invalid signature"))}catch(a){throw Fe.fromCode(new Zt("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,canisterId:this._canisterId,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:bf,agent:this.#t});if(r.cert.delegation)throw re.fromCode(new Fo);await r.verify();let n=t.subnet_id,o=q.fromUint8Array(n);if(!ua({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw Fe.fromCode(new zr(this._canisterId,o));let i=Ae(r.lookup_path(["subnet",n,"public_key"]));if(!i)throw Fe.fromCode(new Po(`Could not find subnet key for subnet ID ${o.toText()}`));return i}},io=be("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),Tf=96;function Nf(e){let t=io.byteLength+Tf;if(e.byteLength!==t)throw re.fromCode(new Yr(t,e.byteLength));let r=e.slice(0,io.byteLength);if(!Rr(r,io))throw re.fromCode(new Bo(io,r));return e.slice(io.byteLength)}function Ae(e){if(e.status===$e.Found&&e.value instanceof Uint8Array)return e.value}async function gs(e){switch(e[0]){case Re.Empty:return ve(ao("ic-hashtree-empty"));case Re.Pruned:return e[1];case Re.Leaf:return ve(j(ao("ic-hashtree-leaf"),e[1]));case Re.Labeled:return ve(j(ao("ic-hashtree-labeled"),e[1],await gs(e[2])));case Re.Fork:return ve(j(ao("ic-hashtree-fork"),await gs(e[1]),await gs(e[2])));default:throw er}}function ao(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return j(t,r)}function zl(e){return typeof e[0]=="string"?Q(e[0]):e[0]}var $e;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})($e||($e={}));var Cr;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(Cr||(Cr={}));var se;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(se||(se={}));function Vr(e,t){if(e.length===0)switch(t[0]){case Re.Empty:return{status:$e.Absent};case Re.Leaf:{if(!t[1])throw me.fromCode(new Qt("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:$e.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw er}case Re.Pruned:return{status:$e.Unknown};case Re.Labeled:case Re.Fork:return{status:$e.Error};default:throw er}let r=zl(e),n=co(r,t);switch(n.status){case se.Found:return Vr(e.slice(1),n.value);case se.Absent:case se.Greater:case se.Less:return{status:$e.Absent};case se.Unknown:return{status:$e.Unknown};default:throw er}}function bs(e,t){if(e.length===0)return{status:Cr.Found,value:t};let r=zl(e),n=co(r,t);switch(n.status){case se.Found:return bs(e.slice(1),n.value);case se.Unknown:return{status:Cr.Unknown};case se.Absent:case se.Greater:case se.Less:return{status:Cr.Absent};default:throw er}}function xs(e){switch(e[0]){case Re.Empty:return[];case Re.Fork:return xs(e[1]).concat(xs(e[2]));default:return[e]}}function co(e,t){switch(t[0]){case Re.Labeled:return wf(e,t[1])?{status:se.Greater}:Rr(e,t[1])?{status:se.Found,value:t[2]}:{status:se.Less};case Re.Fork:{let r=co(e,t[1]);switch(r.status){case se.Greater:{let n=co(e,t[2]);return n.status===se.Less?{status:se.Absent}:n}case se.Unknown:{let n=co(e,t[2]);return n.status===se.Less?{status:se.Unknown}:n}default:return r}}case Re.Pruned:return{status:se.Unknown};default:return{status:se.Absent}}}function ua(e){let{canisterId:t,subnetId:r,tree:n}=e,o=Vr(["subnet",r.toUint8Array(),"canister_ranges"],n);if(o.status!==$e.Found)throw re.fromCode(new St(`Could not find canister ranges for subnet ${r.toText()}`,o.status));if(!(o.value instanceof Uint8Array))throw re.fromCode(new Wr(`Could not find canister ranges for subnet ${r.toText()}`));return je(o.value).map(c=>[q.fromUint8Array(c[0]),q.fromUint8Array(c[1])]).some(c=>c[0].ltEq(t)&&c[1].gtEq(t))}var da=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=q.from(e.canisterId),s=[...new Set(r)],i=new Map,a=s.map((c,u)=>{let p=Ef(c,o);return(async()=>{try{if(t.rootKey===null)throw we.fromCode(new mt);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await cr.create({certificate:l.certificate,rootKey:d,canisterId:o,disableTimeVerification:n,agent:t}),h=(_,x)=>{if(x==="subnet"){let g=Of(l.certificate,o,d);return{path:x,data:g}}else return{path:x,data:Ae(_.lookup_path(p))}},{path:m,data:y}=h(f,s[u]);if(!y)console.warn(`Expected to find result for path ${m}, but instead found nothing.`),typeof m=="string"?i.set(m,null):i.set(m.key,null);else switch(m){case"time":{i.set(m,hn(y));break}case"controllers":{i.set(m,Rf(y));break}case"module_hash":{i.set(m,M(y));break}case"subnet":{i.set(m,y);break}case"candid":{i.set(m,new TextDecoder().decode(y));break}default:if(typeof m!="string"&&"key"in m&&"path"in m)switch(m.decodeStrategy){case"raw":i.set(m.key,y);break;case"leb128":{i.set(m.key,la(y));break}case"cbor":{i.set(m.key,je(y));break}case"hex":{i.set(m.key,M(y));break}case"utf-8":i.set(m.key,new TextDecoder().decode(y))}}}catch(d){if(d instanceof nt&&(d.hasCode(Zt)||d.hasCode(xr)))throw d;typeof c!="string"&&"key"in c&&"path"in c?i.set(c.key,null):i.set(c,null),console.group(),console.warn(`Expected to find result for path ${c}, but instead found nothing.`),console.warn(d),console.groupEnd()}})()});return await Promise.all(a),i},Of=(e,t,r)=>{if(!t._isPrincipal)throw W.fromCode(new Pe("Invalid canisterId"));let n=je(e),o=n.tree,s=n.delegation,i;if(s&&s.subnet_id?i=q.fromUint8Array(new Uint8Array(s.subnet_id)):!s&&typeof r<"u"?(i=q.selfAuthenticating(new Uint8Array(r)),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}):(i=q.selfAuthenticating(q.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").toUint8Array()),s={subnet_id:i.toUint8Array(),certificate:new Uint8Array(0)}),!ua({canisterId:t,subnetId:i,tree:o}))throw Fe.fromCode(new zr(t,i));let c=bs(["subnet",s.subnet_id,"node"],o);if(c.status!==Cr.Found)throw re.fromCode(new St("Node not found",c.status));if(c.value instanceof Uint8Array)throw me.fromCode(new Qt("Invalid node tree"));let u=xs(c.value),p=new Map;return u.forEach(d=>{let l=q.from(d[1]).toText(),f=Vr(["public_key"],d[2]);if(f.status!==$e.Found)throw re.fromCode(new St("Public key not found",f.status));let h=f.value;if(h.byteLength!==44)throw re.fromCode(new Yr(44,h.byteLength));p.set(l,h)}),{subnetId:q.fromUint8Array(new Uint8Array(s.subnet_id)).toText(),nodeKeys:p}},Ef=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[Q("time")];case"controllers":return[Q("canister"),r,Q("controllers")];case"module_hash":return[Q("canister"),r,Q("module_hash")];case"subnet":return[Q("subnet")];case"candid":return[Q("canister"),r,Q("metadata"),Q("candid:service")];default:if("key"in e&&"path"in e)if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=e.path,o=typeof n=="string"?Q(n):n;return[Q("canister"),r,Q("metadata"),o]}else return e.path}throw me.fromCode(new Pe(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))},Rf=e=>je(e).map(r=>q.fromUint8Array(r));var lr=BigInt(0),Ne=BigInt(1),pa=BigInt(2),vf=BigInt(8);function If(e,t,r,n){let o=e.sqr(r),s=e.sqr(n),i=e.add(e.mul(t.a,o),s),a=e.add(e.ONE,e.mul(t.d,e.mul(o,s)));return e.eql(i,a)}function Af(e,t={}){let r=ps("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;Lt(t,{},{uvRatio:"function"});let a=pa<<BigInt(o.BYTES*8)-Ne,c=y=>n.create(y),u=t.uvRatio||((y,_)=>{try{return{isValid:!0,value:n.sqrt(n.div(y,_))}}catch{return{isValid:!1,value:lr}}});if(!If(n,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function p(y,_,x=!1){let g=x?Ne:lr;return ls("coordinate "+y,_,g,a),_}function d(y){if(!(y instanceof h))throw new Error("ExtendedPoint expected")}let l=sr((y,_)=>{let{X:x,Y:g,Z:T}=y,O=y.is0();_==null&&(_=O?vf:n.inv(T));let E=c(x*_),R=c(g*_),I=n.mul(T,_);if(O)return{x:lr,y:Ne};if(I!==Ne)throw new Error("invZ was invalid");return{x:E,y:R}}),f=sr(y=>{let{a:_,d:x}=s;if(y.is0())throw new Error("bad point: ZERO");let{X:g,Y:T,Z:O,T:E}=y,R=c(g*g),I=c(T*T),w=c(O*O),v=c(w*w),P=c(R*_),A=c(w*c(P+I)),b=c(v+c(x*c(R*I)));if(A!==b)throw new Error("bad point: equation left != right (1)");let N=c(g*T),F=c(O*E);if(N!==F)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(_,x,g,T){this.X=p("x",_),this.Y=p("y",x),this.Z=p("z",g,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return s}static fromAffine(_){if(_ instanceof h)throw new Error("extended point not allowed");let{x,y:g}=_||{};return p("x",x),p("y",g),new h(x,g,Ne,c(x*g))}static fromBytes(_,x=!1){let g=n.BYTES,{a:T,d:O}=s;_=qi(or(_,g,"point")),Ar(x,"zip215");let E=qi(_),R=_[g-1];E[g-1]=R&-129;let I=Ut(E),w=x?a:n.ORDER;ls("point.y",I,lr,w);let v=c(I*I),P=c(v-Ne),A=c(O*v-T),{isValid:b,value:N}=u(P,A);if(!b)throw new Error("bad point: invalid y coordinate");let F=(N&Ne)===Ne,V=(R&128)!==0;if(!x&&N===lr&&V)throw new Error("bad point: x=0 and x_0=1");return V!==F&&(N=c(-N)),h.fromAffine({x:N,y:I})}static fromHex(_,x=!1){return h.fromBytes(ie("point",_),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(_=8,x=!0){return m.createCache(this,_),x||this.multiply(pa),this}assertValidity(){f(this)}equals(_){d(_);let{X:x,Y:g,Z:T}=this,{X:O,Y:E,Z:R}=_,I=c(x*R),w=c(O*T),v=c(g*R),P=c(E*T);return I===w&&v===P}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:_}=s,{X:x,Y:g,Z:T}=this,O=c(x*x),E=c(g*g),R=c(pa*c(T*T)),I=c(_*O),w=x+g,v=c(c(w*w)-O-E),P=I+E,A=P-R,b=I-E,N=c(v*A),F=c(P*b),V=c(v*b),k=c(A*P);return new h(N,F,k,V)}add(_){d(_);let{a:x,d:g}=s,{X:T,Y:O,Z:E,T:R}=this,{X:I,Y:w,Z:v,T:P}=_,A=c(T*I),b=c(O*w),N=c(R*g*P),F=c(E*v),V=c((T+O)*(I+w)-A-b),k=F-N,S=F+N,B=c(b-x*A),C=c(V*k),L=c(S*B),D=c(V*B),ee=c(k*S);return new h(C,L,ee,D)}subtract(_){return this.add(_.negate())}multiply(_){if(!o.isValidNot0(_))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:g}=m.cached(this,_,T=>Ze(h,T));return Ze(h,[x,g])[0]}multiplyUnsafe(_,x=h.ZERO){if(!o.isValid(_))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return _===lr?h.ZERO:this.is0()||_===Ne?this:m.unsafe(this,_,g=>Ze(h,g),x)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return m.unsafe(this,s.n).is0()}toAffine(_){return l(this,_)}clearCofactor(){return i===Ne?this:this.multiplyUnsafe(i)}toBytes(){let{x:_,y:x}=this.toAffine(),g=n.toBytes(x);return g[g.length-1]|=_&Ne?128:0,g}toHex(){return M(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(_){return Ze(h,_)}static msm(_,x){return dn(h,o,_,x)}_setWindowSize(_){this.precompute(_)}toRawBytes(){return this.toBytes()}}h.BASE=new h(s.Gx,s.Gy,Ne,c(s.Gx*s.Gy)),h.ZERO=new h(lr,Ne,Ne,lr),h.Fp=n,h.Fn=o;let m=new un(h,o.BITS);return h.BASE.precompute(8),h}var ws=class{constructor(t){this.ep=t}static fromBytes(t){cn()}static fromHex(t){cn()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return M(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}toRawBytes(){return this.toBytes()}};function Sf(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Lt(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:s,Fn:i}=e,a=r.randomBytes||Gr,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,v,P)=>{if(Ar(P,"phflag"),v.length||P)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return i.create(Ut(w))}function d(w){let v=g.secretKey;w=ie("private key",w,v);let P=ie("hashed private key",t(w),2*v),A=c(P.slice(0,v)),b=P.slice(v,2*v),N=p(A);return{head:A,prefix:b,scalar:N}}function l(w){let{head:v,prefix:P,scalar:A}=d(w),b=o.multiply(A),N=b.toBytes();return{head:v,prefix:P,scalar:A,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...v){let P=j(...v);return p(t(u(P,ie("context",w),!!n)))}function m(w,v,P={}){w=ie("message",w),n&&(w=n(w));let{prefix:A,scalar:b,pointBytes:N}=l(v),F=h(P.context,A,w),V=o.multiply(F).toBytes(),k=h(P.context,V,N,w),S=i.create(F+k*b);if(!i.isValid(S))throw new Error("sign failed: invalid s");let B=j(V,i.toBytes(S));return or(B,g.signature,"result")}let y={zip215:!0};function _(w,v,P,A=y){let{context:b,zip215:N}=A,F=g.signature;w=ie("signature",w,F),v=ie("message",v),P=ie("publicKey",P,g.publicKey),N!==void 0&&Ar(N,"zip215"),n&&(v=n(v));let V=F/2,k=w.subarray(0,V),S=Ut(w.subarray(V,F)),B,C,L;try{B=e.fromBytes(P,N),C=e.fromBytes(k,N),L=o.multiplyUnsafe(S)}catch{return!1}if(!N&&B.isSmallOrder())return!1;let D=h(b,C.toBytes(),B.toBytes(),v);return C.add(B.multiplyUnsafe(D)).subtract(L).clearCofactor().is0()}let x=s.BYTES,g={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(g.seed)){return or(w,g.seed,"seed")}function O(w){let v=I.randomSecretKey(w);return{secretKey:v,publicKey:f(v)}}function E(w){return ft(w)&&w.length===i.BYTES}function R(w,v){try{return!!e.fromBytes(w,v)}catch{return!1}}let I={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:E,isValidPublicKey:R,toMontgomery(w){let{y:v}=e.fromBytes(w),P=g.publicKey,A=P===32;if(!A&&P!==57)throw new Error("only defined for 25519 and 448");let b=A?s.div(Ne+v,Ne-v):s.div(v-Ne,v+Ne);return s.toBytes(b)},toMontgomerySecret(w){let v=g.secretKey;or(w,v);let P=t(w.subarray(0,v));return c(P).subarray(0,v)},randomPrivateKey:T,precompute(w=8,v=e.BASE){return v.precompute(w,!1)}};return Object.freeze({keygen:O,getPublicKey:f,sign:m,verify:_,utils:I,Point:e,lengths:g})}function Ff(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=Ve(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},s={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:s}}function Pf(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Wl(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Ff(e),s=Af(t,r),i=Sf(s,n,o);return Pf(e,i)}var Bf=BigInt(0),Kt=BigInt(1),Yl=BigInt(2),zy=BigInt(3),Cf=BigInt(5),Vf=BigInt(8),mn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),lo={p:mn,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Vf,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Df(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=mn,a=e*e%s*e%s,c=dt(a,Yl,s)*a%s,u=dt(c,Kt,s)*e%s,p=dt(u,Cf,s)*u%s,d=dt(p,t,s)*p%s,l=dt(d,r,s)*d%s,f=dt(l,n,s)*l%s,h=dt(f,o,s)*f%s,m=dt(h,o,s)*f%s,y=dt(m,t,s)*p%s;return{pow_p_5_8:dt(y,Yl,s)*e%s,b2:a}}function Uf(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var fa=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function _a(e,t){let r=mn,n=oe(t*t*t,r),o=oe(n*n*t,r),s=Df(e*o).pow_p_5_8,i=oe(e*n*s,r),a=oe(t*i*i,r),c=i,u=oe(i*fa,r),p=a===e,d=a===oe(-e,r),l=a===oe(-e*fa,r);return p&&(i=c),(d||l)&&(i=u),qt(i,r)&&(i=oe(-i,r)),{isValid:p||d,value:i}}var ur=Ve(lo.p,{isLE:!0}),kf=Ve(lo.n,{isLE:!0}),Lf={...lo,Fp:ur,hash:bc,adjustScalarBytes:Uf,uvRatio:_a},ke=Wl(Lf);var ha=fa,qf=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Mf=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),jf=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Kf=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Jl=e=>_a(Kt,e),$f=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),ma=e=>ke.Point.Fp.create(Ut(e)&$f);function Zl(e){let{d:t}=lo,r=mn,n=_=>ur.create(_),o=n(ha*e*e),s=n((o+Kt)*jf),i=BigInt(-1),a=n((i-t*o)*n(o+t)),{isValid:c,value:u}=_a(s,a),p=n(u*e);qt(p,r)||(p=n(-p)),c||(u=p),c||(i=o);let d=n(i*(o-Kt)*Kf-a),l=u*u,f=n((u+u)*a),h=n(d*qf),m=n(Kt-l),y=n(Kt+l);return new ke.Point(n(f*y),n(m*h),n(h*y),n(f*m))}function Hf(e){le(e,64);let t=ma(e.subarray(0,32)),r=Zl(t),n=ma(e.subarray(32,64)),o=Zl(n);return new $t(r.add(o))}var $t=class e extends ws{constructor(t){super(t)}static fromAffine(t){return new e(ke.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Hf(ie("ristrettoHash",t,64))}static fromBytes(t){le(t,32);let{a:r,d:n}=lo,o=mn,s=T=>ur.create(T),i=ma(t);if(!hl(ur.toBytes(i),t)||qt(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(Kt+r*a),u=s(Kt-r*a),p=s(c*c),d=s(u*u),l=s(r*n*p-d),{isValid:f,value:h}=Jl(s(l*d)),m=s(h*u),y=s(h*m*l),_=s((i+i)*m);qt(_,o)&&(_=s(-_));let x=s(c*y),g=s(_*x);if(!f||qt(g,o)||x===Bf)throw new Error("invalid ristretto255 encoding 2");return new e(new ke.Point(_,x,Kt,g))}static fromHex(t){return e.fromBytes(ie("ristrettoHex",t,32))}static msm(t,r){return dn(e,ke.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,s=mn,i=y=>ur.create(y),a=i(i(n+r)*i(n-r)),c=i(t*r),u=i(c*c),{value:p}=Jl(i(a*u)),d=i(p*a),l=i(p*c),f=i(d*l*o),h;if(qt(o*f,s)){let y=i(r*ha),_=i(t*ha);t=y,r=_,h=i(d*Mf)}else h=l;qt(t*f,s)&&(r=i(-r));let m=i((n-r)*h);return qt(m,s)&&(m=i(-m)),ur.toBytes(m)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:s}=t.ep,i=u=>ur.create(u),a=i(r*s)===i(n*o),c=i(n*s)===i(r*o);return a||c}is0(){return this.equals(e.ZERO)}};$t.BASE=new $t(ke.Point.BASE);$t.ZERO=new $t(ke.Point.ZERO);$t.Fp=ur;$t.Fn=kf;var Xl,Ql,Ts=class{static{Xl=Symbol.iterator,Ql=Symbol.toStringTag}#e;#t;constructor(t={}){this[Xl]=this.entries.bind(this),this[Ql]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([s,i])=>[s,{value:i,timestamp:o}])),this.#t=n}prune(){let t=Date.now();for(let[r,n]of this.#e.entries())t-n.timestamp>this.#t&&this.#e.delete(r);return this}set(t,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(t,n),this}get(t){let r=this.#e.get(t);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(t);return}return r.value}}clear(){this.#e.clear()}entries(){let t=this.#e.entries();return function*(){for(let[n,o]of t)yield[n,o.value]}()}values(){let t=this.#e.values();return function*(){for(let n of t)yield n.value}()}keys(){return this.#e.keys()}forEach(t,r){for(let[n,o]of this.#e.entries())t.call(r,o.value,n,this)}has(t){return this.#e.has(t)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}};var eu=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw W.fromCode(new Fn("Length too long (> 4 bytes)"))},tu=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw W.fromCode(new Fn("Length too long (> 4 bytes)"))},ya=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw W.fromCode(new ot("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw W.fromCode(new ot("Length too long (> 4 bytes)"))},Gf=(e,t)=>{let r=ya(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw W.fromCode(new ot("Length too long (> 4 bytes)"))},uo=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Dr=Uint8Array.from([48,5,6,3,43,101,112]),Xy=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),Qy=Uint8Array.from([48,29,6,13,43,6,1,4,1,130,220,124,5,3,1,2,1,6,12,43,6,1,4,1,130,220,124,5,3,2,1]);function Ur(e,t){let r=2+eu(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,s=new Uint8Array(1+eu(n)+n);return s[o++]=48,o+=tu(s,o,n),s.set(t,o),o+=t.byteLength,s[o++]=3,o+=tu(s,o,e.byteLength+1),s[o++]=0,s.set(new Uint8Array(e),o),s}var kr=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw W.fromCode(new ot(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=ya(o,r),!Rr(o.slice(r,r+t.byteLength),t))throw W.fromCode(new ot("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let s=Gf(o,r)-1;r+=ya(o,r),n(0,"0 padding");let i=o.slice(r);if(s!==i.length)throw W.fromCode(new Co(s,i.length));return i};var Ns=class e{static from(t){return this.fromDer(t.toDer())}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){return Ur(t,Dr)}static derDecode(t){let r=kr(t,Dr);if(r.length!==this.RAW_KEY_LENGTH)throw W.fromCode(new ot("An Ed25519 public key must be exactly 32 bytes long"));return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw W.fromCode(new ot("An Ed25519 public key must be exactly 32 bytes long"));this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}};var ga=class{constructor(){this.observers=[]}subscribe(t){this.observers.push(t)}unsubscribe(t){this.observers=this.observers.filter(r=>r!==t)}notify(t,...r){this.observers.forEach(n=>n(t,...r))}},Os=class extends ga{constructor(){super()}print(t,...r){this.notify({message:t,level:"info"},...r)}warn(t,...r){this.notify({message:t,level:"warn"},...r)}error(t,r,...n){this.notify({message:t,level:"error",error:r},...n)}};var Es=class e{#e;#t;#r;#c;#i;#u;#n;#o;#a=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(t=e.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:s=6e4,maxElapsedTime:i=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#c=s,this.#o=c,this.#i=c.now(),this.#u=i,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#i}get currentInterval(){return this.#e}get count(){return this.#a}get randomValueFromInterval(){let t=this.#t*this.#e,r=this.#e-t,n=this.#e+t;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#c),this.#a++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#u||this.#a>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var wt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(wt||(wt={}));var wa=60*1e3,zf=1e6,Wf=0,Yf="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Jf="ic0.app",Zf=".ic0.app",Xf="icp0.io",Qf=".icp0.io",eh="icp-api.io",th=".icp-api.io",xa=200,rh=202,nh=404;function oh(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw we.fromCode(new Zr("Fetch implementation was not available. You appear to be in a browser context, but window.fetch was not present."));else if(typeof global<"u")if(global.fetch)e=global.fetch.bind(global);else throw we.fromCode(new Zr("Fetch implementation was not available. You appear to be in a Node.js context, but global.fetch was not available."));else typeof self<"u"&&self.fetch&&(e=self.fetch.bind(self));if(e)return e;throw we.fromCode(new Zr("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function sh(e){let t;if(e!==void 0)!e.match(/^[a-z]+:/)&&typeof window<"u"?t=new URL(window.location.protocol+"//"+e):t=new URL(e);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,s=o?.hostname,i;s&&typeof s=="string"&&(n.some(a=>s.endsWith(a))?i=s:i=r.find(a=>s.endsWith(a))),o&&i?t=new URL(`${o.protocol}//${i}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var Lr=class e{#e;#t;#r;#c;#i;#u;#n;#o;#a;#x;#s;#d;#p;#l;get#N(){return this.#l*wa}#f;#h;#m;#_;constructor(t={}){this.#e=null,this.#t=!1,this.#r=Wf,this.#c=!1,this.#i=null,this.#u=!1,this._isAgent=!0,this.config={},this.log=new Os,this.#f=[],this.#h=[],this.#m=new Ts({expirationTime:5*wa}),this.#_=!0,this.#w=(o,s)=>{if(this.#_===!1)return o;let{status:i,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=q.fromUint8Array(d).toText(),f;if(i===Gt.Replied){let{reply:x}=o;f=Kn({status:i,reply:x,timestamp:BigInt(p),request_id:c})}else if(i===Gt.Rejected){let{reject_code:x,reject_message:g,error_code:T}=o;f=Kn({status:i,reject_code:x,reject_message:g,error_code:T,timestamp:BigInt(p),request_id:c})}else throw me.fromCode(new Pe(`Unknown status: ${i}`));let h=j(Ai,f),m=s.nodeKeys.get(l);if(!m)throw re.fromCode(new Ho);let y=Ns.fromDer(m).rawKey;if(ke.verify(u.signature,h,y))return o;throw Fe.fromCode(new Go(l))}return o},this.config=t,this.#o=t.fetch||oh()||fetch.bind(global),this.#a=t.fetchOptions,this.#x=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#u=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=be(Yf);let r=sh(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#d=t.retryTimes??3;let n=()=>new Es({maxIterations:this.#d});if(this.#p=t.backoffStrategy||n,this.host.hostname.endsWith(Zf)?this.host.hostname=Jf:this.host.hostname.endsWith(Qf)?this.host.hostname=Xf:this.host.hostname.endsWith(th)&&(this.host.hostname=eh),t.credentials){let{name:o,password:s}=t.credentials;this.#s=`${o}${s?":"+s:""}`}if(this.#n=Promise.resolve(t.identity||new Ye),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw W.fromCode(new wr("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw W.fromCode(new wr("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",Di(Zn)),t.useQueryNonces&&this.addTransform("query",Di(Zn)),t.logToConsole&&this.log.subscribe(o=>{o.level==="error"?console.error(o.message):o.level==="warn"?console.warn(o.message):console.log(o.message)})}static createSync(t={}){return new this({...t})}static async create(t={}){let r=e.createSync(t);return await r.#g(),r}static async from(t){try{return"config"in t?await e.create(t.config):await e.create({fetch:t._fetch,fetchOptions:t._fetchOptions,callOptions:t._callOptions,host:t._host.toString(),identity:t._identity??void 0})}catch{throw W.fromCode(new jo)}}isLocal(){let t=this.host.hostname;return t==="127.0.0.1"||t.endsWith("127.0.0.1")}addTransform(t,r,n=r.priority||0){if(t==="update"){let o=this.#h.findIndex(s=>(s.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#f.findIndex(s=>(s.priority||0)<n);this.#f.splice(o>=0?o:this.#f.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw we.fromCode(new Xt);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,s=await(n??this.#n);if(!s)throw we.fromCode(new Xt);let i=q.from(t),a=r.effectiveCanisterId?q.from(r.effectiveCanisterId):i;await this.#g(a);let c=s.getPrincipal(),u=ba(this.#l,this.#r),p={request_type:ss.Call,canister_id:i,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:u},d=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Dt.Call,body:p}),l;r?.nonce?l=f(r.nonce):d.body.nonce?l=f(d.body.nonce):l=void 0,p.nonce=l;function f(_){return Object.assign(_,{__nonce__:void 0})}d=await s.transformRequest(d);let h=Yn(d.body),m=this.#p(),y=Ct(p);try{let g=o?()=>(this.log.print(`fetching "/api/v3/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v3/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})):()=>(this.log.print(`fetching "/api/v2/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v2/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})),{responseBodyBytes:T,...O}=await this.#y({requestFn:g,backoff:m,tries:0}),E=T.byteLength>0?je(T):null;return{requestId:y,response:{...O,body:E},requestDetails:p}}catch(_){let x;if(_ instanceof nt){if(_.hasCode(Bn))return this.log.warn("v3 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(_.hasCode(wr)&&!this.#c)return await this.syncTime(i),this.call(i,r,n);_.code.requestContext={requestId:y,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=_}else x=me.fromCode(new Pe(_));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:s,backoff:i,tries:a}=t,c=a===0?0:i.next();if(this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with tries:`,{tries:a,backoff:i,delay:c}),c===null)throw me.fromCode(new br(`Backoff strategy exhausted after ${a} attempts.`,s));c>0&&await new Promise(f=>setTimeout(f,c));let u;try{this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with request:`,n);let f=await this.#o(""+new URL(`/api/v2/canister/${r.toString()}/query`,this.host),{...this.#a,...n.request,body:o});if(f.status===xa)u={...je(rn(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:as(f.headers)},requestId:s};else throw re.fromCode(new Pn(f.status,f.statusText,as(f.headers),await f.text()))}catch(f){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
|
|
51
51
|
${f}
|
|
52
|
-
Retrying query.`),await this.#b({...t,tries:a+1});throw f instanceof nt?f:
|
|
52
|
+
Retrying query.`),await this.#b({...t,tries:a+1});throw f instanceof nt?f:Sn.fromCode(new Cn(f))}if(!this.#_)return u;let p=u.signatures?.[0]?.timestamp;if(!p)throw re.fromCode(new Ko("Timestamp not found in query response. This suggests a malformed or malicious response."));let d=Number(BigInt(p)/BigInt(zf));if(Date.now()+this.#r-d>this.#N){if(a<this.#d)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:s,signatureTimestampMs:d}),await this.#b({...t,tries:a+1});throw Fe.fromCode(new Uo(this.#l,s,a))}return u}async#y(t){let{requestFn:r,backoff:n,tries:o}=t,s=o===0?0:n.next();if(s===null)throw re.fromCode(new br(`Retry strategy exhausted after ${o} attempts.`));s>0&&await new Promise(p=>setTimeout(p,s));let i,a=new Uint8Array;try{i=await r(),i.status===xa&&(a=rn(await i.clone().arrayBuffer()))}catch(p){if(o<this.#d)return this.log.warn(`Caught exception while attempting to make request:
|
|
53
53
|
${p}
|
|
54
|
-
Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw In.fromCode(new Pn(p))}let c=ss(i.headers);if(i.status===ya||i.status===eh)return{ok:i.ok,status:i.status,statusText:i.statusText,responseBodyBytes:a,headers:c};let u=await i.text();if(i.status===th&&i.url.includes("api/v3"))throw te.fromCode(new Fn);if(u.startsWith("Invalid request expiry: "))throw W.fromCode(new xr(u,this.#l));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw te.fromCode(new Sn(i.status,i.statusText,c,u))}async query(t,r,n){let o=this.#p(),s=r.effectiveCanisterId?L.from(r.effectiveCanisterId):L.from(t);await this.#g(s),this.log.print(`ecid ${s.toString()}`),this.log.print(`canisterId ${t.toString()}`);let i,a=await(n??this.#n);if(!a)throw we.fromCode(new Xt);let c=L.from(t),u=a.getPrincipal(),p=ga(this.#l,this.#r),d={request_type:Rr.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=Ct(d);i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Dt.Query,body:d}),i=await a.transformRequest(i);let f=zn(i.body),h={canister:c.toText(),ecid:s,transformedRequest:i,body:f,requestId:l,backoff:o,tries:0},_=async()=>{let m=await this.#b(h);return{requestDetails:d,...m}},g=async()=>{let m=this.#m.get(s.toString());if(m)return m;await this.fetchSubnetKeys(s.toString());let x=this.#m.get(s.toString());if(!x)throw Pe.fromCode(new jo);return x};try{if(!this.#_)return await _();let[m,x]=await Promise.all([_(),g()]);try{return this.#w(m,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#m.delete(s.toString());let y=await g();return this.#w(m,y)}}catch(m){let x;throw m instanceof nt?(m.code.requestContext={requestId:l,senderPubKey:i.body.sender_pubkey,senderSignature:i.body.sender_sig,ingressExpiry:i.body.content.ingress_expiry},x=m):x=he.fromCode(new Be(m)),this.log.error(`Error while making query: ${x.message}`,x),x}}#w;async createReadStateRequest(t,r){await this.#g();let n=await(r??this.#n);if(!n)throw we.fromCode(new Xt);let o=n.getPrincipal(),s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Dt.ReadState,body:{request_type:Rr.ReadState,paths:t.paths,sender:o,ingress_expiry:ga(this.#l,this.#r)}});return n.transformRequest(s)}async readState(t,r,n,o){await this.#T();let s=L.from(t);function i(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(Or(l,h))return f}}let a,c;if(o)a=o,c=Ct(a);else{c=i(r);let p=await this.#n;if(!p)throw we.fromCode(new Xt);a=await this.createReadStateRequest(r,p)}this.log.print(`fetching "/api/v2/canister/${s}/read_state" with request:`,a);let u=this.#p();try{let{responseBodyBytes:p}=await this.#y({requestFn:()=>this.#o(""+new URL(`/api/v2/canister/${s.toString()}/read_state`,this.host),{...this.#a,...a.request,body:zn(a.body)}),backoff:u,tries:0}),d=je(p);return this.log.print("Read state response:",d),d}catch(p){let d;throw p instanceof nt?(p.code.requestContext={requestId:c,senderPubKey:a.body.sender_pubkey,senderSignature:a.body.sender_sig,ingressExpiry:a.body.content.ingress_expiry},d=p):d=he.fromCode(new Be(p)),this.log.error(`Error while making read state: ${d.message}`,d),d}}parseTimeFromResponse(t){let r;if(t.certificate){let n=je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw te.fromCode(new Qt("Could not decode time from response"));let o=Br(["time"],r);if(o.status!==$e.Found)throw te.fromCode(new St("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw te.fromCode(new Gr("Time was not in its expected format."));let s=pn(o.value);return this.log.print("Time from response:",s),this.log.print("Time from response in milliseconds:",s.getTime()),s.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#i=this.#i??(async()=>{await this.#T();let r=Date.now();try{t||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=t??L.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new Ye,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=(await Promise.all(Array(3).fill(null).map(async()=>{let c=(await la({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(c instanceof Date)return c.getTime()},[]))).reduce((a,c)=>typeof c=="number"&&c>a?c:a,0);i>0&&(this.#r=i-r,this.#c=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}catch(n){let o=n instanceof nt?n:he.fromCode(new Be(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#i.finally(()=>{this.#i=null})}async status(){let t=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{};this.log.print('fetching "/api/v2/status"');let r=this.#p(),{responseBodyBytes:n}=await this.#y({backoff:r,requestFn:()=>this.#o(""+new URL("/api/v2/status",this.host),{headers:t,...this.#a}),tries:0});return je(n)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let t=await this.status();return this.rootKey=t.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#g(t){await Promise.all([this.#T(),this.#O(t)])}async#T(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw we.fromCode(new mt(this.#t))}async#O(t){this.#u&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=L.from(t);await this.#g(r);let o=(await la({canisterId:r,paths:["subnet"],agent:this})).get("subnet");if(o&&typeof o=="object"&&"nodeKeys"in o)return this.#m.set(r.toText(),o),o}_transform(t){let r=Promise.resolve(t);if(t.endpoint===Dt.Call)for(let n of this.#h)r=r.then(o=>n(o).then(s=>s||o));else for(let n of this.#f)r=r.then(o=>n(o).then(s=>s||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#c}};function ga(e,t){let r=e*xa;return on.fromDeltaInMilliseconds(r,t)}var oh=300*1e3;function eu(){return lh(ih(sh(),1e3),ch(1e3,1.2),ah(oh))}function sh(){let e=!0;return async()=>e?(e=!1,!0):!1}function ih(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(s=>setTimeout(s,t))}}function ah(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw te.fromCode(new gr(`Request timed out after ${e} msec`,n,o))}}function ch(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function lh(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var ru={preSignReadStateRequest:!1};function nu(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ba(e,t){return e!==null&&typeof e=="object"&&nu(e,t)}function dh(e,t){return nu(e,t)&&typeof e[t]=="function"}function tu(e){return ba(e,"body")&&ba(e.body,"content")&&e.body.content.request_type===Rr.ReadState&&ba(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&dh(e.body.content.ingress_expiry,"toHash")}async function wa(e,t,r,n={}){let o=[Q("request_status"),r],s,i;if(n.preSignReadStateRequest??!1?(i=await ph({paths:[o],agent:e,pollingOptions:n}),s=await e.readState(t,{paths:[o]},void 0,i)):s=await e.readState(t,{paths:[o]}),e.rootKey==null)throw we.fromCode(new mt);let c=await cr.create({certificate:s.certificate,rootKey:e.rootKey,canisterId:t,blsVerify:n.blsVerify,agent:e}),u=Ae(c.lookup_path([...o,Q("status")])),p;switch(typeof u>"u"?p=wt.Unknown:p=new TextDecoder().decode(u),p){case wt.Replied:return{reply:Ae(c.lookup_path([...o,"reply"])),certificate:c};case wt.Received:case wt.Unknown:case wt.Processing:{let d=n.strategy??eu();return await d(t,r,p),wa(e,t,r,{...n,strategy:d,request:i})}case wt.Rejected:{let d=new Uint8Array(Ae(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(Ae(c.lookup_path([...o,"reject_message"]))),f=Ae(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Jt.fromCode(new Wr(r,d,l,h))}case wt.Done:throw he.fromCode(new ko(r))}throw er}async function ph(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&tu(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!tu(o))throw W.fromCode(new Ho(o));return o}var Qe=Symbol.for("ic-agent-metadata"),Os=class e{static agentOf(t){return t[Qe].config.agent}static interfaceOf(t){return t[Qe].service}static canisterIdOf(t){return L.from(t[Qe].config.canisterId)}static createActorClass(t,r){let n=t({IDL:Nr});class o extends e{constructor(i){if(!i.canisterId)throw W.fromCode(new Bn(i.canisterId));let a=typeof i.canisterId=="string"?L.fromText(i.canisterId):i.canisterId;super({config:{...ou,...i,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Ta),r?.certificate&&u.annotations.push(su),this[c]=hh(this,c,u,i.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw W.fromCode(new Bn(r.canisterId));return new(this.createActorClass(t))(r)}static createActorWithHttpDetails(t,r){return new(this.createActorClass(t,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(t,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(t,n))(r)}constructor(t){this[Qe]=Object.freeze(t)}};function hn(e,t){let r=Nr.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var ou={pollingOptions:ru},Ta="http-details",su="certificate";function hh(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(i,...a)=>{i={...i,...e[Qe].config.queryTransform?.(t,a,{...e[Qe].config,...i})};let c=i.agent||e[Qe].config.agent||new Ur,u=L.from(i.canisterId||e[Qe].config.canisterId),p=Nr.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:i.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case Gt.Rejected:{let f=new Do(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},Jt.fromCode(f)}case Gt.Replied:return r.annotations.includes(Ta)?{httpDetails:l,result:hn(r.retTypes,d.reply.arg)}:hn(r.retTypes,d.reply.arg)}}:o=async(i,...a)=>{i={...i,...e[Qe].config.callTransform?.(t,a,{...e[Qe].config,...i})};let c=i.agent||e[Qe].config.agent||Ur.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...ou,...e[Qe].config,...i},l=L.from(u),f=p!==void 0?L.from(p):l,h=Nr.encode(r.argTypes,a),{requestId:_,response:g,requestDetails:m}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:i.nonce}),x,y;if(Qa(g.body)){if(c.rootKey==null)throw we.fromCode(new mt);let E=g.body.certificate;y=await cr.create({certificate:E,rootKey:c.rootKey,canisterId:f,blsVerify:n,agent:c});let v=[Q("request_status"),_];switch(new TextDecoder().decode(Ae(y.lookup_path([...v,"status"])))){case"replied":x=Ae(y.lookup_path([...v,"reply"]));break;case"rejected":{let I=new Uint8Array(Ae(y.lookup_path([...v,"reject_code"])))[0],B=new TextDecoder().decode(Ae(y.lookup_path([...v,"reject_message"]))),A=Ae(y.lookup_path([...v,"error_code"])),b=A?new TextDecoder().decode(A):void 0,N=new Wr(_,I,B,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},Jt.fromCode(N)}}}else if(Xa(g.body)){let{reject_code:E,reject_message:v,error_code:w}=g.body,I=new Uo(_,E,v,w);throw I.callContext={canisterId:l,methodName:t,httpDetails:g},Jt.fromCode(I)}if(g.status===202){let E={...d,blsVerify:n},v=await wa(c,f,_,E);y=v.certificate,x=v.reply}let T=r.annotations.includes(Ta),O=r.annotations.includes(su),R={...g,requestDetails:m};if(x!==void 0)return T&&O?{httpDetails:R,certificate:y,result:hn(r.retTypes,x)}:O?{certificate:y,result:hn(r.retTypes,x)}:T?{httpDetails:R,result:hn(r.retTypes,x)}:hn(r.retTypes,x);{let E=new Be(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(v=>v.display()).join(",")}].`);throw E.callContext={canisterId:l,methodName:t,httpDetails:R},he.fromCode(E)}};let s=(...i)=>o({},...i);return s.withOptions=i=>(...a)=>o(i,...a),s}var mh=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(mh||{}),ig=BigInt(1e8);var j=e=>e==null,X=e=>!j(e),_h=e=>X(e)&&e!=="",au=e=>!_h(e);var yh=class extends Error{},uo=(e,t)=>{if(e==null)throw new yh(t)};var kr=e=>new Uint8Array(e),Es=e=>Array.from(e);var cu=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var iu="abcdefghijklmnopqrstuvwxyz234567",lo=Object.create(null);for(let e=0;e<iu.length;e++)lo[iu[e]]=e;lo[0]=lo.o;lo[1]=lo.i;var Rs=e=>btoa(String.fromCharCode(...new Uint8Array(e)));var ag=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);var Na="__bigint__",Oa="__principal__",Ea="__uint8array__",lu=(e,t)=>typeof t=="bigint"?{[Na]:`${t}`}:X(t)&&L.isPrincipal(t)?{[Oa]:L.from(t).toText()}:X(t)&&t instanceof Uint8Array?{[Ea]:Array.from(t)}:t,uu=(e,t)=>{let r=n=>t[n];return X(t)&&typeof t=="object"&&Na in t?BigInt(r(Na)):X(t)&&typeof t=="object"&&Oa in t?L.fromText(r(Oa)):X(t)&&typeof t=="object"&&Ea in t?Uint8Array.from(r(Ea)):t};var ce=e=>X(e)?[e]:[],Oe=e=>e?.[0];var gh=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=xh({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},xh=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Es(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return t==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:t}};function bh(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,s)=>t.setUint8(s,o));let n=t.getUint16(0);return e.slice(55+n)}function wh(e){return Vr(e,co)}var Th=class{constructor(e){this._cose=e,this.#e=wh(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},mu=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new Th(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Rs(this.#e)}},Nh=class extends mu{#e;#t;constructor({authData:e,...t}){super(t);let r=gh({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#t="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#t}getAAGUIDText(){return this.#e}},Oh=class extends mu{},Eh=class extends Error{},Rh=class extends Error{},vh=class extends Error{},Ih=class extends Error{},Ah=class extends Error{},Sh=class extends Error{},Fh=class extends Error{},du=class extends Error{};var Ph={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Bh=6e4,_u=()=>window.crypto.getRandomValues(new Uint8Array(16)),Ch=()=>_u(),Vh=()=>_u(),Dh=()=>{let{location:{href:e}}=window,t=URL.parse(e);if(j(t))throw new Eh;let{hostname:r}=t;return r},yu=({appId:e})=>e?.id??Dh(),Uh=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:yu({appId:e})}}),o=()=>({user:{id:Vh(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:Ch(),...n(),...o(),pubKeyCredParams:Object.values(Ph).map(s=>({type:"public-key",alg:s})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},kh=(e={})=>({rpId:yu(e),allowCredentials:[],userVerification:"required"}),Ra=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}},dr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(dr||{}),gu=({timeout:e})=>AbortSignal.timeout(e??Bh),Lh=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...kh(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:gu({timeout:n})}),pu=e=>{if(e.status!=="initialized")throw new Rh},fu=e=>{if(j(e))throw new vh},hu=({type:e})=>{if(e!=="public-key")throw new Ih},va=class po extends bt{#e;#t;constructor({onProgress:t,...r}){if(super(),this.#e=t,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=po.#r({credential:new Nh(r)})}static#r({credential:t}){return{status:"initialized",credential:t}}static async createWithNewCredential({passkeyOptions:t,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:Uh(t),signal:gu({timeout:r})});fu(o),hu(o);let{response:{attestationObject:s},rawId:i}=o;if(j(s))throw new Ah;let{authData:a}=rs.decode(kr(s)),c=bh(a);return new po({...n,rawId:kr(i),cose:c,authData:a})}static async createWithExistingCredential(t){return new po(t)}getPublicKey(){pu(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){pu(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Ra({fn:async()=>{let n=await Lh({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return fu(n),hu(n),n},step:0,onProgress:this.#e});return await Ra({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!cu({a:this.#t.credential.getCredentialId(),b:kr(n)}))throw new Sh;return}let{retrievePublicKey:o}=this.#t,s=await o({credentialId:kr(n)});this.#t=po.#r({credential:new Oh({rawId:kr(n),cose:s})})},step:1,onProgress:this.#e}),await Ra({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:s,signature:i}="authenticatorData"in n&&"signature"in n?n:{};if(j(s))throw new du;if(j(i))throw new du;let a=rs.encode({authenticator_data:s,client_data_json:new TextDecoder().decode(o),signature:kr(i)});if(j(a))throw new Fh;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},qh=async()=>X(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var mn=class{callbacks=[];populate(t){this.callbacks.forEach(({callback:r})=>r(t))}subscribe(t){let r=Symbol();return this.callbacks.push({id:r,callback:t}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var et=class e extends mn{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.authUser=t,this.populate(t)}get(){return this.authUser}subscribe(t){let r=super.subscribe(t);return t(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var Ia=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var _n="http://127.0.0.1:5987",xu="rdmx6-jaaaa-aaaaa-aaadq-cai";var bu=async({identity:e,container:t})=>{let n=X(t)&&t!==!1?t===!0?_n:t:"https://icp-api.io",o=X(t);return await Ur.create({identity:e,shouldFetchRootKey:o,host:n})};var yn=class e{static instance;#e=void 0;constructor(){}static getInstance(){return j(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(j(this.#e)||j(this.#e[n])){let o=await bu({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var gn=class e{static instance;#e=void 0;constructor(){}static getInstance(){return j(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let s=`${n}#${r.getPrincipal().toText()}#${t};`;if(j(this.#e)||j(this.#e[s])){let i=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[s]:i},i}return this.#e[s]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await yn.getInstance().getAgent(n);return Os.createActor(t,{agent:o,canisterId:r})}};var wu=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Mh=()=>{window.addEventListener("beforeunload",wu,{capture:!0})},jh=()=>{window.removeEventListener("beforeunload",wu,{capture:!0})},Aa=async({fn:e})=>{try{return Mh(),await e()}finally{jh()}};var Ge=class e extends mn{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.env=t,this.populate(t)}get(){return this.env}reset(){this.env=null}subscribe(t){let r=super.subscribe(t);return t(this.env),r}};var Tu=BigInt(144e11),Nu=!1,Ou={width:576,height:576},Eu={width:424,height:576},Ru={width:505,height:705},fo="internetcomputer.org",vu="ic0.app",Iu="id.ai";var Au=async e=>{let t=new Blob([JSON.stringify(e,lu)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},vs=async e=>{let t=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await t.text(),uu)},Is=()=>typeof window<"u";var As=({width:e,height:t})=>{if(!Is()||j(window)||j(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,s=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${o}, left=${s}`};function Su(e){return e!==null&&typeof e=="object"}var ho=class e{static from(t){if(typeof t=="string"){let r=be(t);return this.fromRaw(r)}else if(Su(t)){let r=t;if(Su(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(_t(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(_t(r));if("rawKey"in r&&r.rawKey instanceof Uint8Array)return this.fromRaw(r.rawKey);if("derKey"in r)return this.fromDer(r.derKey);if("toDer"in r)return this.fromDer(r.toDer())}}throw new Error("Cannot construct Ed25519PublicKey from the provided key.")}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){let r=Vr(t,Cr);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Dr(t,Cr);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}},xn=class e extends bt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Le.utils.randomPrivateKey()),bc(t,new Uint8Array(new Array(32).fill(0)))&&console.warn("Seed is all zeros. This is not a secure seed. Please provide a seed with sufficient entropy if this is a production environment.");let r=new Uint8Array(32);for(let o=0;o<32;o++)r[o]=t[o];let n=Le.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(ho.fromDer(be(r)),be(n))}static fromJSON(t){let r=JSON.parse(t);if(Array.isArray(r)){if(typeof r[0]=="string"&&typeof r[1]=="string")return this.fromParsedJson([r[0],r[1]]);throw new Error("Deserialization error: JSON must have at least 2 items.")}throw new Error(`Deserialization error: Invalid JSON type for string: ${JSON.stringify(t)}`)}static fromKeyPair(t,r){return new e(ho.fromRaw(t),r)}static fromSecretKey(t){let r=Le.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=ho.from(t),this.#t=r}toJSON(){return[M(this.#e.toDer()),M(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Le.sign(t,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,s,i]=[t,r,n].map(a=>(typeof a=="string"&&(a=be(a)),_t(a)));return Le.verify(o,s,i)}};var Sa=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function Fu(e){if(typeof global<"u"&&global.crypto&&global.crypto.subtle)return global.crypto.subtle;if(e)return e;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new Sa("Global crypto was not available and none was provided. Please inlcude a SubtleCrypto implementation. See https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto")}var Lr=class e extends bt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},s=Fu(o),i=await s.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=_t(await s.exportKey("spki",i.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(i,a,s)}static async fromKeyPair(t,r){let n=Fu(r),o=_t(await n.exportKey("spki",t.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new e(t,o,n)}constructor(t,r,n){super(),this._keyPair=t,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let t=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return t},r}async sign(t){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=_t(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var Ss=class{#e;get rawKey(){return this.#e.rawKey}get derKey(){return this.#e.derKey}toDer(){return this.#e.toDer()}getPublicKey(){return this.#e}getPrincipal(){if(!this.#e.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return L.fromUint8Array(new Uint8Array(this.#e.rawKey))}transformRequest(){return Promise.reject("Not implemented. You are attempting to use a partial identity to sign calls, but this identity only has access to the public key.To sign calls, use a DelegationIdentity instead.")}constructor(t){this.#e=t}};function Fa(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return be(e)}var bn=class{constructor(t,r,n){this.pubkey=t,this.expiration=r,this.targets=n}toCborValue(){return{pubkey:this.pubkey,expiration:this.expiration,...this.targets&&{targets:this.targets}}}toJSON(){return{expiration:this.expiration.toString(16),pubkey:M(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function Kh(e,t,r,n){let o=new bn(t.toDer(),BigInt(+r)*BigInt(1e6),n),s=new Uint8Array([...Ii,...new Uint8Array(Ct({...o}))]),i=await e.sign(s);return{delegation:o,signature:i}}var qr=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let s=await Kh(t,r,n,o.targets);return new e([...o.previous?.delegations||[],s],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(s=>{let{delegation:i,signature:a}=s,{pubkey:c,expiration:u,targets:p}=i;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new bn(Fa(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return L.fromHex(d)})),signature:Fa(a)}});return new this(o,Fa(r))}static fromDelegations(t,r){return new this(t,r)}constructor(t,r){this.delegations=t,this.publicKey=r}toJSON(){return{delegations:this.delegations.map(t=>{let{delegation:r,signature:n}=t,{targets:o}=r;return{delegation:{expiration:r.expiration.toString(16),pubkey:M(r.pubkey),...o&&{targets:o.map(s=>s.toHex())}},signature:M(n)}}),publicKey:M(this.publicKey)}}},Mr=class extends bt{static fromDelegation(t,r){return new this(t,r)}constructor(t,r){super(),this._inner=t,this._delegation=r}getDelegation(){return this._delegation}getPublicKey(){return{derKey:this._delegation.publicKey,toDer:()=>this._delegation.publicKey}}sign(t){return this._inner.sign(t)}async transformRequest(t){let{body:r,...n}=t,o=await Ct(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...jn,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},mo=class e extends Ss{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function Pa(e,t){for(let{delegation:o}of e.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=t?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?L.fromText(o):o)):r.push(typeof n=="string"?L.fromText(n):n));for(let o of r){let s=o.toText();for(let{delegation:i}of e.delegations){if(i.targets===void 0)continue;let a=!0;for(let c of i.targets)if(c.toText()===s){a=!1;break}if(a)return!1}}return!0}var Pu=["mousedown","mousemove","keydown","touchstart","wheel"],_o=class{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new this(t)}constructor(t={}){let{onIdle:r,idleTimeout:n=600*1e3}=t||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),Pu.forEach(function(i){document.addEventListener(i,o,!0)});let s=(i,a)=>{let c;return(...u)=>{let p=this,d=function(){c=void 0,i.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let i=s(o,t?.scrollDebounce??100);window.addEventListener("scroll",i,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);Pu.forEach(function(r){document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>r())}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var $h=(e,t)=>t.some(r=>e instanceof r),Bu,Cu;function Hh(){return Bu||(Bu=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Gh(){return Cu||(Cu=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Vu=new WeakMap,Ca=new WeakMap,Du=new WeakMap,Ba=new WeakMap,Da=new WeakMap;function zh(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",s),e.removeEventListener("error",i)},s=()=>{r(Tt(e.result)),o()},i=()=>{n(e.error),o()};e.addEventListener("success",s),e.addEventListener("error",i)});return t.then(r=>{r instanceof IDBCursor&&Vu.set(r,e)}).catch(()=>{}),Da.set(t,e),t}function Wh(e){if(Ca.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",s),e.removeEventListener("error",i),e.removeEventListener("abort",i)},s=()=>{r(),o()},i=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",s),e.addEventListener("error",i),e.addEventListener("abort",i)});Ca.set(e,t)}var Va={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return Ca.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Du.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Tt(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function Uu(e){Va=e(Va)}function Yh(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Fs(this),t,...r);return Du.set(n,t.sort?t.sort():[t]),Tt(n)}:Gh().includes(e)?function(...t){return e.apply(Fs(this),t),Tt(Vu.get(this))}:function(...t){return Tt(e.apply(Fs(this),t))}}function Jh(e){return typeof e=="function"?Yh(e):(e instanceof IDBTransaction&&Wh(e),$h(e,Hh())?new Proxy(e,Va):e)}function Tt(e){if(e instanceof IDBRequest)return zh(e);if(Ba.has(e))return Ba.get(e);let t=Jh(e);return t!==e&&(Ba.set(e,t),Da.set(t,e)),t}var Fs=e=>Da.get(e);function Lu(e,t,{blocked:r,upgrade:n,blocking:o,terminated:s}={}){let i=indexedDB.open(e,t),a=Tt(i);return n&&i.addEventListener("upgradeneeded",c=>{n(Tt(i.result),c.oldVersion,c.newVersion,Tt(i.transaction),c)}),r&&i.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{s&&c.addEventListener("close",()=>s()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var Zh=["get","getKey","getAll","getAllKeys","count"],Xh=["put","add","delete","clear"],Ua=new Map;function ku(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Ua.get(t))return Ua.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=Xh.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Zh.includes(r)))return;let s=async function(i,...a){let c=this.transaction(i,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return Ua.set(t,s),s}Uu(e=>({...e,get:(t,r,n)=>ku(t,r)||e.get(t,r,n),has:(t,r)=>!!ku(t,r)||e.has(t,r)}));var qu="auth-client-db",Mu="ic-keyval",Qh=async(e=qu,t=Mu,r)=>(Ps&&localStorage?.getItem(ze)&&(localStorage.removeItem(ze),localStorage.removeItem(qe)),await Lu(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function em(e,t,r){return await e.get(t,r)}async function tm(e,t,r,n){return await e.put(t,n,r)}async function rm(e,t,r){return await e.delete(t,r)}var yo=class e{_db;_storeName;static async create(t){let{dbName:r=qu,storeName:n=Mu,version:o=ju}=t??{},s=await Qh(r,n,o);return new e(s,n)}constructor(t,r){this._db=t,this._storeName=r}async set(t,r){return await tm(this._db,this._storeName,t,r)}async get(t){return await em(this._db,this._storeName,t)??null}async remove(t){return await rm(this._db,this._storeName,t)}};var qe="identity",ze="delegation",Ku="iv",ju=1,Ps=typeof window<"u",go=class{prefix;_localStorage;constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=typeof window>"u"?typeof global>"u"?typeof self>"u"?void 0:self.localStorage:global.localStorage:window.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},Ht=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise(t=>{if(this.initializedDb){t(this.initializedDb);return}yo.create(this.#e).then(r=>{this.initializedDb=r,t(r)})})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var nm=BigInt(1e9),om=BigInt(3600),sm=nm*om,im="https://identity.internetcomputer.org",am="#authorize",cm=BigInt(8)*sm,ka="ECDSA",La="Ed25519",lm=500,Ma="UserInterrupt",Bs=class{_identity;_key;_chain;_storage;idleManager;_createOptions;_idpWindow;_eventHandler;static async create(t={}){let r=t.storage??new Ht,n=t.keyType??ka,o=null;if(t.identity)o=t.identity;else{let c=await r.get(qe);if(!c&&Ps)try{let u=new go,p=await u.get(ze),d=await u.get(qe);p&&d&&n===ka&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(ze,p),await r.set(qe,d),c=p,await u.remove(ze),await u.remove(qe))}catch(u){console.error("error while attempting to recover localstorage: "+u)}if(c)try{typeof c=="object"?n===La&&typeof c=="string"?o=xn.fromJSON(c):o=await Lr.fromKeyPair(c):typeof c=="string"&&(o=xn.fromJSON(c))}catch{}}let s=new Ye,i=null;if(o)try{let c=await r.get(ze);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?s=t.identity:c&&(i=qr.fromJSON(c),Pa(i)?"toDer"in o?s=mo.fromDelegation(o,i):s=Mr.fromDelegation(o,i):(await qa(r),o=null))}catch(c){console.error(c),await qa(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(i||t.identity)&&(a=_o.create(t.idleOptions)),o||(n===La?(o=xn.generate(),await r.set(qe,JSON.stringify(o.toJSON()))):(t.storage&&n===ka&&console.warn(`You are using a custom storage provider that may not support CryptoKey storage. If you are using a custom storage provider that does not support CryptoKey storage, you should use '${La}' as the key type, as it can serialize to a string`),o=await Lr.generate(),await r.set(qe,o.getKeyPair()))),new this(s,o,i,r,a,t)}constructor(t,r,n,o,s,i,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=s,this._createOptions=i,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}_registerDefaultIdleCallback(){let t=this._createOptions?.idleOptions;!t?.onIdle&&!t?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(t,r){let n=t.delegations.map(a=>({delegation:new bn(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=qr.fromDelegations(n,t.userPublicKey),s=this._key;if(!s)return;this._chain=o,"toDer"in s?this._identity=mo.fromDelegation(s,this._chain):this._identity=Mr.fromDelegation(s,this._chain),this._idpWindow?.close();let i=this._createOptions?.idleOptions;!this.idleManager&&!i?.disableIdle&&(this.idleManager=_o.create(i),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(ze,JSON.stringify(this._chain.toJSON())),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Pa(this._chain)}async login(t){let r=um(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??cm,o=new URL(r?.identityProvider?.toString()||im);o.hash=am,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let s=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Ma,r?.onError):setTimeout(s,lm))};s()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let s={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(s,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(s){this._handleFailure(s.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break;default:break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await qa(this._storage),this._identity=new Ye,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function qa(e){await e.remove(qe),await e.remove(ze),await e.remove(Ku)}function um(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}var Nt=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}};var $u=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))($u||{});var Cs=class extends Error{},jr=class extends Error{},Vs=class extends Error{},Ds=class extends Error{},Us=class extends Error{},ks=class extends Error{},Ls=class extends Error{},qs=class extends Error{};var wn=class{async signIn({options:t,authClient:r,initAuth:n}){await Nt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Nt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(j(r)){o(new jr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:s=>{if(s===Ma){o(new Vs(s));return}o(new Cs(s))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Tu,allowPinAuthentication:t?.allowPin??Nu,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Ms=class extends wn{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let s=Ge.getInstance().get()?.container;if(j(s)||s===!1){let p=[fo,vu].includes(this.#e??fo);return au(this.#e)?`https://identity.${fo}`:p?`https://identity.${this.#e??fo}`:`https://${this.#e}`}let i=Ge.getInstance().get(),a=X(i)&&X(i?.internetIdentityId)?i.internetIdentityId:xu,{host:c,protocol:u}=new URL(s===!0?_n:s);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})(),o=URL.parse(n)?.hostname?.includes(Iu)===!0;return{...t!==!1&&{windowOpenerFeatures:As(o?Eu:Ou)},identityProvider:n}}};var js=class extends wn{#e;#t;constructor({appName:t,logoUrl:r}){super(),this.#e=t,this.#t=r}get id(){return"nfid"}signInOptions({windowed:t}){return{...t!==!1&&{windowOpenerFeatures:As(Ru)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#e)}&applicationLogo=${encodeURI(this.#t)}`}}};var Ot={certified:!1};var le=e=>X(e)?e:Ks()??new Ye;var Hu=({IDL:e})=>{let t=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),r=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),n=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),o=e.Record({field:n,desc:e.Bool}),s=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),i=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(s),description:e.Opt(e.Text),created_at:e.Opt(s)}),a=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),c=e.Record({order:e.Opt(o),owner:e.Opt(e.Principal),matcher:e.Opt(i),paginate:e.Opt(a)}),u=e.Record({controllers:e.Vec(e.Principal)}),p=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),d=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:p,expires_at:e.Opt(e.Nat64)}),l=e.Record({version:e.Opt(e.Nat64)}),f=e.Variant({Db:e.Null,Storage:e.Null}),h=e.Record({version:e.Opt(e.Nat64)}),_=e.Record({proposal_ids:e.Vec(e.Nat)}),g=e.Record({cycles:e.Nat,destination_id:e.Principal}),m=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),x=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),y=e.Record({key:m,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,x)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),T=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),O=e.Record({allowed_callers:e.Vec(e.Principal)}),R=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),E=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),v=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),w=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),I=e.Variant({Deny:e.Null,Allow:e.Null}),B=e.Record({status_code:e.Nat16,location:e.Text}),A=e.Record({iframe:e.Opt(w),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(I),redirects:e.Opt(e.Vec(e.Tuple(e.Text,B)))}),b=e.Record({db:e.Opt(v),authentication:e.Opt(R),storage:A}),N=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),P=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),V=e.Record({clear_existing_assets:e.Opt(e.Bool)}),q=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),S=e.Variant({AssetsUpgrade:V,SegmentsDeployment:q}),F=e.Record({status:P,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:S}),C=e.Variant({Heap:e.Null,Stable:e.Null}),D=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),k=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ee=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(C),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:D,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(k),write:D,max_changes_per_user:e.Opt(e.Nat32)}),ne=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),z=e.Record({memory:C,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Se=e.Variant({Callback:e.Record({token:z,callback:e.Func([],[],["query"])})}),Fe=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Se),status_code:e.Nat16}),pt=e.Record({token:e.Opt(z),body:e.Vec(e.Nat8)}),oe=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),xe=e.Record({batch_id:e.Nat}),Hs=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,y)),items_length:e.Nat64}),Gs=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zs=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,N)),items_length:e.Nat64}),Ws=e.Record({desc:e.Bool}),Ys=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Js=e.Record({order:e.Opt(Ws),paginate:e.Opt(Ys)}),Zs=e.Record({proposal_id:e.Nat}),Xs=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Zs,F)),items_length:e.Nat64}),Qs=e.Record({include_system:e.Bool}),ei=e.Record({matcher:e.Opt(Qs)}),ti=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ee)),items_length:e.Nat64}),ri=e.Record({stable:e.Nat64,heap:e.Nat64}),ni=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),oi=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:p,expires_at:e.Opt(e.Nat64)}),si=e.Record({controller:oi,controllers:e.Vec(e.Principal)}),ii=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Tn=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ai=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(C),max_size:e.Opt(e.Nat),read:D,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(k),write:D,max_changes_per_user:e.Opt(e.Nat32)}),ci=e.Record({iframe:e.Opt(w),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(I),redirects:e.Opt(e.Vec(e.Tuple(e.Text,B)))}),Nn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),On=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([t],[],[]),commit_proposal:e.Func([r],[e.Null],[]),commit_proposal_asset_upload:e.Func([t],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(t)],[],[]),count_assets:e.Func([e.Text,c],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,c],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([u],[e.Vec(e.Tuple(e.Principal,d))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,l],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,c],[],[]),del_filtered_docs:e.Func([e.Text,c],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,l))],[],[]),del_rule:e.Func([f,e.Text,h],[],[]),delete_proposal_assets:e.Func([_],[],[]),deposit_cycles:e.Func([g],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(y)],["query"]),get_auth_config:e.Func([],[e.Opt(R)],["query"]),get_config:e.Func([],[b],[]),get_db_config:e.Func([],[e.Opt(v)],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(N)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(y)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(N)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(F)],["query"]),get_rule:e.Func([f,e.Text],[e.Opt(ee)],["query"]),get_storage_config:e.Func([],[A],["query"]),http_request:e.Func([ne],[Fe],["query"]),http_request_streaming_callback:e.Func([z],[pt],["query"]),init_asset_upload:e.Func([oe],[xe],[]),init_proposal:e.Func([S],[e.Nat,F],[]),init_proposal_asset_upload:e.Func([oe,e.Nat],[xe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(oe),e.Nat],[e.Vec(e.Tuple(e.Text,xe))],[]),list_assets:e.Func([e.Text,c],[Hs],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Gs))],["query"]),list_docs:e.Func([e.Text,c],[zs],["query"]),list_proposals:e.Func([Js],[Xs],["query"]),list_rules:e.Func([f,ei],[ti],["query"]),memory_size:e.Func([],[ri],["query"]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ni],[R],[]),set_controllers:e.Func([si],[e.Vec(e.Tuple(e.Principal,d))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([ii],[v],[]),set_doc:e.Func([e.Text,e.Text,Tn],[N],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Tn))],[e.Vec(e.Tuple(e.Text,N))],[]),set_rule:e.Func([f,e.Text,ai],[ee],[]),set_storage_config:e.Func([ci],[A],[]),submit_proposal:e.Func([e.Nat],[e.Nat,F],[]),upload_asset_chunk:e.Func([Nn],[On],[]),upload_proposal_asset_chunk:e.Func([Nn],[On],[])})},Gu=({IDL:e})=>{let t=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),r=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),n=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),o=e.Record({field:n,desc:e.Bool}),s=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),i=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(s),description:e.Opt(e.Text),created_at:e.Opt(s)}),a=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),c=e.Record({order:e.Opt(o),owner:e.Opt(e.Principal),matcher:e.Opt(i),paginate:e.Opt(a)}),u=e.Record({controllers:e.Vec(e.Principal)}),p=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),d=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:p,expires_at:e.Opt(e.Nat64)}),l=e.Record({version:e.Opt(e.Nat64)}),f=e.Variant({Db:e.Null,Storage:e.Null}),h=e.Record({version:e.Opt(e.Nat64)}),_=e.Record({proposal_ids:e.Vec(e.Nat)}),g=e.Record({cycles:e.Nat,destination_id:e.Principal}),m=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),x=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),y=e.Record({key:m,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,x)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),T=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),O=e.Record({allowed_callers:e.Vec(e.Principal)}),R=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),E=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),v=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),w=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),I=e.Variant({Deny:e.Null,Allow:e.Null}),B=e.Record({status_code:e.Nat16,location:e.Text}),A=e.Record({iframe:e.Opt(w),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(I),redirects:e.Opt(e.Vec(e.Tuple(e.Text,B)))}),b=e.Record({db:e.Opt(v),authentication:e.Opt(R),storage:A}),N=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),P=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),V=e.Record({clear_existing_assets:e.Opt(e.Bool)}),q=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),S=e.Variant({AssetsUpgrade:V,SegmentsDeployment:q}),F=e.Record({status:P,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:S}),C=e.Variant({Heap:e.Null,Stable:e.Null}),D=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),k=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ee=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(C),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:D,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(k),write:D,max_changes_per_user:e.Opt(e.Nat32)}),ne=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),z=e.Record({memory:C,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Se=e.Variant({Callback:e.Record({token:z,callback:e.Func([],[],[])})}),Fe=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Se),status_code:e.Nat16}),pt=e.Record({token:e.Opt(z),body:e.Vec(e.Nat8)}),oe=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),xe=e.Record({batch_id:e.Nat}),Hs=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,y)),items_length:e.Nat64}),Gs=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zs=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,N)),items_length:e.Nat64}),Ws=e.Record({desc:e.Bool}),Ys=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Js=e.Record({order:e.Opt(Ws),paginate:e.Opt(Ys)}),Zs=e.Record({proposal_id:e.Nat}),Xs=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Zs,F)),items_length:e.Nat64}),Qs=e.Record({include_system:e.Bool}),ei=e.Record({matcher:e.Opt(Qs)}),ti=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ee)),items_length:e.Nat64}),ri=e.Record({stable:e.Nat64,heap:e.Nat64}),ni=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),oi=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:p,expires_at:e.Opt(e.Nat64)}),si=e.Record({controller:oi,controllers:e.Vec(e.Principal)}),ii=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Tn=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ai=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(C),max_size:e.Opt(e.Nat),read:D,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(k),write:D,max_changes_per_user:e.Opt(e.Nat32)}),ci=e.Record({iframe:e.Opt(w),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(I),redirects:e.Opt(e.Vec(e.Tuple(e.Text,B)))}),Nn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),On=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([t],[],[]),commit_proposal:e.Func([r],[e.Null],[]),commit_proposal_asset_upload:e.Func([t],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(t)],[],[]),count_assets:e.Func([e.Text,c],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,c],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([u],[e.Vec(e.Tuple(e.Principal,d))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,l],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,c],[],[]),del_filtered_docs:e.Func([e.Text,c],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,l))],[],[]),del_rule:e.Func([f,e.Text,h],[],[]),delete_proposal_assets:e.Func([_],[],[]),deposit_cycles:e.Func([g],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(y)],[]),get_auth_config:e.Func([],[e.Opt(R)],[]),get_config:e.Func([],[b],[]),get_db_config:e.Func([],[e.Opt(v)],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(N)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(y)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(N)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(F)],[]),get_rule:e.Func([f,e.Text],[e.Opt(ee)],[]),get_storage_config:e.Func([],[A],[]),http_request:e.Func([ne],[Fe],[]),http_request_streaming_callback:e.Func([z],[pt],[]),init_asset_upload:e.Func([oe],[xe],[]),init_proposal:e.Func([S],[e.Nat,F],[]),init_proposal_asset_upload:e.Func([oe,e.Nat],[xe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(oe),e.Nat],[e.Vec(e.Tuple(e.Text,xe))],[]),list_assets:e.Func([e.Text,c],[Hs],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Gs))],[]),list_docs:e.Func([e.Text,c],[zs],[]),list_proposals:e.Func([Js],[Xs],[]),list_rules:e.Func([f,ei],[ti],[]),memory_size:e.Func([],[ri],[]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ni],[R],[]),set_controllers:e.Func([si],[e.Vec(e.Tuple(e.Principal,d))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([ii],[v],[]),set_doc:e.Func([e.Text,e.Text,Tn],[N],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Tn))],[e.Vec(e.Tuple(e.Text,N))],[]),set_rule:e.Func([f,e.Text,ai],[ee],[]),set_storage_config:e.Func([ci],[A],[]),submit_proposal:e.Func([e.Nat],[e.Nat,F],[]),upload_asset_chunk:e.Func([Nn],[On],[]),upload_proposal_asset_chunk:e.Func([Nn],[On],[])})};var zu=({satelliteId:e,container:t})=>{let{satelliteId:r}=ja({satelliteId:e}),{container:n}=Ka({container:t});if(X(n)&&n!==!1){let{host:o,protocol:s}=new URL(n===!0?_n:n);return`${s}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},ja=({satelliteId:e})=>X(e)?{satelliteId:e}:Ge.getInstance().get()??{satelliteId:void 0},Ka=({container:e})=>X(e)?{container:e}:Ge.getInstance().get()??{container:void 0};var ge=({satellite:e,options:{certified:t}})=>Yu({idlFactory:t?Gu:Hu,actorKey:`stock#${t?"update":"query"}`,...e}),Wu=({idlFactory:e,...t})=>Yu({idlFactory:e,actorKey:"extended#query",...t}),Yu=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=ja({satelliteId:e});uo(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Ka({container:t});return await gn.getInstance().getActor({satelliteId:n,container:o,...r})};var Ju=e=>{if(j(e))return ce();switch(e.matcher){case"equal":return ce({Equal:e.timestamp});case"greaterThan":return ce({GreaterThan:e.timestamp});case"lessThan":return ce({LessThan:e.timestamp});case"between":return ce({Between:[e.timestamps.start,e.timestamps.end]});default:throw new qs("Invalid list matcher for timestamp",e)}},pr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:j(e)?[]:[{key:ce(e.key),description:ce(e.description),created_at:Ju(e.createdAt),updated_at:Ju(e.updatedAt)}],paginate:ce(j(t)?void 0:{start_after:ce(t.startAfter),limit:ce(j(t.limit)?void 0:BigInt(t.limit))}),order:ce(j(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:ce(j(n)?void 0:typeof n=="string"?L.fromText(n):n)});var Zu=async({data:e})=>{try{return await vs(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var $a=async e=>{let{data:t,version:r,description:n}=e;return{description:ce(n),data:await Au(t),version:ce(r)}},Ha=e=>{let{version:t}=e;return{version:ce(t)}},xo=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:s,...i}=e;return{key:t,description:Oe(o),owner:r.toText(),data:await vs(s),version:Oe(n),...i}};var Xu=async({collection:e,key:t,...r})=>{let{get_doc:n}=await ge(r),o=Oe(await n(e,t));if(!j(o))return xo({doc:o,key:t})},Qu=async({docs:e,...t})=>{let{get_many_docs:r}=await ge(t),n=e.map(({collection:i,key:a})=>[i,a]),o=await r(n),s=[];for(let[i,a]of o){let c=Oe(a);s.push(X(c)?await xo({key:i,doc:c}):void 0)}return s},ed=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await ge(r),{key:o}=t,s=await $a(t),i=await n(e,o,s);return await xo({key:o,doc:i})},td=async({docs:e,...t})=>{let{set_many_docs:r}=await ge(t),n=[];for(let{collection:i,doc:a}of e){let{key:c}=a;n.push([i,c,await $a(a)])}let o=await r(n),s=[];for(let[i,a]of o)s.push(await xo({key:i,doc:a}));return s},rd=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await ge(r),{key:o}=t;return n(e,o,Ha(t))},nd=async({docs:e,...t})=>{let{del_many_docs:r}=await ge(t),n=e.map(({collection:o,doc:s})=>[o,s.key,Ha(s)]);await r(n)},od=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await ge(r);return n(e,pr(t))},sd=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await ge(r),{items:o,items_page:s,items_length:i,matches_length:a,matches_pages:c}=await n(e,pr(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:_,...g}=d;u.push({key:p,description:Oe(h),owner:f.toText(),data:await Zu({data:l}),version:Oe(_),...g})}return{items:u,items_length:i,items_page:Oe(s),matches_length:a,matches_pages:Oe(c)}},id=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await ge(r);return n(e,pr(t))};var $s=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Xu({...r,satellite:{...e,identity:n},options:t??Ot})},Hb=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Qu({...r,satellite:{...e,identity:n},options:t??Ot})},ad=async({satellite:e,...t})=>{let r=le(e?.identity);return await ed({...t,satellite:{...e,identity:r},options:{certified:!0}})},cd=async({satellite:e,...t})=>{let r=le(e?.identity);return await td({...t,satellite:{...e,identity:r},options:{certified:!0}})},Gb=async({satellite:e,...t})=>{let r=le(e?.identity);return await rd({...t,satellite:{...e,identity:r},options:{certified:!0}})},zb=async({satellite:e,...t})=>{let r=le(e?.identity);return await nd({...t,satellite:{...e,identity:r},options:{certified:!0}})},Wb=async({satellite:e,filter:t,...r})=>{let n=le(e?.identity);return await od({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},Yb=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await sd({...n,filter:r??{},satellite:{...e,identity:o},options:t??Ot})},Jb=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await id({...n,filter:r??{},satellite:{...e,identity:o},options:t??Ot})};var ld=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,s]=await cd({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...X(n)&&{aaguid:Es(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var ud=(s=>(s[s.RequestingUserCredential=0]="RequestingUserCredential",s[s.FinalizingCredential=1]="FinalizingCredential",s[s.Signing=2]="Signing",s[s.FinalizingSession=3]="FinalizingSession",s[s.RetrievingUser=4]="RetrievingUser",s))(ud||{}),dd=(i=>(i[i.CreatingUserCredential=0]="CreatingUserCredential",i[i.ValidatingUserCredential=1]="ValidatingUserCredential",i[i.FinalizingCredential=2]="FinalizingCredential",i[i.Signing=3]="Signing",i[i.FinalizingSession=4]="FinalizingSession",i[i.RegisteringUser=5]="RegisteringUser",i))(dd||{});var bo=class{get id(){return"webauthn"}async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:s}=Ge.getInstance().get()??{satelliteId:void 0};if(j(s))throw new jr("Satellite ID not set. Have you initialized the Satellite?");let i=({step:_,state:g})=>{switch(_){case dr.RequestingUserCredential:t?.({step:1,state:g});break;case dr.FinalizingCredential:t?.({step:2,state:g});break;case dr.Signing:t?.({step:3,state:g});break}},c=await Nt({fn:async()=>await va.createWithNewCredential({onProgress:i,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await Nt({fn:async()=>await ld({delegationIdentity:u,passkeyIdentity:c,satelliteId:s}),step:5,onProgress:t});await Nt({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await Nt({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Ge.getInstance().get()??{satelliteId:void 0};if(j(o))throw new jr("Satellite ID not set. Have you initialized the Satellite?");let s=async({credentialId:d})=>{let l=await $s({collection:"#user-webauthn",key:Rs(d),options:{certified:!0},satellite:{identity:new Ye,satelliteId:o}});if(j(l))throw new Us("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Dr(h,co)},i=({step:d,state:l})=>{switch(d){case dr.RequestingUserCredential:t?.({step:0,state:l});break;case dr.FinalizingCredential:t?.({step:1,state:l});break;case dr.Signing:t?.({step:2,state:l});break}},a=await va.createWithExistingCredential({retrievePublicKey:s,onProgress:i}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Nt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await Nt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await Lr.generate({extractable:!1}),o=r??144e5,s=await qr.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:Mr.fromDelegation(n,s),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Ht;await Promise.all([n.set(qe,t.getKeyPair()),n.set(ze,JSON.stringify(r.getDelegation().toJSON()))])}};var wo=()=>Bs.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),pd=async()=>(await new Ht().remove(qe),await wo());var Ga=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var fd="juno.datastore.error.user.cannot_update";var hd=async({provider:e})=>{let{user:t,userId:r}=await za();if(X(t))return t;try{return await pm({userId:r,provider:e})}catch(n){if(Ga({error:n,type:fd})){let o=await md({userId:r});if(X(o))return o}throw n}},za=async()=>{let e=Ks();if(j(e))throw new Ls("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await md({userId:t});return{userId:t,user:r}},md=({userId:e})=>$s({collection:"#user",key:e}),pm=({userId:e,...t})=>ad({collection:"#user",doc:{key:e,data:t}});var tt,Wa=async()=>{await Ya({fn:async()=>{let{user:t}=await za();et.getInstance().set(t??null)}})},fm=async({user:e})=>{await Ya({fn:async()=>{et.getInstance().set(e)}})},_d=async({provider:e})=>{await Ya({fn:async()=>{let r=await hd({provider:e});et.getInstance().set(r)}})},Ya=async({fn:e})=>{if(tt=await wo(),!await tt.isAuthenticated()){tt=await pd();return}await e()},hm=async e=>{let t=async()=>await _m(e);if(Object.values(e)[0].context?.windowGuard===!1){await t();return}await Aa({fn:t})},mm=async e=>{let t=async()=>await ym(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Aa({fn:t})},_m=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new bo().signIn({options:t,loadAuth:Wa});return}if("nfid"in e){let{nfid:{options:t}}=e,{appName:r,logoUrl:n,...o}=t??{};await new js({appName:r,logoUrl:n}).signIn({options:o,authClient:tt,initAuth:_d});return}if("internet_identity"in e){let{internet_identity:{options:t}}=e,{domain:r,...n}=t??{};await new Ms({domain:r}).signIn({options:n,authClient:tt,initAuth:_d});return}throw new Ds("An unknown or unsupported provider was provided for sign-in.")},ym=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new bo().signUp({options:t,loadAuthWithUser:fm});return}throw new ks("An unknown or unsupported provider was provided for sign-up.")},Ja=async e=>{await gm(),tt=await wo(),e?.windowReload!==!1&&window.location.reload()},gm=async()=>{await tt?.logout(),tt=null,et.getInstance().reset(),gn.getInstance().reset(),yn.getInstance().reset()},Ks=()=>tt?.getIdentity(),xm=async()=>(tt??await wo()).getIdentity(),bm=async()=>{let e=et.getInstance().get();return j(e)||!(await tt?.isAuthenticated()??!1)?null:tt?.getIdentity()??null};var yd=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{Ia({message:"junoSignOutAuthTimer"}),await Ja()};return r.onmessage=async({data:o})=>{let{msg:s,data:i}=o;switch(s){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":Ia({message:"junoDelegationRemainingTime",detail:i?.authRemainingTime});return}},et.getInstance().subscribe(o=>{if(j(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var gd=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},xd=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()};var Gw=async({idlFactory:e,satellite:t})=>{let r=le(t?.identity);return await Wu({idlFactory:e,...t,identity:r})};var bd=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:s,upload_asset_chunk:i,commit_asset_upload:a}=n,{batch_id:c}=await s(wm(r));o?.onInitiatedBatch();let{chunkIds:u}=await Om({data:e,uploadFn:i,batchId:c});o?.onUploadedFileChunks(r.fullPath),await Nm({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var wm=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:s})=>({collection:t,full_path:n,name:e,token:ce(r),encoding_type:ce(o),description:ce(s)}),Tm=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([s,i])=>s.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:e,chunk_ids:t.map(({chunk_id:s})=>s),headers:[...r,...o??[]]}},Nm=async({commitFn:e,...t})=>{let r=Tm(t);await e(r)},Om=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Is()?new Blob([await e.arrayBuffer()]):e,s=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:t,orderId:s}),s++}let i=[];for await(let a of Em({uploadChunks:n}))i=[...i,...a];return{chunkIds:i}};async function*Em({uploadChunks:e,limit:t=12}){for(let r=0;r<e.length;r=r+t){let n=e.slice(r,r+t);yield await Promise.all(n.map(o=>Rm(o)))}}var Rm=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:ce(n)});var wd=async({asset:e,...t})=>{let r=await ge(t);await bd({actor:r,asset:e})},Td=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await ge(r),{items:o,items_length:s,items_page:i,matches_length:a,matches_pages:c}=await n(e,pr(t));return{items:o.map(([u,p])=>p),items_length:s,items_page:Oe(i),matches_length:a,matches_pages:Oe(c)}},Nd=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await ge(r);return n(e,pr(t))},Od=async({collection:e,fullPath:t,...r})=>(await ge(r)).del_asset(e,t),Ed=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await ge({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:s})=>[o,s]);await r(n)},Rd=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await ge(r);return n(e,pr(t))},vd=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await ge(r);return Oe(await n(e,t))},Id=async({assets:e,...t})=>{let{get_many_assets:r}=await ge(t),n=e.map(({collection:s,fullPath:i})=>[s,i]);return(await r(n)).map(([s,i])=>Oe(i))};var Ad=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var lT=e=>Sd(e),uT=e=>Sd({filename:e.data.name,...e}),Sd=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:s,satellite:i,encoding:a,description:c})=>{let u=le(i?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...i,identity:u};return await wd({asset:{data:t,filename:p,collection:r,token:s,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:Fd({satellite:l,assetKey:{fullPath:d,token:s}}),fullPath:d,name:p}},dT=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)},{items:s,...i}=await Td({collection:e,filter:t??{},satellite:o,options:n??Ot}),a=s.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:_,updated_at:g})=>{let m=Oe(u);return{fullPath:c,description:Oe(l),name:p,downloadUrl:Fd({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((x,[y,{modified:T,sha256:O,total_length:R}])=>({...x,[y]:{modified:T,sha256:Ad(O),total_length:R}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...i}},pT=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)};return await Nd({collection:e,satellite:o,filter:t??{},options:n??Ot})},fT=({collection:e,fullPath:t,satellite:r})=>Od({collection:e,fullPath:t,satellite:{...r,identity:le(r?.identity)},options:{certified:!0}}),hT=({assets:e,satellite:t})=>Ed({assets:e,satellite:{...t,identity:le(t?.identity)},options:{certified:!0}}),mT=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:le(t?.identity)};return await Rd({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},_T=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await vd({...r,satellite:{...e,identity:n},options:t??Ot})},yT=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Id({...r,satellite:{...e,identity:n},options:t??Ot})},Fd=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:le(r?.identity)};return`${zu(n)}${e}${X(t)?`?token=${t}`:""}`};var vm=e=>{let t=e?.satelliteId??gd();uo(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??xd();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,container:r}},RT=e=>Im(e),Im=async e=>{let t=vm(e);Ge.getInstance().set(t),await Wa();let r=t.workers?.auth!==void 0?yd(t.workers.auth):void 0;return[...r?[r]:[]]},Am=e=>et.getInstance().subscribe(e),vT=Am;export{$u as AuthClientSignInProgressStep,Ls as InitError,Ms as InternetIdentityProvider,qs as ListError,js as NFIDProvider,Cs as SignInError,jr as SignInInitError,Ds as SignInProviderNotSupportedError,Vs as SignInUserInterruptError,ks as SignUpProviderNotSupportedError,ud as WebAuthnSignInProgressStep,Us as WebAuthnSignInRetrievePublicKeyError,dd as WebAuthnSignUpProgressStep,vT as authSubscribe,pT as countAssets,Jb as countDocs,fT as deleteAsset,Gb as deleteDoc,mT as deleteFilteredAssets,Wb as deleteFilteredDocs,hT as deleteManyAssets,zb as deleteManyDocs,Fd as downloadUrl,_T as getAsset,$s as getDoc,bm as getIdentityOnce,yT as getManyAssets,Hb as getManyDocs,Gw as getSatelliteExtendedActor,RT as initJuno,Im as initSatellite,qh as isWebAuthnAvailable,dT as listAssets,Yb as listDocs,Am as onAuthStateChange,ad as setDoc,cd as setManyDocs,hm as signIn,Ja as signOut,mm as signUp,xm as unsafeIdentity,lT as uploadBlob,uT as uploadFile};
|
|
54
|
+
Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw Sn.fromCode(new Cn(p))}let c=as(i.headers);if(i.status===xa||i.status===rh)return{ok:i.ok,status:i.status,statusText:i.statusText,responseBodyBytes:a,headers:c};let u=await i.text();if(i.status===nh&&i.url.includes("api/v3"))throw re.fromCode(new Bn);if(u.startsWith("Invalid request expiry: "))throw W.fromCode(new wr(u,this.#l));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw re.fromCode(new Pn(i.status,i.statusText,c,u))}async query(t,r,n){let o=this.#p(),s=r.effectiveCanisterId?q.from(r.effectiveCanisterId):q.from(t);await this.#g(s),this.log.print(`ecid ${s.toString()}`),this.log.print(`canisterId ${t.toString()}`);let i,a=await(n??this.#n);if(!a)throw we.fromCode(new Xt);let c=q.from(t),u=a.getPrincipal(),p=ba(this.#l,this.#r),d={request_type:Ir.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=Ct(d);i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Dt.Query,body:d}),i=await a.transformRequest(i);let f=Yn(i.body),h={canister:c.toText(),ecid:s,transformedRequest:i,body:f,requestId:l,backoff:o,tries:0},m=async()=>{let _=await this.#b(h);return{requestDetails:d,..._}},y=async()=>{let _=this.#m.get(s.toString());if(_)return _;await this.fetchSubnetKeys(s.toString());let x=this.#m.get(s.toString());if(!x)throw Fe.fromCode(new $o);return x};try{if(!this.#_)return await m();let[_,x]=await Promise.all([m(),y()]);try{return this.#w(_,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#m.delete(s.toString());let g=await y();return this.#w(_,g)}}catch(_){let x;throw _ instanceof nt?(_.code.requestContext={requestId:l,senderPubKey:i.body.sender_pubkey,senderSignature:i.body.sender_sig,ingressExpiry:i.body.content.ingress_expiry},x=_):x=me.fromCode(new Pe(_)),this.log.error(`Error while making query: ${x.message}`,x),x}}#w;async createReadStateRequest(t,r){await this.#g();let n=await(r??this.#n);if(!n)throw we.fromCode(new Xt);let o=n.getPrincipal(),s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:Dt.ReadState,body:{request_type:Ir.ReadState,paths:t.paths,sender:o,ingress_expiry:ba(this.#l,this.#r)}});return n.transformRequest(s)}async readState(t,r,n,o){await this.#T();let s=q.from(t);function i(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(Rr(l,h))return f}}let a,c;if(o)a=o,c=Ct(a);else{c=i(r);let p=await this.#n;if(!p)throw we.fromCode(new Xt);a=await this.createReadStateRequest(r,p)}this.log.print(`fetching "/api/v2/canister/${s}/read_state" with request:`,a);let u=this.#p();try{let{responseBodyBytes:p}=await this.#y({requestFn:()=>this.#o(""+new URL(`/api/v2/canister/${s.toString()}/read_state`,this.host),{...this.#a,...a.request,body:Yn(a.body)}),backoff:u,tries:0}),d=je(p);return this.log.print("Read state response:",d),d}catch(p){let d;throw p instanceof nt?(p.code.requestContext={requestId:c,senderPubKey:a.body.sender_pubkey,senderSignature:a.body.sender_sig,ingressExpiry:a.body.content.ingress_expiry},d=p):d=me.fromCode(new Pe(p)),this.log.error(`Error while making read state: ${d.message}`,d),d}}parseTimeFromResponse(t){let r;if(t.certificate){let n=je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw re.fromCode(new Qt("Could not decode time from response"));let o=Vr(["time"],r);if(o.status!==$e.Found)throw re.fromCode(new St("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw re.fromCode(new Wr("Time was not in its expected format."));let s=hn(o.value);return this.log.print("Time from response:",s),this.log.print("Time from response in milliseconds:",s.getTime()),s.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#i=this.#i??(async()=>{await this.#T();let r=Date.now();try{t||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=t??q.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new Ye,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=(await Promise.all(Array(3).fill(null).map(async()=>{let c=(await da({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(c instanceof Date)return c.getTime()},[]))).reduce((a,c)=>typeof c=="number"&&c>a?c:a,0);i>0&&(this.#r=i-r,this.#c=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}catch(n){let o=n instanceof nt?n:me.fromCode(new Pe(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#i.finally(()=>{this.#i=null})}async status(){let t=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{};this.log.print('fetching "/api/v2/status"');let r=this.#p(),{responseBodyBytes:n}=await this.#y({backoff:r,requestFn:()=>this.#o(""+new URL("/api/v2/status",this.host),{headers:t,...this.#a}),tries:0});return je(n)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let t=await this.status();return this.rootKey=t.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#g(t){await Promise.all([this.#T(),this.#O(t)])}async#T(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw we.fromCode(new mt(this.#t))}async#O(t){this.#u&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=q.from(t);await this.#g(r);let o=(await da({canisterId:r,paths:["subnet"],agent:this})).get("subnet");if(o&&typeof o=="object"&&"nodeKeys"in o)return this.#m.set(r.toText(),o),o}_transform(t){let r=Promise.resolve(t);if(t.endpoint===Dt.Call)for(let n of this.#h)r=r.then(o=>n(o).then(s=>s||o));else for(let n of this.#f)r=r.then(o=>n(o).then(s=>s||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#c}};function ba(e,t){let r=e*wa;return an.fromDeltaInMilliseconds(r,t)}var ih=300*1e3;function ru(){return dh(ch(ah(),1e3),uh(1e3,1.2),lh(ih))}function ah(){let e=!0;return async()=>e?(e=!1,!0):!1}function ch(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(s=>setTimeout(s,t))}}function lh(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw re.fromCode(new br(`Request timed out after ${e} msec`,n,o))}}function uh(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function dh(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var ou={preSignReadStateRequest:!1};function su(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ta(e,t){return e!==null&&typeof e=="object"&&su(e,t)}function fh(e,t){return su(e,t)&&typeof e[t]=="function"}function nu(e){return Ta(e,"body")&&Ta(e.body,"content")&&e.body.content.request_type===Ir.ReadState&&Ta(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&fh(e.body.content.ingress_expiry,"toHash")}async function Na(e,t,r,n={}){let o=[Q("request_status"),r],s,i;if(n.preSignReadStateRequest??!1?(i=await hh({paths:[o],agent:e,pollingOptions:n}),s=await e.readState(t,{paths:[o]},void 0,i)):s=await e.readState(t,{paths:[o]}),e.rootKey==null)throw we.fromCode(new mt);let c=await cr.create({certificate:s.certificate,rootKey:e.rootKey,canisterId:t,blsVerify:n.blsVerify,agent:e}),u=Ae(c.lookup_path([...o,Q("status")])),p;switch(typeof u>"u"?p=wt.Unknown:p=new TextDecoder().decode(u),p){case wt.Replied:return{reply:Ae(c.lookup_path([...o,"reply"])),certificate:c};case wt.Received:case wt.Unknown:case wt.Processing:{let d=n.strategy??ru();return await d(t,r,p),Na(e,t,r,{...n,strategy:d,request:i})}case wt.Rejected:{let d=new Uint8Array(Ae(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(Ae(c.lookup_path([...o,"reject_message"]))),f=Ae(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Jt.fromCode(new Jr(r,d,l,h))}case wt.Done:throw me.fromCode(new qo(r))}throw er}async function hh(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&nu(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!nu(o))throw W.fromCode(new zo(o));return o}var Qe=Symbol.for("ic-agent-metadata"),Rs=class e{static agentOf(t){return t[Qe].config.agent}static interfaceOf(t){return t[Qe].service}static canisterIdOf(t){return q.from(t[Qe].config.canisterId)}static createActorClass(t,r){let n=t({IDL:Er});class o extends e{constructor(i){if(!i.canisterId)throw W.fromCode(new Vn(i.canisterId));let a=typeof i.canisterId=="string"?q.fromText(i.canisterId):i.canisterId;super({config:{...iu,...i,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Oa),r?.certificate&&u.annotations.push(au),this[c]=_h(this,c,u,i.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw W.fromCode(new Vn(r.canisterId));return new(this.createActorClass(t))(r)}static createActorWithHttpDetails(t,r){return new(this.createActorClass(t,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(t,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(t,n))(r)}constructor(t){this[Qe]=Object.freeze(t)}};function _n(e,t){let r=Er.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var iu={pollingOptions:ou},Oa="http-details",au="certificate";function _h(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(i,...a)=>{i={...i,...e[Qe].config.queryTransform?.(t,a,{...e[Qe].config,...i})};let c=i.agent||e[Qe].config.agent||new Lr,u=q.from(i.canisterId||e[Qe].config.canisterId),p=Er.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:i.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case Gt.Rejected:{let f=new ko(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},Jt.fromCode(f)}case Gt.Replied:return r.annotations.includes(Oa)?{httpDetails:l,result:_n(r.retTypes,d.reply.arg)}:_n(r.retTypes,d.reply.arg)}}:o=async(i,...a)=>{i={...i,...e[Qe].config.callTransform?.(t,a,{...e[Qe].config,...i})};let c=i.agent||e[Qe].config.agent||Lr.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...iu,...e[Qe].config,...i},l=q.from(u),f=p!==void 0?q.from(p):l,h=Er.encode(r.argTypes,a),{requestId:m,response:y,requestDetails:_}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:i.nonce}),x,g;if(tc(y.body)){if(c.rootKey==null)throw we.fromCode(new mt);let R=y.body.certificate;g=await cr.create({certificate:R,rootKey:c.rootKey,canisterId:f,blsVerify:n,agent:c});let I=[Q("request_status"),m];switch(new TextDecoder().decode(Ae(g.lookup_path([...I,"status"])))){case"replied":x=Ae(g.lookup_path([...I,"reply"]));break;case"rejected":{let v=new Uint8Array(Ae(g.lookup_path([...I,"reject_code"])))[0],P=new TextDecoder().decode(Ae(g.lookup_path([...I,"reject_message"]))),A=Ae(g.lookup_path([...I,"error_code"])),b=A?new TextDecoder().decode(A):void 0,N=new Jr(m,v,P,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:y},Jt.fromCode(N)}}}else if(ec(y.body)){let{reject_code:R,reject_message:I,error_code:w}=y.body,v=new Lo(m,R,I,w);throw v.callContext={canisterId:l,methodName:t,httpDetails:y},Jt.fromCode(v)}if(y.status===202){let R={...d,blsVerify:n},I=await Na(c,f,m,R);g=I.certificate,x=I.reply}let T=r.annotations.includes(Oa),O=r.annotations.includes(au),E={...y,requestDetails:_};if(x!==void 0)return T&&O?{httpDetails:E,certificate:g,result:_n(r.retTypes,x)}:O?{certificate:g,result:_n(r.retTypes,x)}:T?{httpDetails:E,result:_n(r.retTypes,x)}:_n(r.retTypes,x);{let R=new Pe(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(I=>I.display()).join(",")}].`);throw R.callContext={canisterId:l,methodName:t,httpDetails:E},me.fromCode(R)}};let s=(...i)=>o({},...i);return s.withOptions=i=>(...a)=>o(i,...a),s}var yh=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(yh||{}),cg=BigInt(1e8);var $=e=>e==null,X=e=>!$(e),gh=e=>X(e)&&e!=="",lu=e=>!gh(e);var xh=class extends Error{},fo=(e,t)=>{if(e==null)throw new xh(t)};var qr=e=>new Uint8Array(e),vs=e=>Array.from(e);var uu=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var cu="abcdefghijklmnopqrstuvwxyz234567",po=Object.create(null);for(let e=0;e<cu.length;e++)po[cu[e]]=e;po[0]=po.o;po[1]=po.i;var Is=e=>btoa(String.fromCharCode(...new Uint8Array(e)));var lg=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);var Ea="__bigint__",Ra="__principal__",va="__uint8array__",du=(e,t)=>typeof t=="bigint"?{[Ea]:`${t}`}:X(t)&&q.isPrincipal(t)?{[Ra]:q.from(t).toText()}:X(t)&&t instanceof Uint8Array?{[va]:Array.from(t)}:t,pu=(e,t)=>{let r=n=>t[n];return X(t)&&typeof t=="object"&&Ea in t?BigInt(r(Ea)):X(t)&&typeof t=="object"&&Ra in t?q.fromText(r(Ra)):X(t)&&typeof t=="object"&&va in t?Uint8Array.from(r(va)):t};var ae=e=>X(e)?[e]:[],Oe=e=>e?.[0];var bh=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=wh({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},wh=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?vs(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return t==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:t}};function Th(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,s)=>t.setUint8(s,o));let n=t.getUint16(0);return e.slice(55+n)}function Nh(e){return Ur(e,uo)}var Oh=class{constructor(e){this._cose=e,this.#e=Nh(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},yu=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new Oh(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Is(this.#e)}},Eh=class extends yu{#e;#t;constructor({authData:e,...t}){super(t);let r=bh({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#t="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#t}getAAGUIDText(){return this.#e}},Rh=class extends yu{},vh=class extends Error{},Ih=class extends Error{},Ah=class extends Error{},Sh=class extends Error{},Fh=class extends Error{},Ph=class extends Error{},Bh=class extends Error{},fu=class extends Error{};var Ch={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Vh=6e4,gu=()=>window.crypto.getRandomValues(new Uint8Array(16)),Dh=()=>gu(),Uh=()=>gu(),kh=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new vh}},xu=({appId:e})=>e?.id??kh(),Lh=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:xu({appId:e})}}),o=()=>({user:{id:Uh(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:Dh(),...n(),...o(),pubKeyCredParams:Object.values(Ch).map(s=>({type:"public-key",alg:s})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},qh=(e={})=>({rpId:xu(e),allowCredentials:[],userVerification:"required"}),Ia=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}},dr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(dr||{}),bu=({timeout:e})=>AbortSignal.timeout(e??Vh),Mh=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...qh(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:bu({timeout:n})}),hu=e=>{if(e.status!=="initialized")throw new Ih},mu=e=>{if($(e))throw new Ah},_u=({type:e})=>{if(e!=="public-key")throw new Sh},Aa=class ho extends bt{#e;#t;constructor({onProgress:t,...r}){if(super(),this.#e=t,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=ho.#r({credential:new Eh(r)})}static#r({credential:t}){return{status:"initialized",credential:t}}static async createWithNewCredential({passkeyOptions:t,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:Lh(t),signal:bu({timeout:r})});mu(o),_u(o);let{response:{attestationObject:s},rawId:i}=o;if($(s))throw new Fh;let{authData:a}=os.decode(qr(s)),c=Th(a);return new ho({...n,rawId:qr(i),cose:c,authData:a})}static async createWithExistingCredential(t){return new ho(t)}getPublicKey(){hu(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){hu(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Ia({fn:async()=>{let n=await Mh({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return mu(n),_u(n),n},step:0,onProgress:this.#e});return await Ia({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!uu({a:this.#t.credential.getCredentialId(),b:qr(n)}))throw new Ph;return}let{retrievePublicKey:o}=this.#t,s=await o({credentialId:qr(n)});this.#t=ho.#r({credential:new Rh({rawId:qr(n),cose:s})})},step:1,onProgress:this.#e}),await Ia({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:s,signature:i}="authenticatorData"in n&&"signature"in n?n:{};if($(s))throw new fu;if($(i))throw new fu;let a=os.encode({authenticator_data:s,client_data_json:new TextDecoder().decode(o),signature:qr(i)});if($(a))throw new Bh;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},jh=async()=>X(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var yn=class{callbacks=[];populate(t){this.callbacks.forEach(({callback:r})=>r(t))}subscribe(t){let r=Symbol();return this.callbacks.push({id:r,callback:t}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var et=class e extends yn{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.authUser=t,this.populate(t)}get(){return this.authUser}subscribe(t){let r=super.subscribe(t);return t(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var Sa=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var gn="http://127.0.0.1:5987",wu="rdmx6-jaaaa-aaaaa-aaadq-cai";var Tu=async({identity:e,container:t})=>{let n=X(t)&&t!==!1?t===!0?gn:t:"https://icp-api.io",o=X(t);return await Lr.create({identity:e,shouldFetchRootKey:o,host:n})};var xn=class e{static instance;#e=void 0;constructor(){}static getInstance(){return $(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if($(this.#e)||$(this.#e[n])){let o=await Tu({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var bn=class e{static instance;#e=void 0;constructor(){}static getInstance(){return $(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let s=`${n}#${r.getPrincipal().toText()}#${t};`;if($(this.#e)||$(this.#e[s])){let i=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[s]:i},i}return this.#e[s]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await xn.getInstance().getAgent(n);return Rs.createActor(t,{agent:o,canisterId:r})}};var Nu=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Kh=()=>{window.addEventListener("beforeunload",Nu,{capture:!0})},$h=()=>{window.removeEventListener("beforeunload",Nu,{capture:!0})},Fa=async({fn:e})=>{try{return Kh(),await e()}finally{$h()}};var Ge=class e extends yn{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.env=t,this.populate(t)}get(){return this.env}reset(){this.env=null}subscribe(t){let r=super.subscribe(t);return t(this.env),r}};var Ou=BigInt(144e11),Eu=!1,Ru={width:576,height:576},vu={width:424,height:576},Iu={width:505,height:705},mo="internetcomputer.org",Au="ic0.app",Su="id.ai";var Fu=async e=>{let t=new Blob([JSON.stringify(e,du)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},As=async e=>{let t=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await t.text(),pu)},Ss=()=>typeof window<"u";var Fs=({width:e,height:t})=>{if(!Ss()||$(window)||$(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,s=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${o}, left=${s}`};function Pu(e){return e!==null&&typeof e=="object"}var _o=class e{static from(t){if(typeof t=="string"){let r=be(t);return this.fromRaw(r)}else if(Pu(t)){let r=t;if(Pu(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(_t(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(_t(r));if("rawKey"in r&&r.rawKey instanceof Uint8Array)return this.fromRaw(r.rawKey);if("derKey"in r)return this.fromDer(r.derKey);if("toDer"in r)return this.fromDer(r.toDer())}}throw new Error("Cannot construct Ed25519PublicKey from the provided key.")}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){let r=Ur(t,Dr);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=kr(t,Dr);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}},wn=class e extends bt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=ke.utils.randomPrivateKey()),Tc(t,new Uint8Array(new Array(32).fill(0)))&&console.warn("Seed is all zeros. This is not a secure seed. Please provide a seed with sufficient entropy if this is a production environment.");let r=new Uint8Array(32);for(let o=0;o<32;o++)r[o]=t[o];let n=ke.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(_o.fromDer(be(r)),be(n))}static fromJSON(t){let r=JSON.parse(t);if(Array.isArray(r)){if(typeof r[0]=="string"&&typeof r[1]=="string")return this.fromParsedJson([r[0],r[1]]);throw new Error("Deserialization error: JSON must have at least 2 items.")}throw new Error(`Deserialization error: Invalid JSON type for string: ${JSON.stringify(t)}`)}static fromKeyPair(t,r){return new e(_o.fromRaw(t),r)}static fromSecretKey(t){let r=ke.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=_o.from(t),this.#t=r}toJSON(){return[M(this.#e.toDer()),M(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=ke.sign(t,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,s,i]=[t,r,n].map(a=>(typeof a=="string"&&(a=be(a)),_t(a)));return ke.verify(o,s,i)}};var Pa=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function Bu(e){if(typeof global<"u"&&global.crypto&&global.crypto.subtle)return global.crypto.subtle;if(e)return e;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new Pa("Global crypto was not available and none was provided. Please inlcude a SubtleCrypto implementation. See https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto")}var Mr=class e extends bt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},s=Bu(o),i=await s.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=_t(await s.exportKey("spki",i.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(i,a,s)}static async fromKeyPair(t,r){let n=Bu(r),o=_t(await n.exportKey("spki",t.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new e(t,o,n)}constructor(t,r,n){super(),this._keyPair=t,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let t=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return t},r}async sign(t){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=_t(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var Ps=class{#e;get rawKey(){return this.#e.rawKey}get derKey(){return this.#e.derKey}toDer(){return this.#e.toDer()}getPublicKey(){return this.#e}getPrincipal(){if(!this.#e.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return q.fromUint8Array(new Uint8Array(this.#e.rawKey))}transformRequest(){return Promise.reject("Not implemented. You are attempting to use a partial identity to sign calls, but this identity only has access to the public key.To sign calls, use a DelegationIdentity instead.")}constructor(t){this.#e=t}};function Ba(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return be(e)}var Tn=class{constructor(t,r,n){this.pubkey=t,this.expiration=r,this.targets=n}toCborValue(){return{pubkey:this.pubkey,expiration:this.expiration,...this.targets&&{targets:this.targets}}}toJSON(){return{expiration:this.expiration.toString(16),pubkey:M(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function Hh(e,t,r,n){let o=new Tn(t.toDer(),BigInt(+r)*BigInt(1e6),n),s=new Uint8Array([...Si,...new Uint8Array(Ct({...o}))]),i=await e.sign(s);return{delegation:o,signature:i}}var jr=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let s=await Hh(t,r,n,o.targets);return new e([...o.previous?.delegations||[],s],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(s=>{let{delegation:i,signature:a}=s,{pubkey:c,expiration:u,targets:p}=i;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new Tn(Ba(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return q.fromHex(d)})),signature:Ba(a)}});return new this(o,Ba(r))}static fromDelegations(t,r){return new this(t,r)}constructor(t,r){this.delegations=t,this.publicKey=r}toJSON(){return{delegations:this.delegations.map(t=>{let{delegation:r,signature:n}=t,{targets:o}=r;return{delegation:{expiration:r.expiration.toString(16),pubkey:M(r.pubkey),...o&&{targets:o.map(s=>s.toHex())}},signature:M(n)}}),publicKey:M(this.publicKey)}}},Kr=class extends bt{static fromDelegation(t,r){return new this(t,r)}constructor(t,r){super(),this._inner=t,this._delegation=r}getDelegation(){return this._delegation}getPublicKey(){return{derKey:this._delegation.publicKey,toDer:()=>this._delegation.publicKey}}sign(t){return this._inner.sign(t)}async transformRequest(t){let{body:r,...n}=t,o=await Ct(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...$n,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},yo=class e extends Ps{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function Ca(e,t){for(let{delegation:o}of e.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=t?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?q.fromText(o):o)):r.push(typeof n=="string"?q.fromText(n):n));for(let o of r){let s=o.toText();for(let{delegation:i}of e.delegations){if(i.targets===void 0)continue;let a=!0;for(let c of i.targets)if(c.toText()===s){a=!1;break}if(a)return!1}}return!0}var Cu=["mousedown","mousemove","keydown","touchstart","wheel"],go=class{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new this(t)}constructor(t={}){let{onIdle:r,idleTimeout:n=600*1e3}=t||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),Cu.forEach(function(i){document.addEventListener(i,o,!0)});let s=(i,a)=>{let c;return(...u)=>{let p=this,d=function(){c=void 0,i.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let i=s(o,t?.scrollDebounce??100);window.addEventListener("scroll",i,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);Cu.forEach(function(r){document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>r())}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var Gh=(e,t)=>t.some(r=>e instanceof r),Vu,Du;function zh(){return Vu||(Vu=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Wh(){return Du||(Du=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Uu=new WeakMap,Da=new WeakMap,ku=new WeakMap,Va=new WeakMap,ka=new WeakMap;function Yh(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",s),e.removeEventListener("error",i)},s=()=>{r(Tt(e.result)),o()},i=()=>{n(e.error),o()};e.addEventListener("success",s),e.addEventListener("error",i)});return t.then(r=>{r instanceof IDBCursor&&Uu.set(r,e)}).catch(()=>{}),ka.set(t,e),t}function Jh(e){if(Da.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",s),e.removeEventListener("error",i),e.removeEventListener("abort",i)},s=()=>{r(),o()},i=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",s),e.addEventListener("error",i),e.addEventListener("abort",i)});Da.set(e,t)}var Ua={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return Da.get(e);if(t==="objectStoreNames")return e.objectStoreNames||ku.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Tt(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function Lu(e){Ua=e(Ua)}function Zh(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Bs(this),t,...r);return ku.set(n,t.sort?t.sort():[t]),Tt(n)}:Wh().includes(e)?function(...t){return e.apply(Bs(this),t),Tt(Uu.get(this))}:function(...t){return Tt(e.apply(Bs(this),t))}}function Xh(e){return typeof e=="function"?Zh(e):(e instanceof IDBTransaction&&Jh(e),Gh(e,zh())?new Proxy(e,Ua):e)}function Tt(e){if(e instanceof IDBRequest)return Yh(e);if(Va.has(e))return Va.get(e);let t=Xh(e);return t!==e&&(Va.set(e,t),ka.set(t,e)),t}var Bs=e=>ka.get(e);function Mu(e,t,{blocked:r,upgrade:n,blocking:o,terminated:s}={}){let i=indexedDB.open(e,t),a=Tt(i);return n&&i.addEventListener("upgradeneeded",c=>{n(Tt(i.result),c.oldVersion,c.newVersion,Tt(i.transaction),c)}),r&&i.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{s&&c.addEventListener("close",()=>s()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var Qh=["get","getKey","getAll","getAllKeys","count"],em=["put","add","delete","clear"],La=new Map;function qu(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(La.get(t))return La.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=em.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Qh.includes(r)))return;let s=async function(i,...a){let c=this.transaction(i,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return La.set(t,s),s}Lu(e=>({...e,get:(t,r,n)=>qu(t,r)||e.get(t,r,n),has:(t,r)=>!!qu(t,r)||e.has(t,r)}));var ju="auth-client-db",Ku="ic-keyval",tm=async(e=ju,t=Ku,r)=>(Cs&&localStorage?.getItem(ze)&&(localStorage.removeItem(ze),localStorage.removeItem(Le)),await Mu(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function rm(e,t,r){return await e.get(t,r)}async function nm(e,t,r,n){return await e.put(t,n,r)}async function om(e,t,r){return await e.delete(t,r)}var xo=class e{_db;_storeName;static async create(t){let{dbName:r=ju,storeName:n=Ku,version:o=$u}=t??{},s=await tm(r,n,o);return new e(s,n)}constructor(t,r){this._db=t,this._storeName=r}async set(t,r){return await nm(this._db,this._storeName,t,r)}async get(t){return await rm(this._db,this._storeName,t)??null}async remove(t){return await om(this._db,this._storeName,t)}};var Le="identity",ze="delegation",Hu="iv",$u=1,Cs=typeof window<"u",bo=class{prefix;_localStorage;constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=typeof window>"u"?typeof global>"u"?typeof self>"u"?void 0:self.localStorage:global.localStorage:window.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},Ht=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise(t=>{if(this.initializedDb){t(this.initializedDb);return}xo.create(this.#e).then(r=>{this.initializedDb=r,t(r)})})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var sm=BigInt(1e9),im=BigInt(3600),am=sm*im,cm="https://identity.internetcomputer.org",lm="#authorize",um=BigInt(8)*am,qa="ECDSA",Ma="Ed25519",dm=500,Ka="UserInterrupt",Vs=class{_identity;_key;_chain;_storage;idleManager;_createOptions;_idpWindow;_eventHandler;static async create(t={}){let r=t.storage??new Ht,n=t.keyType??qa,o=null;if(t.identity)o=t.identity;else{let c=await r.get(Le);if(!c&&Cs)try{let u=new bo,p=await u.get(ze),d=await u.get(Le);p&&d&&n===qa&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(ze,p),await r.set(Le,d),c=p,await u.remove(ze),await u.remove(Le))}catch(u){console.error("error while attempting to recover localstorage: "+u)}if(c)try{typeof c=="object"?n===Ma&&typeof c=="string"?o=wn.fromJSON(c):o=await Mr.fromKeyPair(c):typeof c=="string"&&(o=wn.fromJSON(c))}catch{}}let s=new Ye,i=null;if(o)try{let c=await r.get(ze);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?s=t.identity:c&&(i=jr.fromJSON(c),Ca(i)?"toDer"in o?s=yo.fromDelegation(o,i):s=Kr.fromDelegation(o,i):(await ja(r),o=null))}catch(c){console.error(c),await ja(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(i||t.identity)&&(a=go.create(t.idleOptions)),o||(n===Ma?(o=wn.generate(),await r.set(Le,JSON.stringify(o.toJSON()))):(t.storage&&n===qa&&console.warn(`You are using a custom storage provider that may not support CryptoKey storage. If you are using a custom storage provider that does not support CryptoKey storage, you should use '${Ma}' as the key type, as it can serialize to a string`),o=await Mr.generate(),await r.set(Le,o.getKeyPair()))),new this(s,o,i,r,a,t)}constructor(t,r,n,o,s,i,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=s,this._createOptions=i,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}_registerDefaultIdleCallback(){let t=this._createOptions?.idleOptions;!t?.onIdle&&!t?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(t,r){let n=t.delegations.map(a=>({delegation:new Tn(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=jr.fromDelegations(n,t.userPublicKey),s=this._key;if(!s)return;this._chain=o,"toDer"in s?this._identity=yo.fromDelegation(s,this._chain):this._identity=Kr.fromDelegation(s,this._chain),this._idpWindow?.close();let i=this._createOptions?.idleOptions;!this.idleManager&&!i?.disableIdle&&(this.idleManager=go.create(i),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(ze,JSON.stringify(this._chain.toJSON())),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Ca(this._chain)}async login(t){let r=pm(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??um,o=new URL(r?.identityProvider?.toString()||cm);o.hash=lm,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let s=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Ka,r?.onError):setTimeout(s,dm))};s()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let s={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(s,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(s){this._handleFailure(s.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break;default:break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await ja(this._storage),this._identity=new Ye,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function ja(e){await e.remove(Le),await e.remove(ze),await e.remove(Hu)}function pm(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}var Nt=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}};var Gu=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(Gu||{});var Ds=class extends Error{},$r=class extends Error{},Us=class extends Error{},ks=class extends Error{},Ls=class extends Error{},qs=class extends Error{},Ms=class extends Error{},js=class extends Error{};var Nn=class{async signIn({options:t,authClient:r,initAuth:n}){await Nt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Nt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if($(r)){o(new $r("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:s=>{if(s===Ka){o(new Us(s));return}o(new Ds(s))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Ou,allowPinAuthentication:t?.allowPin??Eu,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Ks=class extends Nn{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let s=Ge.getInstance().get()?.container;if($(s)||s===!1){let p=[mo,Au].includes(this.#e??mo);return lu(this.#e)?`https://identity.${mo}`:p?`https://identity.${this.#e??mo}`:`https://${this.#e}`}let i=Ge.getInstance().get(),a=X(i)&&X(i?.internetIdentityId)?i.internetIdentityId:wu,{host:c,protocol:u}=new URL(s===!0?gn:s);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:Fs((()=>{try{let{hostname:s}=new URL(n);return s.includes(Su)}catch{return!1}})()?vu:Ru)},identityProvider:n}}};var $s=class extends Nn{#e;#t;constructor({appName:t,logoUrl:r}){super(),this.#e=t,this.#t=r}get id(){return"nfid"}signInOptions({windowed:t}){return{...t!==!1&&{windowOpenerFeatures:Fs(Iu)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#e)}&applicationLogo=${encodeURI(this.#t)}`}}};var Ot={certified:!1};var ce=e=>X(e)?e:Hs()??new Ye;var zu=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),s=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),i=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),a=e.Record({field:i,desc:e.Bool}),c=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),u=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(c),description:e.Opt(e.Text),created_at:e.Opt(c)}),p=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),d=e.Record({order:e.Opt(a),owner:e.Opt(e.Principal),matcher:e.Opt(u),paginate:e.Opt(p)}),l=e.Record({controllers:e.Vec(e.Principal)}),f=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),h=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:f,expires_at:e.Opt(e.Nat64)}),m=e.Record({version:e.Opt(e.Nat64)}),y=e.Variant({Db:e.Null,Storage:e.Null}),_=e.Record({version:e.Opt(e.Nat64)}),x=e.Record({proposal_ids:e.Vec(e.Nat)}),g=e.Record({cycles:e.Nat,destination_id:e.Principal}),T=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),O=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),E=e.Record({key:T,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,O)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),R=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),I=e.Record({allowed_callers:e.Vec(e.Principal)}),w=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(R),rules:e.Opt(I)}),v=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),P=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(v)}),A=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),b=e.Variant({Deny:e.Null,Allow:e.Null}),N=e.Record({status_code:e.Nat16,location:e.Text}),F=e.Record({iframe:e.Opt(A),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(v),raw_access:e.Opt(b),redirects:e.Opt(e.Vec(e.Tuple(e.Text,N)))}),V=e.Record({db:e.Opt(P),authentication:e.Opt(w),storage:F}),k=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),S=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),B=e.Record({clear_existing_assets:e.Opt(e.Bool)}),C=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),L=e.Variant({AssetsUpgrade:B,SegmentsDeployment:C}),D=e.Record({status:S,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:L}),ee=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),te=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),z=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:ee,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(te),write:ee,max_changes_per_user:e.Opt(e.Nat32)}),Se=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),fe=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),pt=e.Variant({Callback:e.Record({token:fe,callback:e.Func([],[],["query"])})}),he=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(pt),status_code:e.Nat16}),qe=e.Record({token:e.Opt(fe),body:e.Vec(e.Nat8)}),fr=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),hr=e.Record({batch_id:e.Nat}),zs=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,E)),items_length:e.Nat64}),Ws=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Ys=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,k)),items_length:e.Nat64}),Js=e.Record({desc:e.Bool}),Zs=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Xs=e.Record({order:e.Opt(Js),paginate:e.Opt(Zs)}),Qs=e.Record({proposal_id:e.Nat}),ei=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Qs,D)),items_length:e.Nat64}),ti=e.Record({include_system:e.Bool}),ri=e.Record({matcher:e.Opt(ti)}),ni=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,z)),items_length:e.Nat64}),oi=e.Record({stable:e.Nat64,heap:e.Nat64}),si=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(R),rules:e.Opt(I)}),ii=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:f,expires_at:e.Opt(e.Nat64)}),ai=e.Record({controller:ii,controllers:e.Vec(e.Principal)}),ci=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(v)}),On=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),li=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:ee,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(te),write:ee,max_changes_per_user:e.Opt(e.Nat32)}),ui=e.Record({iframe:e.Opt(A),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(v),raw_access:e.Opt(b),redirects:e.Opt(e.Vec(e.Tuple(e.Text,N)))}),En=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Rn=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([o],[],[]),commit_proposal:e.Func([s],[e.Null],[]),commit_proposal_asset_upload:e.Func([o],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(o)],[],[]),count_assets:e.Func([e.Text,d],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,d],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([l],[e.Vec(e.Tuple(e.Principal,h))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,m],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,d],[],[]),del_filtered_docs:e.Func([e.Text,d],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,m))],[],[]),del_rule:e.Func([y,e.Text,_],[],[]),delete_proposal_assets:e.Func([x],[],[]),deposit_cycles:e.Func([g],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(E)],["query"]),get_auth_config:e.Func([],[e.Opt(w)],["query"]),get_config:e.Func([],[V],[]),get_db_config:e.Func([],[e.Opt(P)],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(k)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(E)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(k)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(D)],["query"]),get_rule:e.Func([y,e.Text],[e.Opt(z)],["query"]),get_storage_config:e.Func([],[F],["query"]),http_request:e.Func([Se],[he],["query"]),http_request_streaming_callback:e.Func([fe],[qe],["query"]),init_asset_upload:e.Func([fr],[hr],[]),init_proposal:e.Func([L],[e.Nat,D],[]),init_proposal_asset_upload:e.Func([fr,e.Nat],[hr],[]),init_proposal_many_assets_upload:e.Func([e.Vec(fr),e.Nat],[e.Vec(e.Tuple(e.Text,hr))],[]),list_assets:e.Func([e.Text,d],[zs],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,h))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ws))],["query"]),list_docs:e.Func([e.Text,d],[Ys],["query"]),list_proposals:e.Func([Xs],[ei],["query"]),list_rules:e.Func([y,ri],[ni],["query"]),memory_size:e.Func([],[oi],["query"]),reject_proposal:e.Func([s],[e.Null],[]),set_auth_config:e.Func([si],[w],[]),set_controllers:e.Func([ai],[e.Vec(e.Tuple(e.Principal,h))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([ci],[P],[]),set_doc:e.Func([e.Text,e.Text,On],[k],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,On))],[e.Vec(e.Tuple(e.Text,k))],[]),set_rule:e.Func([y,e.Text,li],[z],[]),set_storage_config:e.Func([ui],[F],[]),submit_proposal:e.Func([e.Nat],[e.Nat,D],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([En],[Rn],[]),upload_proposal_asset_chunk:e.Func([En],[Rn],[])})},Wu=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),s=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),i=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),a=e.Record({field:i,desc:e.Bool}),c=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),u=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(c),description:e.Opt(e.Text),created_at:e.Opt(c)}),p=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),d=e.Record({order:e.Opt(a),owner:e.Opt(e.Principal),matcher:e.Opt(u),paginate:e.Opt(p)}),l=e.Record({controllers:e.Vec(e.Principal)}),f=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),h=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:f,expires_at:e.Opt(e.Nat64)}),m=e.Record({version:e.Opt(e.Nat64)}),y=e.Variant({Db:e.Null,Storage:e.Null}),_=e.Record({version:e.Opt(e.Nat64)}),x=e.Record({proposal_ids:e.Vec(e.Nat)}),g=e.Record({cycles:e.Nat,destination_id:e.Principal}),T=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),O=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),E=e.Record({key:T,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,O)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),R=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),I=e.Record({allowed_callers:e.Vec(e.Principal)}),w=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(R),rules:e.Opt(I)}),v=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),P=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(v)}),A=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),b=e.Variant({Deny:e.Null,Allow:e.Null}),N=e.Record({status_code:e.Nat16,location:e.Text}),F=e.Record({iframe:e.Opt(A),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(v),raw_access:e.Opt(b),redirects:e.Opt(e.Vec(e.Tuple(e.Text,N)))}),V=e.Record({db:e.Opt(P),authentication:e.Opt(w),storage:F}),k=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),S=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),B=e.Record({clear_existing_assets:e.Opt(e.Bool)}),C=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),L=e.Variant({AssetsUpgrade:B,SegmentsDeployment:C}),D=e.Record({status:S,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:L}),ee=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),te=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),z=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:ee,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(te),write:ee,max_changes_per_user:e.Opt(e.Nat32)}),Se=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),fe=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),pt=e.Variant({Callback:e.Record({token:fe,callback:e.Func([],[],[])})}),he=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(pt),status_code:e.Nat16}),qe=e.Record({token:e.Opt(fe),body:e.Vec(e.Nat8)}),fr=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),hr=e.Record({batch_id:e.Nat}),zs=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,E)),items_length:e.Nat64}),Ws=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Ys=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,k)),items_length:e.Nat64}),Js=e.Record({desc:e.Bool}),Zs=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Xs=e.Record({order:e.Opt(Js),paginate:e.Opt(Zs)}),Qs=e.Record({proposal_id:e.Nat}),ei=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Qs,D)),items_length:e.Nat64}),ti=e.Record({include_system:e.Bool}),ri=e.Record({matcher:e.Opt(ti)}),ni=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,z)),items_length:e.Nat64}),oi=e.Record({stable:e.Nat64,heap:e.Nat64}),si=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(R),rules:e.Opt(I)}),ii=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:f,expires_at:e.Opt(e.Nat64)}),ai=e.Record({controller:ii,controllers:e.Vec(e.Principal)}),ci=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(v)}),On=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),li=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:ee,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(te),write:ee,max_changes_per_user:e.Opt(e.Nat32)}),ui=e.Record({iframe:e.Opt(A),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(v),raw_access:e.Opt(b),redirects:e.Opt(e.Vec(e.Tuple(e.Text,N)))}),En=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Rn=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([o],[],[]),commit_proposal:e.Func([s],[e.Null],[]),commit_proposal_asset_upload:e.Func([o],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(o)],[],[]),count_assets:e.Func([e.Text,d],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,d],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([l],[e.Vec(e.Tuple(e.Principal,h))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,m],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,d],[],[]),del_filtered_docs:e.Func([e.Text,d],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,m))],[],[]),del_rule:e.Func([y,e.Text,_],[],[]),delete_proposal_assets:e.Func([x],[],[]),deposit_cycles:e.Func([g],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(E)],[]),get_auth_config:e.Func([],[e.Opt(w)],[]),get_config:e.Func([],[V],[]),get_db_config:e.Func([],[e.Opt(P)],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(k)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(E)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(k)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(D)],[]),get_rule:e.Func([y,e.Text],[e.Opt(z)],[]),get_storage_config:e.Func([],[F],[]),http_request:e.Func([Se],[he],[]),http_request_streaming_callback:e.Func([fe],[qe],[]),init_asset_upload:e.Func([fr],[hr],[]),init_proposal:e.Func([L],[e.Nat,D],[]),init_proposal_asset_upload:e.Func([fr,e.Nat],[hr],[]),init_proposal_many_assets_upload:e.Func([e.Vec(fr),e.Nat],[e.Vec(e.Tuple(e.Text,hr))],[]),list_assets:e.Func([e.Text,d],[zs],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,h))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ws))],[]),list_docs:e.Func([e.Text,d],[Ys],[]),list_proposals:e.Func([Xs],[ei],[]),list_rules:e.Func([y,ri],[ni],[]),memory_size:e.Func([],[oi],[]),reject_proposal:e.Func([s],[e.Null],[]),set_auth_config:e.Func([si],[w],[]),set_controllers:e.Func([ai],[e.Vec(e.Tuple(e.Principal,h))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([ci],[P],[]),set_doc:e.Func([e.Text,e.Text,On],[k],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,On))],[e.Vec(e.Tuple(e.Text,k))],[]),set_rule:e.Func([y,e.Text,li],[z],[]),set_storage_config:e.Func([ui],[F],[]),submit_proposal:e.Func([e.Nat],[e.Nat,D],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([En],[Rn],[]),upload_proposal_asset_chunk:e.Func([En],[Rn],[])})};var Yu=({satelliteId:e,container:t})=>{let{satelliteId:r}=$a({satelliteId:e}),{container:n}=Ha({container:t});if(X(n)&&n!==!1){let{host:o,protocol:s}=new URL(n===!0?gn:n);return`${s}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},$a=({satelliteId:e})=>X(e)?{satelliteId:e}:Ge.getInstance().get()??{satelliteId:void 0},Ha=({container:e})=>X(e)?{container:e}:Ge.getInstance().get()??{container:void 0};var xe=({satellite:e,options:{certified:t}})=>Zu({idlFactory:t?Wu:zu,actorKey:`stock#${t?"update":"query"}`,...e}),Ju=({idlFactory:e,...t})=>Zu({idlFactory:e,actorKey:"extended#query",...t}),Zu=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=$a({satelliteId:e});fo(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Ha({container:t});return await bn.getInstance().getActor({satelliteId:n,container:o,...r})};var Xu=e=>{if($(e))return ae();switch(e.matcher){case"equal":return ae({Equal:e.timestamp});case"greaterThan":return ae({GreaterThan:e.timestamp});case"lessThan":return ae({LessThan:e.timestamp});case"between":return ae({Between:[e.timestamps.start,e.timestamps.end]});default:throw new js("Invalid list matcher for timestamp",e)}},pr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:$(e)?[]:[{key:ae(e.key),description:ae(e.description),created_at:Xu(e.createdAt),updated_at:Xu(e.updatedAt)}],paginate:ae($(t)?void 0:{start_after:ae(t.startAfter),limit:ae($(t.limit)?void 0:BigInt(t.limit))}),order:ae($(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:ae($(n)?void 0:typeof n=="string"?q.fromText(n):n)});var Qu=async({data:e})=>{try{return await As(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Ga=async e=>{let{data:t,version:r,description:n}=e;return{description:ae(n),data:await Fu(t),version:ae(r)}},za=e=>{let{version:t}=e;return{version:ae(t)}},wo=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:s,...i}=e;return{key:t,description:Oe(o),owner:r.toText(),data:await As(s),version:Oe(n),...i}};var ed=async({collection:e,key:t,...r})=>{let{get_doc:n}=await xe(r),o=Oe(await n(e,t));if(!$(o))return wo({doc:o,key:t})},td=async({docs:e,...t})=>{let{get_many_docs:r}=await xe(t),n=e.map(({collection:i,key:a})=>[i,a]),o=await r(n),s=[];for(let[i,a]of o){let c=Oe(a);s.push(X(c)?await wo({key:i,doc:c}):void 0)}return s},rd=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await xe(r),{key:o}=t,s=await Ga(t),i=await n(e,o,s);return await wo({key:o,doc:i})},nd=async({docs:e,...t})=>{let{set_many_docs:r}=await xe(t),n=[];for(let{collection:i,doc:a}of e){let{key:c}=a;n.push([i,c,await Ga(a)])}let o=await r(n),s=[];for(let[i,a]of o)s.push(await wo({key:i,doc:a}));return s},od=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await xe(r),{key:o}=t;return n(e,o,za(t))},sd=async({docs:e,...t})=>{let{del_many_docs:r}=await xe(t),n=e.map(({collection:o,doc:s})=>[o,s.key,za(s)]);await r(n)},id=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await xe(r);return n(e,pr(t))},ad=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await xe(r),{items:o,items_page:s,items_length:i,matches_length:a,matches_pages:c}=await n(e,pr(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:m,...y}=d;u.push({key:p,description:Oe(h),owner:f.toText(),data:await Qu({data:l}),version:Oe(m),...y})}return{items:u,items_length:i,items_page:Oe(s),matches_length:a,matches_pages:Oe(c)}},cd=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await xe(r);return n(e,pr(t))};var Gs=async({satellite:e,options:t,...r})=>{let n=ce(e?.identity);return await ed({...r,satellite:{...e,identity:n},options:t??Ot})},Gb=async({satellite:e,options:t,...r})=>{let n=ce(e?.identity);return await td({...r,satellite:{...e,identity:n},options:t??Ot})},ld=async({satellite:e,...t})=>{let r=ce(e?.identity);return await rd({...t,satellite:{...e,identity:r},options:{certified:!0}})},ud=async({satellite:e,...t})=>{let r=ce(e?.identity);return await nd({...t,satellite:{...e,identity:r},options:{certified:!0}})},zb=async({satellite:e,...t})=>{let r=ce(e?.identity);return await od({...t,satellite:{...e,identity:r},options:{certified:!0}})},Wb=async({satellite:e,...t})=>{let r=ce(e?.identity);return await sd({...t,satellite:{...e,identity:r},options:{certified:!0}})},Yb=async({satellite:e,filter:t,...r})=>{let n=ce(e?.identity);return await id({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},Jb=async({satellite:e,options:t,filter:r,...n})=>{let o=ce(e?.identity);return await ad({...n,filter:r??{},satellite:{...e,identity:o},options:t??Ot})},Zb=async({satellite:e,options:t,filter:r,...n})=>{let o=ce(e?.identity);return await cd({...n,filter:r??{},satellite:{...e,identity:o},options:t??Ot})};var dd=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,s]=await ud({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...X(n)&&{aaguid:vs(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var pd=(s=>(s[s.RequestingUserCredential=0]="RequestingUserCredential",s[s.FinalizingCredential=1]="FinalizingCredential",s[s.Signing=2]="Signing",s[s.FinalizingSession=3]="FinalizingSession",s[s.RetrievingUser=4]="RetrievingUser",s))(pd||{}),fd=(i=>(i[i.CreatingUserCredential=0]="CreatingUserCredential",i[i.ValidatingUserCredential=1]="ValidatingUserCredential",i[i.FinalizingCredential=2]="FinalizingCredential",i[i.Signing=3]="Signing",i[i.FinalizingSession=4]="FinalizingSession",i[i.RegisteringUser=5]="RegisteringUser",i))(fd||{});var To=class{get id(){return"webauthn"}async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:s}=Ge.getInstance().get()??{satelliteId:void 0};if($(s))throw new $r("Satellite ID not set. Have you initialized the Satellite?");let i=({step:m,state:y})=>{switch(m){case dr.RequestingUserCredential:t?.({step:1,state:y});break;case dr.FinalizingCredential:t?.({step:2,state:y});break;case dr.Signing:t?.({step:3,state:y});break}},c=await Nt({fn:async()=>await Aa.createWithNewCredential({onProgress:i,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await Nt({fn:async()=>await dd({delegationIdentity:u,passkeyIdentity:c,satelliteId:s}),step:5,onProgress:t});await Nt({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await Nt({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Ge.getInstance().get()??{satelliteId:void 0};if($(o))throw new $r("Satellite ID not set. Have you initialized the Satellite?");let s=async({credentialId:d})=>{let l=await Gs({collection:"#user-webauthn",key:Is(d),options:{certified:!0},satellite:{identity:new Ye,satelliteId:o}});if($(l))throw new Ls("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return kr(h,uo)},i=({step:d,state:l})=>{switch(d){case dr.RequestingUserCredential:t?.({step:0,state:l});break;case dr.FinalizingCredential:t?.({step:1,state:l});break;case dr.Signing:t?.({step:2,state:l});break}},a=await Aa.createWithExistingCredential({retrievePublicKey:s,onProgress:i}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Nt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await Nt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await Mr.generate({extractable:!1}),o=r??144e5,s=await jr.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:Kr.fromDelegation(n,s),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Ht;await Promise.all([n.set(Le,t.getKeyPair()),n.set(ze,JSON.stringify(r.getDelegation().toJSON()))])}};var No=()=>Vs.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),hd=async()=>(await new Ht().remove(Le),await No());var Wa=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var md="juno.datastore.error.user.cannot_update";var _d=async({provider:e})=>{let{user:t,userId:r}=await Ya();if(X(t))return t;try{return await hm({userId:r,provider:e})}catch(n){if(Wa({error:n,type:md})){let o=await yd({userId:r});if(X(o))return o}throw n}},Ya=async()=>{let e=Hs();if($(e))throw new Ms("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await yd({userId:t});return{userId:t,user:r}},yd=({userId:e})=>Gs({collection:"#user",key:e}),hm=({userId:e,...t})=>ld({collection:"#user",doc:{key:e,data:t}});var tt,Ja=async()=>{await Za({fn:async()=>{let{user:t}=await Ya();et.getInstance().set(t??null)}})},mm=async({user:e})=>{await Za({fn:async()=>{et.getInstance().set(e)}})},gd=async({provider:e})=>{await Za({fn:async()=>{let r=await _d({provider:e});et.getInstance().set(r)}})},Za=async({fn:e})=>{if(tt=await No(),!await tt.isAuthenticated()){tt=await hd();return}await e()},_m=async e=>{let t=async()=>await gm(e);if(Object.values(e)[0].context?.windowGuard===!1){await t();return}await Fa({fn:t})},ym=async e=>{let t=async()=>await xm(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Fa({fn:t})},gm=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new To().signIn({options:t,loadAuth:Ja});return}if("nfid"in e){let{nfid:{options:t}}=e,{appName:r,logoUrl:n,...o}=t??{};await new $s({appName:r,logoUrl:n}).signIn({options:o,authClient:tt,initAuth:gd});return}if("internet_identity"in e){let{internet_identity:{options:t}}=e,{domain:r,...n}=t??{};await new Ks({domain:r}).signIn({options:n,authClient:tt,initAuth:gd});return}throw new ks("An unknown or unsupported provider was provided for sign-in.")},xm=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new To().signUp({options:t,loadAuthWithUser:mm});return}throw new qs("An unknown or unsupported provider was provided for sign-up.")},Xa=async e=>{await bm(),tt=await No(),e?.windowReload!==!1&&window.location.reload()},bm=async()=>{await tt?.logout(),tt=null,et.getInstance().reset(),bn.getInstance().reset(),xn.getInstance().reset()},Hs=()=>tt?.getIdentity(),wm=async()=>(tt??await No()).getIdentity(),Tm=async()=>{let e=et.getInstance().get();return $(e)||!(await tt?.isAuthenticated()??!1)?null:tt?.getIdentity()??null};var xd=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{Sa({message:"junoSignOutAuthTimer"}),await Xa()};return r.onmessage=async({data:o})=>{let{msg:s,data:i}=o;switch(s){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":Sa({message:"junoDelegationRemainingTime",detail:i?.authRemainingTime});return}},et.getInstance().subscribe(o=>{if($(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var bd=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},wd=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()};var zw=async({idlFactory:e,satellite:t})=>{let r=ce(t?.identity);return await Ju({idlFactory:e,...t,identity:r})};var Td=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:s,upload_asset_chunk:i,commit_asset_upload:a}=n,{batch_id:c}=await s(Nm(r));o?.onInitiatedBatch();let{chunkIds:u}=await Rm({data:e,uploadFn:i,batchId:c});o?.onUploadedFileChunks(r.fullPath),await Em({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var Nm=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:s})=>({collection:t,full_path:n,name:e,token:ae(r),encoding_type:ae(o),description:ae(s)}),Om=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([s,i])=>s.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:e,chunk_ids:t.map(({chunk_id:s})=>s),headers:[...r,...o??[]]}},Em=async({commitFn:e,...t})=>{let r=Om(t);await e(r)},Rm=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Ss()?new Blob([await e.arrayBuffer()]):e,s=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:t,orderId:s}),s++}let i=[];for await(let a of vm({uploadChunks:n}))i=[...i,...a];return{chunkIds:i}};async function*vm({uploadChunks:e,limit:t=12}){for(let r=0;r<e.length;r=r+t){let n=e.slice(r,r+t);yield await Promise.all(n.map(o=>Im(o)))}}var Im=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:ae(n)});var Nd=async({asset:e,...t})=>{let r=await xe(t);await Td({actor:r,asset:e})},Od=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await xe(r),{items:o,items_length:s,items_page:i,matches_length:a,matches_pages:c}=await n(e,pr(t));return{items:o.map(([u,p])=>p),items_length:s,items_page:Oe(i),matches_length:a,matches_pages:Oe(c)}},Ed=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await xe(r);return n(e,pr(t))},Rd=async({collection:e,fullPath:t,...r})=>(await xe(r)).del_asset(e,t),vd=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await xe({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:s})=>[o,s]);await r(n)},Id=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await xe(r);return n(e,pr(t))},Ad=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await xe(r);return Oe(await n(e,t))},Sd=async({assets:e,...t})=>{let{get_many_assets:r}=await xe(t),n=e.map(({collection:s,fullPath:i})=>[s,i]);return(await r(n)).map(([s,i])=>Oe(i))};var Fd=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var uT=e=>Pd(e),dT=e=>Pd({filename:e.data.name,...e}),Pd=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:s,satellite:i,encoding:a,description:c})=>{let u=ce(i?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...i,identity:u};return await Nd({asset:{data:t,filename:p,collection:r,token:s,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:Bd({satellite:l,assetKey:{fullPath:d,token:s}}),fullPath:d,name:p}},pT=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ce(r?.identity)},{items:s,...i}=await Od({collection:e,filter:t??{},satellite:o,options:n??Ot}),a=s.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:m,updated_at:y})=>{let _=Oe(u);return{fullPath:c,description:Oe(l),name:p,downloadUrl:Bd({satellite:o,assetKey:{fullPath:c,token:_}}),token:_,headers:f,encodings:h.reduce((x,[g,{modified:T,sha256:O,total_length:E}])=>({...x,[g]:{modified:T,sha256:Fd(O),total_length:E}}),{}),owner:d.toText(),created_at:m,updated_at:y}});return{items:a,assets:a,...i}},fT=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ce(r?.identity)};return await Ed({collection:e,satellite:o,filter:t??{},options:n??Ot})},hT=({collection:e,fullPath:t,satellite:r})=>Rd({collection:e,fullPath:t,satellite:{...r,identity:ce(r?.identity)},options:{certified:!0}}),mT=({assets:e,satellite:t})=>vd({assets:e,satellite:{...t,identity:ce(t?.identity)},options:{certified:!0}}),_T=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:ce(t?.identity)};return await Id({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},yT=async({satellite:e,options:t,...r})=>{let n=ce(e?.identity);return await Ad({...r,satellite:{...e,identity:n},options:t??Ot})},gT=async({satellite:e,options:t,...r})=>{let n=ce(e?.identity);return await Sd({...r,satellite:{...e,identity:n},options:t??Ot})},Bd=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:ce(r?.identity)};return`${Yu(n)}${e}${X(t)?`?token=${t}`:""}`};var Am=e=>{let t=e?.satelliteId??bd();fo(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??wd();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,container:r}},vT=e=>Sm(e),Sm=async e=>{let t=Am(e);Ge.getInstance().set(t),await Ja();let r=t.workers?.auth!==void 0?xd(t.workers.auth):void 0;return[...r?[r]:[]]},Fm=e=>et.getInstance().subscribe(e),IT=Fm;export{Gu as AuthClientSignInProgressStep,Ms as InitError,Ks as InternetIdentityProvider,js as ListError,$s as NFIDProvider,Ds as SignInError,$r as SignInInitError,ks as SignInProviderNotSupportedError,Us as SignInUserInterruptError,qs as SignUpProviderNotSupportedError,pd as WebAuthnSignInProgressStep,Ls as WebAuthnSignInRetrievePublicKeyError,fd as WebAuthnSignUpProgressStep,IT as authSubscribe,fT as countAssets,Zb as countDocs,hT as deleteAsset,zb as deleteDoc,_T as deleteFilteredAssets,Yb as deleteFilteredDocs,mT as deleteManyAssets,Wb as deleteManyDocs,Bd as downloadUrl,yT as getAsset,Gs as getDoc,Tm as getIdentityOnce,gT as getManyAssets,Gb as getManyDocs,zw as getSatelliteExtendedActor,vT as initJuno,Sm as initSatellite,jh as isWebAuthnAvailable,pT as listAssets,Jb as listDocs,Fm as onAuthStateChange,ld as setDoc,ud as setManyDocs,_m as signIn,Xa as signOut,ym as signUp,wm as unsafeIdentity,uT as uploadBlob,dT as uploadFile};
|
|
55
55
|
/*! Bundled license information:
|
|
56
56
|
|
|
57
57
|
@noble/hashes/esm/utils.js:
|