@junobuild/core-standalone 2.1.1 → 2.1.2
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 +13 -13
- package/dist/browser/index.js.map +3 -3
- package/dist/node/index.mjs +29 -29
- package/dist/node/index.mjs.map +3 -3
- package/dist/workers/auth.worker.js +3 -3
- package/package.json +6 -6
package/dist/browser/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Ad=Object.defineProperty;var Id=(e,t)=>{for(var r in t)Ad(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 wo="abcdefghijklmnopqrstuvwxyz234567",$r=Object.create(null);for(let e=0;e<wo.length;e++)$r[wo[e]]=e;$r[0]=$r.o;$r[1]=$r.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+=wo[r>>3],t+=5),0)}for(let s=0;s<e.length;)s+=o(e[s]);return n+(t<0?wo[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=$r[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 Sd=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=Sd[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 ci(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 li(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 No(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",Fd=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+=Fd[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 ui(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 To=class{};function Oo(e){let t=n=>e().update(ui(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Hr(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 Bd(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 Rn=class extends To{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=No(this.buffer)}update(t){li(this),t=ui(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=No(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){li(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;Bd(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=No(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 Eo=BigInt(4294967295),cc=BigInt(32);function Pd(e,t=!1){return t?{h:Number(e&Eo),l:Number(e>>cc&Eo)}:{h:Number(e>>cc&Eo)|0,l:Number(e&Eo)|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}=Pd(e[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var di=(e,t,r)=>e>>>r,pi=(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,vn=(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 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 Vd=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),Ro=class extends Rn{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)+Vd[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)}},fi=class extends Ro{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))),Dd=_c[0],Ud=_c[1],Wt=new Uint32Array(80),Yt=new Uint32Array(80),hi=class extends Rn{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)^di(T,O,7),E=_r(T,O,1)^_r(T,O,8)^pi(T,O,7),v=Wt[y-2]|0,w=Yt[y-2]|0,A=mr(v,w,19)^vn(v,w,61)^di(v,w,6),P=_r(v,w,19)^An(v,w,61)^pi(v,w,6),I=pc(E,P,Yt[y-7],Yt[y-16]),b=fc(I,R,A,Wt[y-7],Wt[y-16]);Wt[y]=b|0,Yt[y]=I|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)^vn(d,l,41),O=_r(d,l,14)^_r(d,l,18)^An(d,l,41),R=d&f^~d&_,E=l&h^~l&g,v=hc(x,O,E,Ud[y],Yt[y]),w=mc(v,m,T,R,Dd[y],Wt[y]),A=v|0,P=mr(n,o,28)^vn(n,o,34)^vn(n,o,39),I=_r(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=g|0,_=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=ht(u|0,p|0,w|0,A|0),u=a|0,p=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let B=uc(A,I,N);n=dc(B,w,P,b),o=B|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=Oo(()=>new Ro),yc=Oo(()=>new fi),gc=Oo(()=>new hi);var vo="__principal__",kd=2,xc=4,Ld="aaaaa-aa",L=class e{static anonymous(){return new this(new Uint8Array([xc]))}static managementCanister(){return this.fromText(Ld)}static selfAuthenticating(t){let r=yc(t);return new this(new Uint8Array([...r,kd]))}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(vo)){let i=JSON.parse(t);vo in i&&(r=i[vo])}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{[vo]: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 At;(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"})(At||(At={}));var H=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
1
|
+
var Ad=Object.defineProperty;var Id=(e,t)=>{for(var r in t)Ad(e,r,{get:t[r],enumerable:!0})};var Ja;(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"})(Ja||(Ja={}));var Gt;(function(e){e.Replied="replied",e.Rejected="rejected"})(Gt||(Gt={}));function Za(e){return e!=null&&"reject_code"in e}function Xa(e){return e!=null&&"certificate"in e}var wo="abcdefghijklmnopqrstuvwxyz234567",Kr=Object.create(null);for(let e=0;e<wo.length;e++)Kr[wo[e]]=e;Kr[0]=Kr.o;Kr[1]=Kr.i;function Qa(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+=wo[r>>3],t+=5),0)}for(let s=0;s<e.length;)s+=o(e[s]);return n+(t<0?wo[r>>3]:"")}function ec(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 Sd=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 tc(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Sd[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 ci(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 li(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 nc(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 No(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function rt(e,t){return e<<32-t|e>>>t}var oc=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Fd=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function M(e){if(ue(e),oc)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Fd[e[r]];return t}var Et={_0:48,_9:57,A:65,F:70,a:97,f:102};function rc(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(oc)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=rc(e.charCodeAt(s)),a=rc(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 ui(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 To=class{};function Oo(e){let t=n=>e().update(ui(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 Bd(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 sc(e,t,r){return e&t^~e&r}function ic(e,t,r){return e&t^e&r^t&r}var En=class extends To{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=No(this.buffer)}update(t){li(this),t=ui(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=No(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){li(this),nc(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;Bd(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=No(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 Eo=BigInt(4294967295),ac=BigInt(32);function Pd(e,t=!1){return t?{h:Number(e&Eo),l:Number(e>>ac&Eo)}:{h:Number(e>>ac&Eo)|0,l:Number(e&Eo)|0}}function cc(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}=Pd(e[s],t);[n[s],o[s]]=[i,a]}return[n,o]}var di=(e,t,r)=>e>>>r,pi=(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 lc=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),uc=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,dc=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),pc=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,fc=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),hc=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var Vd=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),Ro=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+sc(a,c,u)+Vd[d]+zt[d]|0,_=(rt(n,2)^rt(n,13)^rt(n,22))+ic(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)}},fi=class extends Ro{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}},mc=cc(["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))),Dd=mc[0],Ud=mc[1],Wt=new Uint32Array(80),Yt=new Uint32Array(80),hi=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)^di(T,O,7),E=_r(T,O,1)^_r(T,O,8)^pi(T,O,7),v=Wt[y-2]|0,w=Yt[y-2]|0,A=mr(v,w,19)^Rn(v,w,61)^di(v,w,6),P=_r(v,w,19)^vn(v,w,61)^pi(v,w,6),I=dc(E,P,Yt[y-7],Yt[y-16]),b=pc(I,R,A,Wt[y-7],Wt[y-16]);Wt[y]=b|0,Yt[y]=I|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=fc(x,O,E,Ud[y],Yt[y]),w=hc(v,m,T,R,Dd[y],Wt[y]),A=v|0,P=mr(n,o,28)^Rn(n,o,34)^Rn(n,o,39),I=_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,A|0),u=a|0,p=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let B=lc(A,I,N);n=uc(B,w,P,b),o=B|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=Oo(()=>new Ro),_c=Oo(()=>new fi),yc=Oo(()=>new hi);var vo="__principal__",kd=2,gc=4,Ld="aaaaa-aa",L=class e{static anonymous(){return new this(new Uint8Array([gc]))}static managementCanister(){return this.fromText(Ld)}static selfAuthenticating(t){let r=_c(t);return new this(new Uint8Array([...r,kd]))}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(vo)){let i=JSON.parse(t);vo in i&&(r=i[vo])}let n=r.toLowerCase().replace(/-/g,""),o=ec(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]===gc}toUint8Array(){return this._arr}toHex(){return M(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,tc(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),i=Qa(o).match(/.{1,5}/g);if(!i)throw new Error;return i.join("-")}toString(){return this.toText()}toJSON(){return{[vo]: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 At;(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"})(At||(At={}));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,12 +7,12 @@ 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}`}},It=class extends nt{static fromCode(t){return new this(t)}},Be=class e extends It{constructor(t){super(t,At.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},te=class e extends It{constructor(t){super(t,At.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},Jt=class e extends It{constructor(t){super(t,At.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},
|
|
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}`}},It=class extends nt{static fromCode(t){return new this(t)}},Be=class e extends It{constructor(t){super(t,At.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},te=class e extends It{constructor(t){super(t,At.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},Jt=class e extends It{constructor(t){super(t,At.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},An=class e extends It{constructor(t){super(t,At.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},we=class e extends It{constructor(t){super(t,At.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var W=class e extends It{constructor(t){super(t,At.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},he=class e extends It{constructor(t){super(t,At.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+=`: ${Vn(this.error)}`),`Certificate verification error: "${t}"`}},yr=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`}},Ao=class e extends H{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},Hr=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}`}},Gr=class e extends H{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},Io=class e extends H{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},zr=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`}},So=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)}`}},Fo=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}`}},In=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}`}},Bo=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: ${Vn(this.error)}, input: ${M(this.input)}`}},Po=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: ${Vn(this.error)}, input: ${this.value}`}};var gr=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
13
|
`),t}},Co=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}},Wr=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}
|
|
@@ -29,29 +29,29 @@ Call context:
|
|
|
29
29
|
Error code: ${this.rejectErrorCode}
|
|
30
30
|
`}},Uo=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.`}},ko=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}`}},
|
|
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.`}},ko=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}`}},Yr=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."}},xr=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.`}},Lo=class e extends H{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},qo=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}`}},Mo=class e extends H{constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}},jo=class e extends H{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},Ko=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: ${Vn(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}`}},Sn=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}},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"}},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: ${Dn(this.error)}`}},Cn=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.`}},$o=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}`}},Vn=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 Dn(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={};Id(Nr,{Bool:()=>Ac,BoolClass:()=>Yo,ConstructType:()=>gt,Empty:()=>Rc,EmptyClass:()=>kn,FixedIntClass:()=>Pt,FixedNatClass:()=>yt,Float32:()=>Pc,Float64:()=>Cc,FloatClass:()=>Mn,Func:()=>Jc,FuncClass:()=>Tr,Int:()=>Fc,Int16:()=>Dc,Int32:()=>Uc,Int64:()=>kc,Int8:()=>Vc,IntClass:()=>Ln,Nat:()=>Bc,Nat16:()=>qc,Nat32:()=>Mc,Nat64:()=>jc,Nat8:()=>Lc,NatClass:()=>qn,Null:()=>Ic,NullClass:()=>br,Opt:()=>Gc,OptClass:()=>nr,PrimitiveType:()=>Me,Principal:()=>Kc,PrincipalClass:()=>Xo,Rec:()=>Yc,RecClass:()=>We,Record:()=>zc,RecordClass:()=>wr,Reserved:()=>vc,ReservedClass:()=>xt,Service:()=>Zc,ServiceClass:()=>en,Text:()=>Sc,TextClass:()=>Jo,Tuple:()=>$c,TupleClass:()=>Zo,Type:()=>Zr,Unknown:()=>Kd,UnknownClass:()=>Wo,Variant:()=>Wc,VariantClass:()=>Qr,Vec:()=>Hc,VecClass:()=>Xr,Visitor:()=>wi,decode:()=>jd,encode:()=>Md,resetSubtypeCache:()=>Ti,subtype:()=>Oi});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 mi(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 mi(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 qd(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 qd(e)}function _i(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Ho(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:_i(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:_i(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 yi(e,t)}function yi(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 gi(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=gi(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 Go="DIDL",Ec=400;function Un(e,t,r){return e.map((n,o)=>r(n,t[o]))}var bi=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)}},wi=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 Zr=class{display(){return this.name}valueToString(t){return de(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Me=class extends Zr{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 Zr{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)}},kn=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"}},Wo=class extends Zr{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"}},Yo=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"}},Jo=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+'"'}},Ln=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()}},qn=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()}},Mn=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()}},Pt=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=Ho(this._bits-1)*BigInt(-1),n=Ho(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 yi(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=Ho(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=gi(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},Xr=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 Pt?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}},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"}},Bn=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)}`}},Pn=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.`}},$o=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={};Id(Nr,{Bool:()=>vc,BoolClass:()=>Yo,ConstructType:()=>gt,Empty:()=>Ec,EmptyClass:()=>Un,FixedIntClass:()=>Pt,FixedNatClass:()=>yt,Float32:()=>Bc,Float64:()=>Pc,FloatClass:()=>qn,Func:()=>Yc,FuncClass:()=>Tr,Int:()=>Sc,Int16:()=>Vc,Int32:()=>Dc,Int64:()=>Uc,Int8:()=>Cc,IntClass:()=>kn,Nat:()=>Fc,Nat16:()=>Lc,Nat32:()=>qc,Nat64:()=>Mc,Nat8:()=>kc,NatClass:()=>Ln,Null:()=>Ac,NullClass:()=>br,Opt:()=>Hc,OptClass:()=>nr,PrimitiveType:()=>Me,Principal:()=>jc,PrincipalClass:()=>Xo,Rec:()=>Wc,RecClass:()=>We,Record:()=>Gc,RecordClass:()=>wr,Reserved:()=>Rc,ReservedClass:()=>xt,Service:()=>Jc,ServiceClass:()=>Qr,Text:()=>Ic,TextClass:()=>Jo,Tuple:()=>Kc,TupleClass:()=>Zo,Type:()=>Jr,Unknown:()=>Kd,UnknownClass:()=>Wo,Variant:()=>zc,VariantClass:()=>Xr,Vec:()=>$c,VecClass:()=>Zr,Visitor:()=>wi,decode:()=>jd,encode:()=>Md,resetSubtypeCache:()=>Ti,subtype:()=>Oi});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 mi(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 xc(e,t){return mi(e,t)===0}function bc(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function qd(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 qd(e)}function _i(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Ho(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function wc(){throw new Error("unexpected end of buffer")}function rr(e,t){return e.byteLength<t&&wc(),e.read(t)}function tr(e){let t=e.readUint8();return t===void 0&&wc(),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:_i(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:_i(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 Tc(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return yi(e,t)}function yi(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 gi(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 Nc(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=gi(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 Go="DIDL",Oc=400;function Dn(e,t,r){return e.map((n,o)=>r(n,t[o]))}var bi=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)}},wi=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"}},Wo=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"}},Yo=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"}},Jo=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=bc(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},Pt=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=Ho(this._bits-1)*BigInt(-1),n=Ho(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 yi(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return fe(-9-t)}decodeValue(t,r){this.checkType(r);let n=Nc(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=Ho(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 Tc(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return fe(-5-t)}decodeValue(t,r){this.checkType(r);let n=gi(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 Pt?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
38
|
index ${o} -> ${s.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=re(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=fe(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(pe(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 Pt){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 $.OptClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}
|
|
39
39
|
|
|
40
40
|
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${de(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=fe(Z.Opt),n=this._type.encodeType(t);t.add(this,Y(r,n))}decodeValue(t,r){if(r instanceof br)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 br||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])}`}},wr=class e extends gt{get typeName(){return $.RecordClass}static[Symbol.hasInstance](t){return t.typeName===$.RecordClass||t.typeName===$.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Ce(r[0])-Ce(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: ${de(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=
|
|
42
|
+
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=Dn(this._fields,r,([,o],s)=>o.encodeValue(s));return Y(...n)}_buildTypeTableImpl(t){this._fields.forEach(([s,i])=>i.buildTypeTable(t));let r=fe(Z.Record),n=re(this._fields.length),o=this._fields.map(([s,i])=>Y(re(Ce(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=Ce(this._fields[s][0]),l=Ce(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[Ce(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 {${Dn(this._fields,r,([o,s],i)=>o+"="+s.valueToString(i)).join("; ")}}`}},Zo=class e extends wr{get typeName(){return $.TupleClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}`)}encodeValue(t){let r=
|
|
44
|
+
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=Dn(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 {${Dn(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},Xr=class e extends gt{get typeName(){return $.VariantClass}static[Symbol.hasInstance](t){return t.typeName===$.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Ce(r[0])-Ce(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: ${de(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let s=re(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=fe(Z.Variant),n=re(this._fields.length),o=this._fields.map(([s,i])=>Y(re(Ce(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(pe(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(Ce(s)===Ce(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[Ce(r)]=n;return t}},We=class e extends gt{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return $.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(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 Ni(e){if(tr(e)!==1)throw new Error("Cannot decode principal");let r=Number(pe(e));return L.fromUint8Array(new Uint8Array(rr(e,r)))}var Xo=class extends Me{get typeName(){return $.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===$.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=re(r.byteLength);return Y(new Uint8Array([1]),n,r)}encodeType(){return fe(Z.Principal)}decodeValue(t,r){return this.checkType(r),Ni(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},Tr=class extends gt{get typeName(){return $.FuncClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=re(n.byteLength),s=Y(new Uint8Array([1]),o,n),i=new TextEncoder().encode(r),a=re(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=fe(Z.Func),n=re(this.argTypes.length),o=Y(...this.argTypes.map(u=>u.encodeType(t))),s=re(this.retTypes.length),i=Y(...this.retTypes.map(u=>u.encodeType(t))),a=re(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(!Oi(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=Ni(t),i=Number(pe(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")}},
|
|
46
|
+
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let s=re(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=fe(Z.Variant),n=re(this._fields.length),o=this._fields.map(([s,i])=>Y(re(Ce(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(pe(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(Ce(s)===Ce(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[Ce(r)]=n;return t}},We=class e extends gt{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return $.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(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 Ni(e){if(tr(e)!==1)throw new Error("Cannot decode principal");let r=Number(pe(e));return L.fromUint8Array(new Uint8Array(rr(e,r)))}var Xo=class extends Me{get typeName(){return $.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===$.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${de(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=re(r.byteLength);return Y(new Uint8Array([1]),n,r)}encodeType(){return fe(Z.Principal)}decodeValue(t,r){return this.checkType(r),Ni(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},Tr=class extends gt{get typeName(){return $.FuncClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=re(n.byteLength),s=Y(new Uint8Array([1]),o,n),i=new TextEncoder().encode(r),a=re(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=fe(Z.Func),n=re(this.argTypes.length),o=Y(...this.argTypes.map(u=>u.encodeType(t))),s=re(this.retTypes.length),i=Y(...this.retTypes.map(u=>u.encodeType(t))),a=re(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(!Oi(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=Ni(t),i=Number(pe(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")}},Qr=class extends gt{get typeName(){return $.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===$.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: ${de(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=re(r.length);return Y(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([s,i])=>i.buildTypeTable(t));let r=fe(Z.Service),n=re(this._fields.length),o=this._fields.map(([s,i])=>{let a=new TextEncoder().encode(s),c=re(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(!Oi(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return Ni(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 de(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>Oc?t.substring(0,Oc-3)+"...":t}function Md(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new bi;e.forEach(c=>c.buildTypeTable(r));let n=new TextEncoder().encode(Go),o=r.encode(),s=re(t.length),i=Y(...e.map(c=>c.encodeType(r))),a=Y(...Dn(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 jd(e,t){let r=new st(t);if(t.byteLength<Go.length)throw new Error("Message length smaller than magic number");let n=rr(r,Go.length),o=new TextDecoder().decode(n);if(o!==Go)throw new Error("Wrong magic number: "+JSON.stringify(o));function s(l){let f=[],h=Number(pe(l));for(let m=0;m<h;m++){let x=Number(Ft(l));switch(x){case Z.Opt:case Z.Vector:{let y=Number(Ft(l));f.push([x,y]);break}case Z.Record:case Z.Variant:{let y=[],T=Number(pe(l)),O;for(;T--;){let R=Number(pe(l));if(R>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof O=="number"&&O>=R)throw new Error("field id collision or not sorted");O=R;let E=Number(Ft(l));y.push([R,E])}f.push([x,y]);break}case Z.Func:{let y=[],T=Number(pe(l));for(;T--;)y.push(Number(Ft(l)));let O=[],R=Number(pe(l));for(;R--;)O.push(Number(Ft(l)));let E=[],v=Number(pe(l));for(;v--;)switch(Number(pe(l))){case 1:{E.push("query");break}case 2:{E.push("oneway");break}case 3:{E.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([x,[y,O,E]]);break}case Z.Service:{let y=Number(pe(l)),T=[];for(;y--;){let O=Number(pe(l)),R=new TextDecoder().decode(rr(l,O)),E=Ft(l);T.push([R,E])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let _=[],g=Number(pe(l));for(let m=0;m<g;m++)_.push(Number(Ft(l)));return[f,_]}let[i,a]=s(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=i.map(l=>
|
|
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)}},zo=new Qo;function Ti(){zo=new Qo}function $d(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 xi(e){return e instanceof nr||e instanceof br||e instanceof xt}function Oi(e,t){let r=zo.copy(),n=Bt(r,e,t);return n?zo.add(e,t):zo.addNegative(e,t),n}function Bt(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
|
|
50
|
-
ic-request`),Ri=new TextEncoder().encode("\vic-response"),vi=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(Kn,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||{}),Hd=23,Gd=255,zd=65535,Wd=4294967295,Yd=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||{}),rn=!1;function Jd(e){return e==null}function rl(e,t){let r=new Uint8Array(t);return r.set(e),r}var Zd=new TextDecoder;function Xd(e){return(e&224)>>5}function Qd(e){return e&31}var Gn=new Uint8Array,$n,lt=0;function nl(e,t){Gn=e,lt=0;let r=Er(t);return t?.(r)??r}function Er(e){let[t,r]=es();switch(t){case _e.UnsignedInteger:return nn(r);case _e.NegativeInteger:return np(r);case _e.ByteString:return ol(r);case _e.TextString:return Ii(r);case _e.Array:return ep(r,e);case _e.Map:return rp(r,e);case _e.Tag:return op(r,e);case _e.Simple:return tp(r)}throw new Vt(`Unsupported major type: ${t}`)}function es(){let e=Gn.at(lt);if(Jd(e))throw new Vt("Provided CBOR data is empty");let t=Xd(e),r=Qd(e);return lt++,[t,r]}function ep(e,t){let r=nn(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 tp(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 rp(e,t){let r=nn(e),n={};if(r===1/0){let[o,s]=es();for(;o!==_e.Simple&&s!==ct.Break;){let i=Ii(s),a=Er(t);n[i]=t?.(a,i)??a,[o,s]=es()}return n}for(let o=0;o<r;o++){let[s,i]=es();if(s!==_e.TextString)throw new Vt("Map keys must be text strings");let a=Ii(i),c=Er(t);n[a]=t?.(c,a)??c}return n}function nn(e){if(e<=at.Value)return e;switch($n=new DataView(Gn.buffer,Gn.byteOffset+lt),e){case at.OneByte:return lt++,$n.getUint8(0);case at.TwoBytes:return lt+=2,$n.getUint16(0,rn);case at.FourBytes:return lt+=4,$n.getUint32(0,rn);case at.EightBytes:return lt+=8,$n.getBigUint64(0,rn);case at.Indefinite:return 1/0;default:throw new Vt(`Unsupported integer info: ${e.toString(2)}`)}}function np(e){let t=nn(e);return typeof t=="number"?-1-t:-1n-t}function ol(e){let t=nn(e);if(t>Number.MAX_SAFE_INTEGER)throw new Vt("Byte length is too large");let r=Number(t);return lt+=r,Gn.slice(lt-r,lt)}function Ii(e){let t=ol(e);return Zd.decode(t)}function op(e,t){let r=nn(e);if(r===el)return Er(t);throw new Vt(`Unsupported tag: ${r}.`)}var zn=class extends Error{constructor(t){super(t),this.name="SerializationError"}},sp=2*1024,ip=100,ap=new TextEncoder;function Hn(e){return e<<5}var He=new Uint8Array(sp),it=new DataView(He.buffer),me=0,Ai=[];function sl(e,t){me=0;let r=t?.(e)??e;return mp(el,r,t),He.slice(0,me)}function Si(e,t){if(me>He.length-ip&&(He=rl(He,He.length*2),it=new DataView(He.buffer)),e===!1||e===!0||e===null||e===void 0){up(e);return}if(typeof e=="number"||typeof e=="bigint"){hp(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)){cp(e,t);return}if(typeof e=="object"){lp(e,t);return}throw new zn(`Unsupported type: ${typeof e}`)}function cp(e,t){on(_e.Array,e.length),e.forEach((r,n)=>{Si(t?.(r,n.toString())??r,t)})}function lp(e,t){Ai=Object.entries(e),on(_e.Map,Ai.length),Ai.forEach(([r,n])=>{cl(r),Si(t?.(n,r)??n,t)})}function on(e,t){if(t<=Hd){it.setUint8(me++,Hn(e)|Number(t));return}if(t<=Gd){it.setUint8(me++,Hn(e)|at.OneByte),it.setUint8(me,Number(t)),me+=1;return}if(t<=zd){it.setUint8(me++,Hn(e)|at.TwoBytes),it.setUint16(me,Number(t),rn),me+=2;return}if(t<=Wd){it.setUint8(me++,Hn(e)|at.FourBytes),it.setUint32(me,Number(t),rn),me+=4;return}if(t<=Yd){it.setUint8(me++,Hn(e)|at.EightBytes),it.setBigUint64(me,BigInt(t),rn),me+=8;return}throw new zn(`Value too large to encode: ${t}`)}function up(e){on(_e.Simple,dp(e))}function dp(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 zn(`Unrecognized simple value: ${e.toString()}`)}function il(e,t){on(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){on(e,t)}function pp(e){al(_e.UnsignedInteger,e)}function fp(e){al(_e.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function hp(e){e>=0?pp(e):fp(e)}function cl(e){il(_e.TextString,ap.encode(e))}function Qc(e){il(_e.ByteString,e)}function mp(e,t,r){on(_e.Tag,e),Si(t,r)}function yp(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function Wn(e){try{return sl(e,t=>L.isPrincipal(t)?t.toUint8Array():sn.isExpiry(t)?t.toBigInt():yp(t)?t.toCborValue():t)}catch(t){throw W.fromCode(new Po(t,e))}}function je(e){try{return nl(e)}catch(t){throw W.fromCode(new Bo(t,e))}}var ts={encode:Wn,decode:je};var Yn=()=>{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 rs;(function(e){e.Call="call"})(rs||(rs={}));var Rr;(function(e){e.Query="query",e.ReadState="read_state"})(Rr||(Rr={}));function Jn(){let e=new ArrayBuffer(16),t=new DataView(e),r=Yn(),n=Yn(),o=Yn(),s=Yn();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 ns="__expiry__",Bi=BigInt(1e3),gp=BigInt(1e6),ll=BigInt(60),xp=BigInt(90)*Bi;function ul(e){return e/Bi}function bp(e){return ul(e)/ll}var sn=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<xp?s=ul(o):s=bp(o)*ll,new e(s*Bi*gp)}toBigInt(){return this.__expiry__}toHash(){return re(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[ns]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[ns])try{let n=BigInt(r[ns]);return new e(n)}catch(n){throw new W(new Vn(`Not a valid BigInt: ${n}`))}throw new W(new Vn(`The input does not contain the key ${ns}`))}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 Pi(e=Jn){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===Dt.Call&&(t.body.nonce=e())}}function os(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var Vi=BigInt(0),ss=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===""?Vi: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 Di(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 Ui(e){return Uint8Array.from(e)}var Ci=e=>typeof e=="bigint"&&Vi<=e;function ki(e,t,r){return Ci(e)&&Ci(t)&&Ci(r)&&t<=e&&e<r}function is(e,t,r,n){if(!ki(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function kt(e){let t;for(t=0;e>Vi;e>>=ss,t+=1);return t}function fl(e,t){return e>>BigInt(t)&ss}var ut=e=>(ss<<BigInt(e))-ss;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 an=()=>{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),Ar=BigInt(2),_l=BigInt(3),yl=BigInt(4),gl=BigInt(5),wp=BigInt(7),xl=BigInt(8),Tp=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 Li(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 Li(e,n,t),n}function Np(e,t){let r=(e.ORDER-gl)/xl,n=e.mul(t,Ar),o=e.pow(n,r),s=e.mul(t,o),i=e.mul(e.mul(s,Ar),o),a=e.mul(s,e.sub(i,e.ONE));return Li(e,a,t),a}function Op(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+wp)/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 Li(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%Ar===Ve;)t/=Ar,r++;let n=Ar,o=De(e);for(;Zn(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)/Ar;return function(c,u){if(c.is0(u))return u;if(Zn(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 Ep(e){return e%yl===_l?wl:e%xl===gl?Np:e%bl===Tp?Op(e):Tl(e)}var qt=(e,t)=>(se(e,t)&Te)===Te,Rp=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function as(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Rp.reduce((n,o)=>(n[o]="function",n),t);return Lt(e,r),e}function Xn(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 Zn(e,t){let r=(e.ORDER-Te)/Ar,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 qi(e,t){t!==void 0&&ci(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}=qi(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)=>Xn(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=Ep(e)),p(d,l))),toBytes:l=>r?Di(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 cs(e){let t=Nl(e);return t+Math.ceil(t/2)}function Mi(e,t,r=!1){let n=e.length,o=Nl(t),s=cs(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?Di(a,o):ye(a,o)}var cn=BigInt(0),Ir=BigInt(1);function Qn(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 ji(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+=Ir);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 Ap(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 Ip(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 Ki=new WeakMap,Al=new WeakMap;function $i(e){return Al.get(e)||1}function El(e){if(e!==cn)throw new Error("invalid wNAF")}var ln=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>cn;)r&Ir&&(n=n.add(o)),o=o.double(),r>>=Ir;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=ji(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=ji(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(Qn(l,r[f])):o=o.add(Qn(d,r[u]))}return El(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=ji(t,this.bits);for(let i=0;i<s.windows&&n!==cn;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=Ki.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Ki.set(r,o))),o}cached(t,r,n){let o=$i(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=$i(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),Al.set(t,r),Ki.delete(t)}hasCache(t){return $i(t)!==1}};function Il(e,t,r,n){let o=t,s=e.ZERO,i=e.ZERO;for(;r>cn||n>cn;)r&Ir&&(s=s.add(o)),n&Ir&&(i=i.add(o)),o=o.double(),r>>=Ir,n>>=Ir;return{p1:s,p2:i}}function un(e,t,r,n){Ap(r,e),Ip(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 as(t),t}else return De(e,{isLE:r})}function ls(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>cn))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 Sp=Ke;function ir(e,t){if(eo(e),eo(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 Fp(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 eo(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 Bp(e,t,r,n){ue(e),eo(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=[Fp(d,p[f-1]),ir(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function Pp(e,t,r,n,o){if(ue(e),eo(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 Hi(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),eo(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*s*p,l;if(a==="xmd")l=Bp(e,c,d,i);else if(a==="xof")l=Pp(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(Sp(x),n)}f[h]=_}return f}function Gi(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 Cp=Q("HashToScalar-");function zi(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=Hi(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=Hi(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:Cp},i);return Hi(s,1,c)[0][0]}}}var Fl=(e,t)=>(e+(e>=0?t:-t)/Mt)/t;function Vp(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),dn=BigInt(3),Wi=BigInt(4);function to(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 Dp(e,t={}){let r=ls("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=Lp(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(I,b,N){let{x:B,y:V}=b.toAffine(),q=n.toBytes(B);if(vr(N,"isCompressed"),N){p();let S=!n.isOdd(V);return K(Up(S),q)}else return K(Uint8Array.of(4),q,n.toBytes(V))}function l(I){or(I,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,B=I.length,V=I[0],q=I.subarray(1);if(B===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(B===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 ${B}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function _(I){let b=n.sqr(I),N=n.mul(b,I);return n.add(n.add(N,n.mul(I,s.a)),s.b)}function g(I,b){let N=n.sqr(b),B=_(I);return n.eql(N,B)}if(!g(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(s.a,dn),Wi),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(I,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${I}`);return b}function T(I){if(!(I instanceof w))throw new Error("ProjectivePoint expected")}function O(I){if(!c||!c.basises)throw new Error("no endo");return Vp(I,c.basises,o.ORDER)}let R=sr((I,b)=>{let{X:N,Y:B,Z:V}=I;if(n.eql(V,n.ONE))return{x:N,y:B};let q=I.is0();b==null&&(b=q?n.ONE:n.inv(V));let S=n.mul(N,b),F=n.mul(B,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(I=>{if(I.is0()){if(t.allowInfinityPoint&&!n.is0(I.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=I.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(!I.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(I,b,N,B,V){return N=new w(n.mul(N.X,I),N.Y,N.Z),b=Qn(B,b),N=Qn(V,N),b.add(N)}class w{constructor(b,N,B){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",B),Object.freeze(this)}static CURVE(){return s}static fromAffine(b){let{x:N,y:B}=b||{};if(!b||!n.isValid(N)||!n.isValid(B))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(B)?w.ZERO:new w(N,B,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 P.createCache(this,b),N||this.multiply(dn),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:B,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(B,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,B=n.mul(N,dn),{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(B,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(B,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:B,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,dn),z=n.mul(N,q),Se=n.mul(B,S),Fe=n.mul(V,F),pt=n.add(N,B),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(B,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 B,V,q=S=>P.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),B=v(N.beta,k,ne,S,C)}else{let{p:S,f:F}=q(b);B=S,V=F}return Ze(w,[B,V])[0]}multiplyUnsafe(b){let{endo:N}=t,B=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Sr||B.is0())return w.ZERO;if(b===Ue)return B;if(P.hasCache(this))return this.multiply(b);if(N){let{k1neg:V,k1:q,k2neg:S,k2:F}=O(b),{p1:C,p2:D}=Il(w,B,q,F);return v(N.beta,C,D,V,S)}else return P.unsafe(B,b)}multiplyAndAddUnsafe(b,N,B){let V=this.multiplyUnsafe(N).add(b.multiplyUnsafe(B));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):P.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 un(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(to(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 A=o.BITS,P=new ln(w,t.endo?Math.ceil(A/2):A);return w.BASE.precompute(8),w}function Up(e){return Uint8Array.of(e?2:3)}function kp(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%Wi===dn){let h=(e.ORDER-dn)/Wi,_=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 Yi(e,t){as(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=kp(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 Lp(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Ji(e){let{CURVE:t,curveOpts:r}=qp(e),n=Dp(t,r);return jp(e,n)}function qp(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 Mp(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 jp(e,t){let{Fp:r,Fn:n}=t;function o(i){return ki(i,Ue,n.ORDER)}let s=Mp(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:i=>to(n,i),weierstrassEquation:s,isWithinCurveOrder:o})}var Kp=BigInt(0),us=BigInt(1),Bl=BigInt(2),pn=BigInt(3);function $p(e){let t=[];for(;e>us;e>>=us)(e&us)===Kp?t.unshift(0):(e&pn)===pn?(t.unshift(-1),e+=us):t.unshift(1);return t}function Zi(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Hp(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,Bl));function l(y,T,O,R){let E=o.sqr(O),v=o.sqr(R),w=o.mulByB(o.mul(v,pn)),A=o.mul(w,pn),P=o.sub(o.sub(o.sqr(o.add(O,R)),v),E),I=o.sub(w,E),b=o.mul(o.sqr(T),pn),N=o.neg(P);return y.push([I,b,N]),T=o.mul(o.mul(o.mul(o.sub(E,A),T),O),d),O=o.sub(o.sqr(o.mul(o.add(E,A),d)),o.mul(o.sqr(w),pn)),R=o.mul(E,P),{Rx:T,Ry:O,Rz:R}}function f(y,T,O,R,E,v){let w=o.sub(O,o.mul(v,R)),A=o.sub(T,o.mul(E,R)),P=o.sub(o.mul(w,E),o.mul(A,v)),I=o.neg(w),b=A;y.push([P,I,b]);let N=o.sqr(A),B=o.mul(N,A),V=o.mul(N,T),q=o.add(o.sub(B,o.mul(V,Bl)),o.mul(o.sqr(w),R));return T=o.mul(A,q),O=o.sub(o.mul(o.sub(V,q),w),o.mul(B,O)),R=o.mul(R,B),{Rx:T,Ry:O,Rz:R}}let h=$p(a),_=sr(y=>{let T=y,{x:O,y:R}=T.toAffine(),E=O,v=R,w=o.neg(R),A=E,P=v,I=o.ONE,b=[];for(let N of h){let B=[];({Rx:A,Ry:P,Rz:I}=l(B,A,P,I)),N&&({Rx:A,Ry:P,Rz:I}=f(B,A,P,I,E,N===-1?w:v)),b.push(B)}if(u){let N=b[b.length-1];u(A,P,I,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,A]of y)for(let[P,I,b]of v[E])O=p(P,I,b,O,w,A)}}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 Pl(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=to(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=to(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(Zi(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){Zi(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){Zi(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=Ji(e.G1),a=Object.assign(i,zi(i.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Ji(e.G2),u=Object.assign(c,zi(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Hp(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,_=Pl(p,a,u,e.G2.Signature,!1),g=Pl(p,u,a,e.G1.ShortSignature,!0),m=e.randomBytes||Hr,x=()=>{let S=cs(r.ORDER);return Mi(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 A(S,F,C){let D=E(S,C),k=_.sign(D,F);return S instanceof u.Point?k:O.toBytes(k)}function P(S,F,C){let D=R(S,C),k=g.sign(D,F);return S instanceof a.Point?k:T.toBytes(k)}function I(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 B(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:A,signShortSignature:P,verify:I,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:B,aggregateShortSignatures:V,G1:a,G2:u,Signature:O,ShortSignature:T}}var Vl=BigInt(0),jt=BigInt(1),ke=BigInt(2),Dl=BigInt(3);function ta(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]}},Xi=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=ta(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 Xn(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 Zn(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);Zn(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])}}},Qi=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=ta(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 an()}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 Xn(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)}}},ea=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=ta(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){an()}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 Xn(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 Xi(t,e),n=new Qi(r),o=new ea(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ae=BigInt(0),ds=BigInt(1),Xe=BigInt(2),ps=BigInt(3),ro=BigInt(4),ar=BigInt("0xd201000000010000"),Gp=kt(ar),Fr={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ae,b:ro,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},zp=De(Fr.n,{modFromBytes:!0,isLE:!0}),{Fp:U,Fp2:G,Fp6:Wp,Fp12:J}=Ll({ORDER:Fr.p,X_LEN:Gp,FP2_NONRESIDUE:[ds,ds],Fp2mulByB:({c0:e,c1:t})=>{let r=U.mul(e,ro),n=U.mul(t,ro);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:Yp}=kl(U,G,G.div(G.ONE,G.NONRESIDUE)),ra=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}),sa={p:G.ORDER,n:Fr.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:G.ZERO,b:G.fromBigTuple([ro,ro]),Gx:G.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:G.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},fs=no(U.toBytes(Ae),{infinity:!0,compressed:!0});function hs(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 no(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 Jp(e,t,r){let{BYTES:n,ORDER:o}=U,s=t.is0(),{x:i,y:a}=t.toAffine();if(r){if(s)return fs.slice();let c=!!(a*Xe/o);return no(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 na(e){e.assertValidity();let{BYTES:t,ORDER:r}=U,{x:n,y:o}=e.toAffine();if(e.is0())return fs.slice();let s=!!(o*Xe/r);return no(ye(n,t),{compressed:!0,sort:s})}function Zp(e){let{compressed:t,infinity:r,sort:n,value:o}=hs(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!==Ae)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Ae,y:Ae}}let u=U.add(U.pow(c,ps),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!==Ae||c!==Ae)throw new Error("G1: non-empty point at infinity");return oo.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}=hs(ae("signatureHex",e,48)),o=U.ORDER,s=oo.G1.Point,i=Ke(n);if(t)return s.ZERO;let a=U.create(i&ut(U.BITS)),c=U.add(U.pow(a,ps),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 Xp(e,t,r){let{BYTES:n,ORDER:o}=U,s=t.is0(),{x:i,y:a}=t.toAffine();if(r){if(s)return K(fs,ye(Ae,n));let c=!!(a.c1===Ae?a.c0*Xe/o:a.c1*Xe/o);return K(no(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 oa(e){e.assertValidity();let{BYTES:t}=U;if(e.is0())return K(fs,ye(Ae,t));let{x:r,y:n}=e.toAffine(),{re:o,im:s}=G.reim(r),{re:i,im:a}=G.reim(n),u=!!((a>Ae?a*Xe:i*Xe)/U.ORDER&ds),p=o;return K(no(ye(s,t),{sort:u,compressed:!0}),ye(p,t))}function Qp(e){let{BYTES:t,ORDER:r}=U,{compressed:n,infinity:o,sort:s,value:i}=hs(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,ps),sa.b),l=G.sqrt(d),f=l.c1===Ae?l.c0*Xe/r:l.c1*Xe/r?ds:Ae;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}=hs(ae("signatureHex",e)),s=oo.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,ps),sa.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=_>Ae&&_*Xe/t!==g,x=_===Ae&&h*Xe/t!==g;(m||x)&&(f=G.neg(f));let y=s.fromAffine({x:d,y:f});return y.assertValidity(),y}var oo=Cl({fields:{Fp:U,Fp2:G,Fp6:Wp,Fp12:J,Fr:zp},G1:{...Fr,Fp:U,htfDefaults:{...ra,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:of,fromBytes:Zp,toBytes:Jp,ShortSignature:{fromBytes(e){return ue(e),Ml(e)},fromHex(e){return Ml(e)},toBytes(e){return na(e)},toRawBytes(e){return na(e)},toHex(e){return M(na(e))}}},G2:{...sa,Fp:G,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...ra},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:sf,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=Yp(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:Qp,toBytes:Xp,Signature:{fromBytes(e){return ue(e),jl(e)},fromHex(e){return jl(e)},toBytes(e){return oa(e)},toRawBytes(e){return oa(e)},toHex(e){return M(oa(e))}}},params:{ateLoopSize:ar,r:Fr.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:ra,hash:ve}),ef=Gi(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))))),tf=Gi(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)))),rf=Yi(U,{A:U.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:U.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:U.create(BigInt(11))}),nf=Yi(G,{A:G.create({c0:U.create(Ae),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 of(e){let{x:t,y:r}=rf(U.create(e[0]));return tf(t,r)}function sf(e){let{x:t,y:r}=nf(G.fromBigTuple(e));return ef(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 oo.verifyShortSignature(o,s,n)}var cf=BigInt(1e6),ia=e=>pe(new st(e)),fn=e=>{let r=ia(e)/cf;return new Date(Number(r))};var $l=60*1e3,lf=60,uf=24,df=uf*lf,pf=5,ff=5,hf=30*df,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 mf(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=pf,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 Pr(t,this.cert.tree)}lookup_subtree(t){return ys(t,this.cert.tree)}async verify(){let t=await ms(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=yf(r),s=K(io("ic-state-root"),t),i=Ie(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+ff*$l,f=fn(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 Be.fromCode(new yr(this._maxAgeInMinutes,f,u,a,"past"));if(_)throw this.#t?.hasSyncedTime()?he.fromCode(new Pe("System time has been synced with the IC network, but certificate is still too far in the future.")):Be.fromCode(new yr(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,s))throw Be.fromCode(new Zt("Invalid signature"))}catch(a){throw Be.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:hf,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(!aa({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw Be.fromCode(new Gr(this._canisterId,o));let i=Ie(r.lookup_path(["subnet",n,"public_key"]));if(!i)throw Be.fromCode(new Io(`Could not find subnet key for subnet ID ${o.toText()}`));return i}},so=be("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),_f=96;function yf(e){let t=so.byteLength+_f;if(e.byteLength!==t)throw te.fromCode(new Wr(t,e.byteLength));let r=e.slice(0,so.byteLength);if(!Or(r,so))throw te.fromCode(new So(so,r));return e.slice(so.byteLength)}function Ie(e){if(e.status===$e.Found&&e.value instanceof Uint8Array)return e.value}async function ms(e){switch(e[0]){case Re.Empty:return ve(io("ic-hashtree-empty"));case Re.Pruned:return e[1];case Re.Leaf:return ve(K(io("ic-hashtree-leaf"),e[1]));case Re.Labeled:return ve(K(io("ic-hashtree-labeled"),e[1],await ms(e[2])));case Re.Fork:return ve(K(io("ic-hashtree-fork"),await ms(e[1]),await ms(e[2])));default:throw er}}function io(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 Br;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(Br||(Br={}));var ie;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ie||(ie={}));function Pr(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=ao(r,t);switch(n.status){case ie.Found:return Pr(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 ys(e,t){if(e.length===0)return{status:Br.Found,value:t};let r=Hl(e),n=ao(r,t);switch(n.status){case ie.Found:return ys(e.slice(1),n.value);case ie.Unknown:return{status:Br.Unknown};case ie.Absent:case ie.Greater:case ie.Less:return{status:Br.Absent};default:throw er}}function _s(e){switch(e[0]){case Re.Empty:return[];case Re.Fork:return _s(e[1]).concat(_s(e[2]));default:return[e]}}function ao(e,t){switch(t[0]){case Re.Labeled:return mf(e,t[1])?{status:ie.Greater}:Or(e,t[1])?{status:ie.Found,value:t[2]}:{status:ie.Less};case Re.Fork:{let r=ao(e,t[1]);switch(r.status){case ie.Greater:{let n=ao(e,t[2]);return n.status===ie.Less?{status:ie.Absent}:n}case ie.Unknown:{let n=ao(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 aa(e){let{canisterId:t,subnetId:r,tree:n}=e,o=Pr(["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 zr(`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 ca=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=xf(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=gf(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:Ie(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(_,fn(g));break}case"controllers":{i.set(_,bf(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,ia(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},gf=(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=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)}),!aa({canisterId:t,subnetId:i,tree:o}))throw Be.fromCode(new Gr(t,i));let c=ys(["subnet",s.subnet_id,"node"],o);if(c.status!==Br.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=_s(c.value),p=new Map;return u.forEach(d=>{let l=L.from(d[1]).toText(),f=Pr(["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 Wr(44,h.byteLength));p.set(l,h)}),{subnetId:L.fromUint8Array(new Uint8Array(s.subnet_id)).toText(),nodeKeys:p}},xf=(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 Pe(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))},bf=e=>je(e).map(r=>L.fromUint8Array(r));var lr=BigInt(0),Ne=BigInt(1),la=BigInt(2),wf=BigInt(8);function Tf(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 Nf(e,t={}){let r=ls("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;Lt(t,{},{uvRatio:"function"});let a=la<<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(!Tf(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 is("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?wf: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),A=c(w*w),P=c(E*m),I=c(w*c(P+v)),b=c(A+c(x*c(E*v)));if(I!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),B=c(O*R);if(N!==B)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=Ui(or(m,y,"point")),vr(x,"zip215");let R=Ui(m),E=m[y-1];R[y-1]=E&-129;let v=Ut(R),w=x?a:n.ORDER;is("point.y",v,lr,w);let A=c(v*v),P=c(A-Ne),I=c(O*A-T),{isValid:b,value:N}=u(P,I);if(!b)throw new Error("bad point: invalid y coordinate");let B=(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!==B&&(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(la),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),A=c(y*E),P=c(R*T);return v===w&&A===P}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(la*c(T*T)),v=c(m*O),w=x+y,A=c(c(w*w)-O-R),P=v+R,I=P-E,b=v-R,N=c(A*I),B=c(P*b),V=c(A*b),q=c(I*P);return new h(N,B,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:A,T:P}=m,I=c(T*v),b=c(O*w),N=c(E*y*P),B=c(R*A),V=c((T+O)*(v+w)-I-b),q=B-N,S=B+N,F=c(b-x*I),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 un(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 ln(h,o.BITS);return h.BASE.precompute(8),h}var gs=class{constructor(t){this.ep=t}static fromBytes(t){an()}static fromHex(t){an()}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 Of(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||Hr,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,A,P)=>{if(vr(P,"phflag"),A.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 A=y.secretKey;w=ae("private key",w,A);let P=ae("hashed private key",t(w),2*A),I=c(P.slice(0,A)),b=P.slice(A,2*A),N=p(I);return{head:I,prefix:b,scalar:N}}function l(w){let{head:A,prefix:P,scalar:I}=d(w),b=o.multiply(I),N=b.toBytes();return{head:A,prefix:P,scalar:I,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...A){let P=K(...A);return p(t(u(P,ae("context",w),!!n)))}function _(w,A,P={}){w=ae("message",w),n&&(w=n(w));let{prefix:I,scalar:b,pointBytes:N}=l(A),B=h(P.context,I,w),V=o.multiply(B).toBytes(),q=h(P.context,V,N,w),S=i.create(B+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,A,P,I=g){let{context:b,zip215:N}=I,B=y.signature;w=ae("signature",w,B),A=ae("message",A),P=ae("publicKey",P,y.publicKey),N!==void 0&&vr(N,"zip215"),n&&(A=n(A));let V=B/2,q=w.subarray(0,V),S=Ut(w.subarray(V,B)),F,C,D;try{F=e.fromBytes(P,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(),A);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 A=v.randomSecretKey(w);return{secretKey:A,publicKey:f(A)}}function R(w){return ft(w)&&w.length===i.BYTES}function E(w,A){try{return!!e.fromBytes(w,A)}catch{return!1}}let v={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:R,isValidPublicKey:E,toMontgomery(w){let{y:A}=e.fromBytes(w),P=y.publicKey,I=P===32;if(!I&&P!==57)throw new Error("only defined for 25519 and 448");let b=I?s.div(Ne+A,Ne-A):s.div(A-Ne,A+Ne);return s.toBytes(b)},toMontgomerySecret(w){let A=y.secretKey;or(w,A);let P=t(w.subarray(0,A));return c(P).subarray(0,A)},randomPrivateKey:T,precompute(w=8,A=e.BASE){return A.precompute(w,!1)}};return Object.freeze({keygen:O,getPublicKey:f,sign:_,verify:m,utils:v,Point:e,lengths:y})}function Ef(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 Rf(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}=Ef(e),s=Nf(t,r),i=Of(s,n,o);return Rf(e,i)}var vf=BigInt(0),Kt=BigInt(1),zl=BigInt(2),qy=BigInt(3),Af=BigInt(5),If=BigInt(8),hn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),co={p:hn,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:If,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Sf(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),s=hn,a=e*e%s*e%s,c=dt(a,zl,s)*a%s,u=dt(c,Kt,s)*e%s,p=dt(u,Af,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 Ff(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var ua=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function fa(e,t){let r=hn,n=se(t*t*t,r),o=se(n*n*t,r),s=Sf(e*o).pow_p_5_8,i=se(e*n*s,r),a=se(t*i*i,r),c=i,u=se(i*ua,r),p=a===e,d=a===se(-e,r),l=a===se(-e*ua,r);return p&&(i=c),(d||l)&&(i=u),qt(i,r)&&(i=se(-i,r)),{isValid:p||d,value:i}}var ur=De(co.p,{isLE:!0}),Bf=De(co.n,{isLE:!0}),Pf={...co,Fp:ur,hash:gc,adjustScalarBytes:Ff,uvRatio:fa},Le=Gl(Pf);var da=ua,Cf=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Vf=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Df=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Uf=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Wl=e=>fa(Kt,e),kf=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),pa=e=>Le.Point.Fp.create(Ut(e)&kf);function Yl(e){let{d:t}=co,r=hn,n=m=>ur.create(m),o=n(da*e*e),s=n((o+Kt)*Df),i=BigInt(-1),a=n((i-t*o)*n(o+t)),{isValid:c,value:u}=fa(s,a),p=n(u*e);qt(p,r)||(p=n(-p)),c||(u=p),c||(i=o);let d=n(i*(o-Kt)*Uf-a),l=u*u,f=n((u+u)*a),h=n(d*Cf),_=n(Kt-l),g=n(Kt+l);return new Le.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function Lf(e){ue(e,64);let t=pa(e.subarray(0,32)),r=Yl(t),n=pa(e.subarray(32,64)),o=Yl(n);return new $t(r.add(o))}var $t=class e extends gs{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 Lf(ae("ristrettoHash",t,64))}static fromBytes(t){ue(t,32);let{a:r,d:n}=co,o=hn,s=T=>ur.create(T),i=pa(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===vf)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 un(e,Le.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,s=hn,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*da),m=i(t*da);t=g,r=m,h=i(d*Vf)}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=Bf;var Jl,Zl,xs=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 Sn("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 Sn("Length too long (> 4 bytes)"))},ha=(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)"))},qf=(e,t)=>{let r=ha(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)"))},lo=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]),Hy=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),Gy=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+=ha(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=qf(o,r)-1;r+=ha(o,r),n(0,"0 padding");let i=o.slice(r);if(s!==i.length)throw W.fromCode(new Fo(s,i.length));return i};var bs=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 ma=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))}},ws=class extends ma{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 Ts=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 ga=60*1e3,Mf=1e6,jf=0,Kf="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var $f="ic0.app",Hf=".ic0.app",Gf="icp0.io",zf=".icp0.io",Wf="icp-api.io",Yf=".icp-api.io",_a=200,Jf=202,Zf=404;function Xf(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw we.fromCode(new Jr("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 Jr("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 Jr("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function Qf(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*ga}#f;#h;#m;#_;constructor(t={}){this.#e=null,this.#t=!1,this.#r=jf,this.#c=!1,this.#i=null,this.#u=!1,this._isAgent=!0,this.config={},this.log=new ws,this.#f=[],this.#h=[],this.#m=new xs({expirationTime:5*ga}),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=jn({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=jn({status:i,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw he.fromCode(new Pe(`Unknown status: ${i}`));let h=K(Ri,f),_=s.nodeKeys.get(l);if(!_)throw te.fromCode(new jo);let g=bs.fromDer(_).rawKey;if(Le.verify(u.signature,h,g))return o;throw Be.fromCode(new Ko(l))}return o},this.config=t,this.#o=t.fetch||Xf()||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(Kf);let r=Qf(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#d=t.retryTimes??3;let n=()=>new Ts({maxIterations:this.#d});if(this.#p=t.backoffStrategy||n,this.host.hostname.endsWith(Hf)?this.host.hostname=$f:this.host.hostname.endsWith(zf)?this.host.hostname=Gf:this.host.hostname.endsWith(Yf)&&(this.host.hostname=Wf),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",Pi(Jn)),t.useQueryNonces&&this.addTransform("query",Pi(Jn)),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 Lo)}}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=ya(this.#l,this.#r),p={request_type:rs.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=Wn(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(Bn))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 Pe(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===_a)u={...je(tn(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:os(f.headers)},requestId:s};else throw te.fromCode(new Fn(f.status,f.statusText,os(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 jd(e,t){let r=new st(t);if(t.byteLength<Go.length)throw new Error("Message length smaller than magic number");let n=rr(r,Go.length),o=new TextDecoder().decode(n);if(o!==Go)throw new Error("Wrong magic number: "+JSON.stringify(o));function s(l){let f=[],h=Number(pe(l));for(let m=0;m<h;m++){let x=Number(Ft(l));switch(x){case Z.Opt:case Z.Vector:{let y=Number(Ft(l));f.push([x,y]);break}case Z.Record:case Z.Variant:{let y=[],T=Number(pe(l)),O;for(;T--;){let R=Number(pe(l));if(R>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof O=="number"&&O>=R)throw new Error("field id collision or not sorted");O=R;let E=Number(Ft(l));y.push([R,E])}f.push([x,y]);break}case Z.Func:{let y=[],T=Number(pe(l));for(;T--;)y.push(Number(Ft(l)));let O=[],R=Number(pe(l));for(;R--;)O.push(Number(Ft(l)));let E=[],v=Number(pe(l));for(;v--;)switch(Number(pe(l))){case 1:{E.push("query");break}case 2:{E.push("oneway");break}case 3:{E.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([x,[y,O,E]]);break}case Z.Service:{let y=Number(pe(l)),T=[];for(;y--;){let O=Number(pe(l)),R=new TextDecoder().decode(rr(l,O)),E=Ft(l);T.push([R,E])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let _=[],g=Number(pe(l));for(let m=0;m<g;m++)_.push(Number(Ft(l)));return[f,_]}let[i,a]=s(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=i.map(l=>Wc());function u(l){if(l<-24)throw new Error("future value not supported");if(l<0)switch(l){case-1:return Ac;case-2:return vc;case-3:return Fc;case-4:return Sc;case-5:return kc;case-6:return Lc;case-7:return qc;case-8:return Mc;case-9:return Cc;case-10:return Vc;case-11:return Dc;case-12:return Uc;case-13:return Bc;case-14:return Pc;case-15:return Ic;case-16:return Rc;case-17:return Ec;case-24:return jc;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 $c(f)}case Z.Opt:{let f=u(l[1]);return Hc(f)}case Z.Record:{let f={};for(let[g,m]of l[1]){let x=`_${g}_`;f[x]=u(m)}let h=Gc(f),_=h.tryAsTuple();return Array.isArray(_)?Kc(..._):h}case Z.Variant:{let f={};for(let[h,_]of l[1]){let g=`_${h}_`;f[g]=u(_)}return zc(f)}case Z.Func:{let[f,h,_]=l[1];return Yc(f.map(g=>u(g)),h.map(g=>u(g)),_)}case Z.Service:{let f={},h=l[1];for(let[_,g]of h){let m=u(g);if(m instanceof We&&(m=m.getType()),!(m instanceof Tr))throw new Error("Illegal service definition: services can only contain functions");f[_]=m}return Jc(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)}}),Ti();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{Ti()}}var Ec=new Un,Rc=new xt,Kd=new Wo,vc=new Yo,Ac=new br,Ic=new Jo,Sc=new kn,Fc=new Ln,Bc=new qn(32),Pc=new qn(64),Cc=new Pt(8),Vc=new Pt(16),Dc=new Pt(32),Uc=new Pt(64),kc=new yt(8),Lc=new yt(16),qc=new yt(32),Mc=new yt(64),jc=new Xo;function Kc(...e){return new Zo(e)}function $c(e){return new Zr(e)}function Hc(e){return new nr(e)}function Gc(e){return new wr(e)}function zc(e){return new Xr(e)}function Wc(){return new We}function Yc(e,t,r=[]){return new Tr(e,t,r)}function Jc(e){return new Qr(e)}var Qo=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)}},zo=new Qo;function Ti(){zo=new Qo}function $d(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 xi(e){return e instanceof nr||e instanceof br||e instanceof xt}function Oi(e,t){let r=zo.copy(),n=Bt(r,e,t);return n?zo.add(e,t):zo.addNegative(e,t),n}function Bt(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 Un||t instanceof Ln&&r instanceof kn)return!0;if(t instanceof Zr&&r instanceof Zr)return Bt(e,t._type,r._type);if(r instanceof nr)return!0;if(t instanceof wr&&r instanceof wr){let o=t.fieldsAsObject;for(let[s,i]of r._fields){let a=o[Ce(s)];if(a){if(!Bt(e,a,i))return!1}else if(!xi(i))return!1}return!0}if(t instanceof Tr&&r instanceof Tr){if(!$d(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let s=t.argTypes[o];if(o<r.argTypes.length){if(!Bt(e,r.argTypes[o],s))return!1}else if(!xi(s))return!1}for(let o=0;o<r.retTypes.length;o++){let s=r.retTypes[o];if(o<t.retTypes.length){if(!Bt(e,t.retTypes[o],s))return!1}else if(!xi(s))return!1}return!0}if(t instanceof Xr&&r instanceof Xr){let o=r.alternativesAsObject;for(let[s,i]of t._fields){let a=o[Ce(s)];if(!a||!Bt(e,i,a))return!1}return!0}if(t instanceof Qr&&r instanceof Qr){let o=t.fieldsAsObject();for(let[s,i]of r._fields){let a=o[s];if(!a||!Bt(e,a,i))return!1}return!0}return t instanceof We?Bt(e,t.getType(),r):r instanceof We?Bt(e,t,r.getType()):!1}function en(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?en(e.buffer):new Uint8Array(e)}function Or(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 Ei(e){if(typeof e=="string")return Zc(e);if(typeof e=="number")return ve(re(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return ve(en(e));if(Array.isArray(e)){let t=e.map(Ei);return ve(K(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return ve(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return Ei(e.toHash());if(typeof e=="object")return Mn(e);if(typeof e=="bigint")return ve(re(e))}throw W.fromCode(new ko(e))}var Zc=e=>{let t=new TextEncoder().encode(e);return ve(t)};function Ct(e){return Mn(e)}function Mn(e){let n=Object.entries(e).filter(([,i])=>i!==void 0).map(([i,a])=>{let c=Zc(i),u=Ei(a);return[c,u]}).sort(([i],[a])=>mi(i,a)),o=K(...n.map(i=>K(...i)));return ve(o)}var jn=new TextEncoder().encode(`
|
|
50
|
+
ic-request`),Ri=new TextEncoder().encode("\vic-response"),vi=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"}},Qc=55799,el=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||{}),Hd=23,Gd=255,zd=65535,Wd=4294967295,Yd=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 Jd(e){return e==null}function tl(e,t){let r=new Uint8Array(t);return r.set(e),r}var Zd=new TextDecoder;function Xd(e){return(e&224)>>5}function Qd(e){return e&31}var Hn=new Uint8Array,Kn,lt=0;function rl(e,t){Hn=e,lt=0;let r=Er(t);return t?.(r)??r}function Er(e){let[t,r]=es();switch(t){case _e.UnsignedInteger:return rn(r);case _e.NegativeInteger:return np(r);case _e.ByteString:return nl(r);case _e.TextString:return Ii(r);case _e.Array:return ep(r,e);case _e.Map:return rp(r,e);case _e.Tag:return op(r,e);case _e.Simple:return tp(r)}throw new Vt(`Unsupported major type: ${t}`)}function es(){let e=Hn.at(lt);if(Jd(e))throw new Vt("Provided CBOR data is empty");let t=Xd(e),r=Qd(e);return lt++,[t,r]}function ep(e,t){let r=rn(e);if(r===1/0){let o=[],s=Er(t);for(;s!==el;)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 tp(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 el}throw new Vt(`Unrecognized simple type: ${e.toString(2)}`)}function rp(e,t){let r=rn(e),n={};if(r===1/0){let[o,s]=es();for(;o!==_e.Simple&&s!==ct.Break;){let i=Ii(s),a=Er(t);n[i]=t?.(a,i)??a,[o,s]=es()}return n}for(let o=0;o<r;o++){let[s,i]=es();if(s!==_e.TextString)throw new Vt("Map keys must be text strings");let a=Ii(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 np(e){let t=rn(e);return typeof t=="number"?-1-t:-1n-t}function nl(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 Ii(e){let t=nl(e);return Zd.decode(t)}function op(e,t){let r=rn(e);if(r===Qc)return Er(t);throw new Vt(`Unsupported tag: ${r}.`)}var Gn=class extends Error{constructor(t){super(t),this.name="SerializationError"}},sp=2*1024,ip=100,ap=new TextEncoder;function $n(e){return e<<5}var He=new Uint8Array(sp),it=new DataView(He.buffer),me=0,Ai=[];function ol(e,t){me=0;let r=t?.(e)??e;return mp(Qc,r,t),He.slice(0,me)}function Si(e,t){if(me>He.length-ip&&(He=tl(He,He.length*2),it=new DataView(He.buffer)),e===!1||e===!0||e===null||e===void 0){up(e);return}if(typeof e=="number"||typeof e=="bigint"){hp(e);return}if(typeof e=="string"){al(e);return}if(e instanceof Uint8Array){Xc(e);return}if(e instanceof ArrayBuffer){Xc(new Uint8Array(e));return}if(Array.isArray(e)){cp(e,t);return}if(typeof e=="object"){lp(e,t);return}throw new Gn(`Unsupported type: ${typeof e}`)}function cp(e,t){nn(_e.Array,e.length),e.forEach((r,n)=>{Si(t?.(r,n.toString())??r,t)})}function lp(e,t){Ai=Object.entries(e),nn(_e.Map,Ai.length),Ai.forEach(([r,n])=>{al(r),Si(t?.(n,r)??n,t)})}function nn(e,t){if(t<=Hd){it.setUint8(me++,$n(e)|Number(t));return}if(t<=Gd){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<=Wd){it.setUint8(me++,$n(e)|at.FourBytes),it.setUint32(me,Number(t),tn),me+=4;return}if(t<=Yd){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 up(e){nn(_e.Simple,dp(e))}function dp(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 sl(e,t){nn(e,t.length),me>He.length-t.length&&(He=tl(He,He.length+t.length),it=new DataView(He.buffer)),He.set(t,me),me+=t.length}function il(e,t){nn(e,t)}function pp(e){il(_e.UnsignedInteger,e)}function fp(e){il(_e.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function hp(e){e>=0?pp(e):fp(e)}function al(e){sl(_e.TextString,ap.encode(e))}function Xc(e){sl(_e.ByteString,e)}function mp(e,t,r){nn(_e.Tag,e),Si(t,r)}function yp(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function zn(e){try{return ol(e,t=>L.isPrincipal(t)?t.toUint8Array():on.isExpiry(t)?t.toBigInt():yp(t)?t.toCborValue():t)}catch(t){throw W.fromCode(new Po(t,e))}}function je(e){try{return rl(e)}catch(t){throw W.fromCode(new Bo(t,e))}}var ts={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 rs;(function(e){e.Call="call"})(rs||(rs={}));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 ns="__expiry__",Bi=BigInt(1e3),gp=BigInt(1e6),cl=BigInt(60),xp=BigInt(90)*Bi;function ll(e){return e/Bi}function bp(e){return ll(e)/cl}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<xp?s=ll(o):s=bp(o)*cl,new e(s*Bi*gp)}toBigInt(){return this.__expiry__}toHash(){return re(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[ns]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[ns])try{let n=BigInt(r[ns]);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 ${ns}`))}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 Pi(e=Yn){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===Dt.Call&&(t.body.nonce=e())}}function os(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var Vi=BigInt(0),ss=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 ul(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Vi:BigInt("0x"+e)}function Ke(e){return ul(M(e))}function Ut(e){return ue(e),ul(M(Uint8Array.from(e).reverse()))}function ye(e,t){return be(e.toString(16).padStart(t*2,"0"))}function Di(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 dl(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 Ui(e){return Uint8Array.from(e)}var Ci=e=>typeof e=="bigint"&&Vi<=e;function ki(e,t,r){return Ci(e)&&Ci(t)&&Ci(r)&&t<=e&&e<r}function is(e,t,r,n){if(!ki(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function kt(e){let t;for(t=0;e>Vi;e>>=ss,t+=1);return t}function pl(e,t){return e>>BigInt(t)&ss}var ut=e=>(ss<<BigInt(e))-ss;function fl(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),Ar=BigInt(2),ml=BigInt(3),_l=BigInt(4),yl=BigInt(5),wp=BigInt(7),gl=BigInt(8),Tp=BigInt(9),xl=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 hl(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 Li(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function bl(e,t){let r=(e.ORDER+Te)/_l,n=e.pow(t,r);return Li(e,n,t),n}function Np(e,t){let r=(e.ORDER-yl)/gl,n=e.mul(t,Ar),o=e.pow(n,r),s=e.mul(t,o),i=e.mul(e.mul(s,Ar),o),a=e.mul(s,e.sub(i,e.ONE));return Li(e,a,t),a}function Op(e){let t=De(e),r=wl(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+wp)/xl;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 Li(a,g,c),g}}function wl(e){if(e<ml)throw new Error("sqrt is not defined for small field");let t=e-Te,r=0;for(;t%Ar===Ve;)t/=Ar,r++;let n=Ar,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 bl;let s=o.pow(n,t),i=(t+Te)/Ar;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 Ep(e){return e%_l===ml?bl:e%gl===yl?Np:e%xl===Tp?Op(e):wl(e)}var qt=(e,t)=>(se(e,t)&Te)===Te,Rp=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function as(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Rp.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)/Ar,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 qi(e,t){t!==void 0&&ci(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}=qi(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*hl(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>hl(l,e),sqrt:s||(l=>(p||(p=Ep(e)),p(d,l))),toBytes:l=>r?Di(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 Tl(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 cs(e){let t=Tl(e);return t+Math.ceil(t/2)}function Mi(e,t,r=!1){let n=e.length,o=Tl(t),s=cs(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?Di(a,o):ye(a,o)}var an=BigInt(0),Ir=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 Rl(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function ji(e,t){Rl(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 Nl(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+=Ir);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 Ap(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 Ip(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 Ki=new WeakMap,vl=new WeakMap;function $i(e){return vl.get(e)||1}function Ol(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&Ir&&(n=n.add(o)),o=o.double(),r>>=Ir;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=ji(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=ji(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=Nl(n,a,i);n=c,p?s=s.add(Xn(l,r[f])):o=o.add(Xn(d,r[u]))}return Ol(n),{p:o,f:s}}wNAFUnsafe(t,r,n,o=this.ZERO){let s=ji(t,this.bits);for(let i=0;i<s.windows&&n!==an;i++){let{nextN:a,offset:c,isZero:u,isNeg:p}=Nl(n,i,s);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return Ol(n),o}getPrecomputes(t,r,n){let o=Ki.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Ki.set(r,o))),o}cached(t,r,n){let o=$i(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let s=$i(t);return s===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(s,this.getPrecomputes(s,t,n),r,o)}createCache(t,r){Rl(r,this.bits),vl.set(t,r),Ki.delete(t)}hasCache(t){return $i(t)!==1}};function Al(e,t,r,n){let o=t,s=e.ZERO,i=e.ZERO;for(;r>an||n>an;)r&Ir&&(s=s.add(o)),n&Ir&&(i=i.add(o)),o=o.double(),r>>=Ir,n>>=Ir;return{p1:s,p2:i}}function ln(e,t,r,n){Ap(r,e),Ip(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 El(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return as(t),t}else return De(e,{isLE:r})}function ls(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=El(t.p,r.Fp,n),s=El(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 Sp=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 Fp(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 Il(e){if(!ft(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?Q(e):e}function Bp(e,t,r,n){ue(e),Qn(r),t=Il(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=[Fp(d,p[f-1]),ir(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function Pp(e,t,r,n,o){if(ue(e),Qn(r),t=Il(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 Hi(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(!fl(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=Bp(e,c,d,i);else if(a==="xof")l=Pp(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(Sp(x),n)}f[h]=_}return f}function Gi(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 Cp=Q("HashToScalar-");function zi(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=Hi(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=Hi(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:Cp},i);return Hi(s,1,c)[0][0]}}}var Sl=(e,t)=>(e+(e>=0?t:-t)/Mt)/t;function Vp(e,t,r){let[[n,o],[s,i]]=t,a=Sl(i*e,r),c=Sl(-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),Wi=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 Dp(e,t={}){let r=ls("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=Lp(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(I,b,N){let{x:B,y:V}=b.toAffine(),q=n.toBytes(B);if(vr(N,"isCompressed"),N){p();let S=!n.isOdd(V);return K(Up(S),q)}else return K(Uint8Array.of(4),q,n.toBytes(V))}function l(I){or(I,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,B=I.length,V=I[0],q=I.subarray(1);if(B===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(B===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 ${B}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function _(I){let b=n.sqr(I),N=n.mul(b,I);return n.add(n.add(N,n.mul(I,s.a)),s.b)}function g(I,b){let N=n.sqr(b),B=_(I);return n.eql(N,B)}if(!g(s.Gx,s.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(s.a,un),Wi),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(I,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${I}`);return b}function T(I){if(!(I instanceof w))throw new Error("ProjectivePoint expected")}function O(I){if(!c||!c.basises)throw new Error("no endo");return Vp(I,c.basises,o.ORDER)}let R=sr((I,b)=>{let{X:N,Y:B,Z:V}=I;if(n.eql(V,n.ONE))return{x:N,y:B};let q=I.is0();b==null&&(b=q?n.ONE:n.inv(V));let S=n.mul(N,b),F=n.mul(B,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(I=>{if(I.is0()){if(t.allowInfinityPoint&&!n.is0(I.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=I.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(!I.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(I,b,N,B,V){return N=new w(n.mul(N.X,I),N.Y,N.Z),b=Xn(B,b),N=Xn(V,N),b.add(N)}class w{constructor(b,N,B){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",B),Object.freeze(this)}static CURVE(){return s}static fromAffine(b){let{x:N,y:B}=b||{};if(!b||!n.isValid(N)||!n.isValid(B))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(B)?w.ZERO:new w(N,B,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 P.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:B,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(B,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,B=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(B,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(B,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:B,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(B,S),Fe=n.mul(V,F),pt=n.add(N,B),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(B,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 B,V,q=S=>P.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),B=v(N.beta,k,ne,S,C)}else{let{p:S,f:F}=q(b);B=S,V=F}return Ze(w,[B,V])[0]}multiplyUnsafe(b){let{endo:N}=t,B=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Sr||B.is0())return w.ZERO;if(b===Ue)return B;if(P.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,B,q,F);return v(N.beta,C,D,V,S)}else return P.unsafe(B,b)}multiplyAndAddUnsafe(b,N,B){let V=this.multiplyUnsafe(N).add(b.multiplyUnsafe(B));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):P.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 A=o.BITS,P=new cn(w,t.endo?Math.ceil(A/2):A);return w.BASE.precompute(8),w}function Up(e){return Uint8Array.of(e?2:3)}function kp(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%Wi===un){let h=(e.ORDER-un)/Wi,_=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 Yi(e,t){as(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=kp(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 Lp(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Ji(e){let{CURVE:t,curveOpts:r}=qp(e),n=Dp(t,r);return jp(e,n)}function qp(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 Mp(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 jp(e,t){let{Fp:r,Fn:n}=t;function o(i){return ki(i,Ue,n.ORDER)}let s=Mp(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:i=>eo(n,i),weierstrassEquation:s,isWithinCurveOrder:o})}var Kp=BigInt(0),us=BigInt(1),Fl=BigInt(2),dn=BigInt(3);function $p(e){let t=[];for(;e>us;e>>=us)(e&us)===Kp?t.unshift(0):(e&dn)===dn?(t.unshift(-1),e+=us):t.unshift(1);return t}function Zi(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Hp(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,Fl));function l(y,T,O,R){let E=o.sqr(O),v=o.sqr(R),w=o.mulByB(o.mul(v,dn)),A=o.mul(w,dn),P=o.sub(o.sub(o.sqr(o.add(O,R)),v),E),I=o.sub(w,E),b=o.mul(o.sqr(T),dn),N=o.neg(P);return y.push([I,b,N]),T=o.mul(o.mul(o.mul(o.sub(E,A),T),O),d),O=o.sub(o.sqr(o.mul(o.add(E,A),d)),o.mul(o.sqr(w),dn)),R=o.mul(E,P),{Rx:T,Ry:O,Rz:R}}function f(y,T,O,R,E,v){let w=o.sub(O,o.mul(v,R)),A=o.sub(T,o.mul(E,R)),P=o.sub(o.mul(w,E),o.mul(A,v)),I=o.neg(w),b=A;y.push([P,I,b]);let N=o.sqr(A),B=o.mul(N,A),V=o.mul(N,T),q=o.add(o.sub(B,o.mul(V,Fl)),o.mul(o.sqr(w),R));return T=o.mul(A,q),O=o.sub(o.mul(o.sub(V,q),w),o.mul(B,O)),R=o.mul(R,B),{Rx:T,Ry:O,Rz:R}}let h=$p(a),_=sr(y=>{let T=y,{x:O,y:R}=T.toAffine(),E=O,v=R,w=o.neg(R),A=E,P=v,I=o.ONE,b=[];for(let N of h){let B=[];({Rx:A,Ry:P,Rz:I}=l(B,A,P,I)),N&&({Rx:A,Ry:P,Rz:I}=f(B,A,P,I,E,N===-1?w:v)),b.push(B)}if(u){let N=b[b.length-1];u(A,P,I,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,A]of y)for(let[P,I,b]of v[E])O=p(P,I,b,O,w,A)}}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(Zi(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){Zi(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){Zi(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 Pl(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:s}=e.fields,i=Ji(e.G1),a=Object.assign(i,zi(i.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Ji(e.G2),u=Object.assign(c,zi(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Hp(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=cs(r.ORDER);return Mi(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 A(S,F,C){let D=E(S,C),k=_.sign(D,F);return S instanceof u.Point?k:O.toBytes(k)}function P(S,F,C){let D=R(S,C),k=g.sign(D,F);return S instanceof a.Point?k:T.toBytes(k)}function I(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 B(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:A,signShortSignature:P,verify:I,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:B,aggregateShortSignatures:V,G1:a,G2:u,Signature:O,ShortSignature:T}}var Cl=BigInt(0),jt=BigInt(1),ke=BigInt(2),Vl=BigInt(3);function ta(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 Ul(e,t,r){let n=t.pow(r,(e.ORDER-jt)/Vl),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)/Vl),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 Dl=(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]}},Xi=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=Dl(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=ta(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Dl(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,s){return typeof o=="bigint"&&Cl<=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===Cl,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])}}},Qi=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=ta(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)}}},ea=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=ta(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),pl(r,o)&&(n=this.mul(n,t));return n}};function kl(e){let t=De(e.ORDER),r=new Xi(t,e),n=new Qi(r),o=new ea(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ae=BigInt(0),ds=BigInt(1),Xe=BigInt(2),ps=BigInt(3),to=BigInt(4),ar=BigInt("0xd201000000010000"),Gp=kt(ar),Fr={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ae,b:to,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},zp=De(Fr.n,{modFromBytes:!0,isLE:!0}),{Fp:U,Fp2:G,Fp6:Wp,Fp12:J}=kl({ORDER:Fr.p,X_LEN:Gp,FP2_NONRESIDUE:[ds,ds],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:Ll,G2psi2:Yp}=Ul(U,G,G.div(G.ONE,G.NONRESIDUE)),ra=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}),sa={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")])},fs=ro(U.toBytes(Ae),{infinity:!0,compressed:!0});function hs(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 Jp(e,t,r){let{BYTES:n,ORDER:o}=U,s=t.is0(),{x:i,y:a}=t.toAffine();if(r){if(s)return fs.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 na(e){e.assertValidity();let{BYTES:t,ORDER:r}=U,{x:n,y:o}=e.toAffine();if(e.is0())return fs.slice();let s=!!(o*Xe/r);return ro(ye(n,t),{compressed:!0,sort:s})}function Zp(e){let{compressed:t,infinity:r,sort:n,value:o}=hs(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!==Ae)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Ae,y:Ae}}let u=U.add(U.pow(c,ps),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!==Ae||c!==Ae)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 ql(e){let{infinity:t,sort:r,value:n}=hs(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,ps),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 Xp(e,t,r){let{BYTES:n,ORDER:o}=U,s=t.is0(),{x:i,y:a}=t.toAffine();if(r){if(s)return K(fs,ye(Ae,n));let c=!!(a.c1===Ae?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 oa(e){e.assertValidity();let{BYTES:t}=U;if(e.is0())return K(fs,ye(Ae,t));let{x:r,y:n}=e.toAffine(),{re:o,im:s}=G.reim(r),{re:i,im:a}=G.reim(n),u=!!((a>Ae?a*Xe:i*Xe)/U.ORDER&ds),p=o;return K(ro(ye(s,t),{sort:u,compressed:!0}),ye(p,t))}function Qp(e){let{BYTES:t,ORDER:r}=U,{compressed:n,infinity:o,sort:s,value:i}=hs(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,ps),sa.b),l=G.sqrt(d),f=l.c1===Ae?l.c0*Xe/r:l.c1*Xe/r?ds:Ae;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 Ml(e){let{ORDER:t}=U,{infinity:r,sort:n,value:o}=hs(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,ps),sa.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=_>Ae&&_*Xe/t!==g,x=_===Ae&&h*Xe/t!==g;(m||x)&&(f=G.neg(f));let y=s.fromAffine({x:d,y:f});return y.assertValidity(),y}var no=Pl({fields:{Fp:U,Fp2:G,Fp6:Wp,Fp12:J,Fr:zp},G1:{...Fr,Fp:U,htfDefaults:{...ra,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:of,fromBytes:Zp,toBytes:Jp,ShortSignature:{fromBytes(e){return ue(e),ql(e)},fromHex(e){return ql(e)},toBytes(e){return na(e)},toRawBytes(e){return na(e)},toHex(e){return M(na(e))}}},G2:{...sa,Fp:G,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...ra},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:sf,isTorsionFree:(e,t)=>t.multiplyUnsafe(ar).negate().equals(Ll(e,t)),clearCofactor:(e,t)=>{let r=ar,n=t.multiplyUnsafe(r).negate(),o=Ll(e,t),s=t.double();return s=Yp(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:Qp,toBytes:Xp,Signature:{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))}}},params:{ateLoopSize:ar,r:Fr.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:ra,hash:ve}),ef=Gi(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))))),tf=Gi(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)))),rf=Yi(U,{A:U.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:U.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:U.create(BigInt(11))}),nf=Yi(G,{A:G.create({c0:U.create(Ae),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 of(e){let{x:t,y:r}=rf(U.create(e[0]));return tf(t,r)}function sf(e){let{x:t,y:r}=nf(G.fromBigTuple(e));return ef(t,r)}function jl(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 cf=BigInt(1e6),ia=e=>pe(new st(e)),pn=e=>{let r=ia(e)/cf;return new Date(Number(r))};var Kl=60*1e3,lf=60,uf=24,df=uf*lf,pf=5,ff=5,hf=30*df,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 mf(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??jl,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,s=pf,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 Pr(t,this.cert.tree)}lookup_subtree(t){return ys(t,this.cert.tree)}async verify(){let t=await ms(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=yf(r),s=K(so("ic-state-root"),t),i=Ie(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*Kl,u=new Date,p=u.getTime()+a,d=p-c,l=p+ff*Kl,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 Be.fromCode(new yr(this._maxAgeInMinutes,f,u,a,"past"));if(_)throw this.#t?.hasSyncedTime()?he.fromCode(new Pe("System time has been synced with the IC network, but certificate is still too far in the future.")):Be.fromCode(new yr(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,s))throw Be.fromCode(new Zt("Invalid signature"))}catch(a){throw Be.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:hf,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(!aa({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw Be.fromCode(new Hr(this._canisterId,o));let i=Ie(r.lookup_path(["subnet",n,"public_key"]));if(!i)throw Be.fromCode(new Io(`Could not find subnet key for subnet ID ${o.toText()}`));return i}},oo=be("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),_f=96;function yf(e){let t=oo.byteLength+_f;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 So(oo,r));return e.slice(oo.byteLength)}function Ie(e){if(e.status===$e.Found&&e.value instanceof Uint8Array)return e.value}async function ms(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 ms(e[2])));case Re.Fork:return ve(K(so("ic-hashtree-fork"),await ms(e[1]),await ms(e[2])));default:throw er}}function so(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return K(t,r)}function $l(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 Br;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(Br||(Br={}));var ie;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ie||(ie={}));function Pr(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=$l(e),n=io(r,t);switch(n.status){case ie.Found:return Pr(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 ys(e,t){if(e.length===0)return{status:Br.Found,value:t};let r=$l(e),n=io(r,t);switch(n.status){case ie.Found:return ys(e.slice(1),n.value);case ie.Unknown:return{status:Br.Unknown};case ie.Absent:case ie.Greater:case ie.Less:return{status:Br.Absent};default:throw er}}function _s(e){switch(e[0]){case Re.Empty:return[];case Re.Fork:return _s(e[1]).concat(_s(e[2]));default:return[e]}}function io(e,t){switch(t[0]){case Re.Labeled:return mf(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 aa(e){let{canisterId:t,subnetId:r,tree:n}=e,o=Pr(["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 ca=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=xf(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=gf(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:Ie(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(_,bf(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,ia(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},gf=(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=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)}),!aa({canisterId:t,subnetId:i,tree:o}))throw Be.fromCode(new Hr(t,i));let c=ys(["subnet",s.subnet_id,"node"],o);if(c.status!==Br.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=_s(c.value),p=new Map;return u.forEach(d=>{let l=L.from(d[1]).toText(),f=Pr(["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}},xf=(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 Pe(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))},bf=e=>je(e).map(r=>L.fromUint8Array(r));var lr=BigInt(0),Ne=BigInt(1),la=BigInt(2),wf=BigInt(8);function Tf(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 Nf(e,t={}){let r=ls("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,s=r.CURVE,{h:i}=s;Lt(t,{},{uvRatio:"function"});let a=la<<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(!Tf(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 is("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?wf: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),A=c(w*w),P=c(E*m),I=c(w*c(P+v)),b=c(A+c(x*c(E*v)));if(I!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),B=c(O*R);if(N!==B)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=Ui(or(m,y,"point")),vr(x,"zip215");let R=Ui(m),E=m[y-1];R[y-1]=E&-129;let v=Ut(R),w=x?a:n.ORDER;is("point.y",v,lr,w);let A=c(v*v),P=c(A-Ne),I=c(O*A-T),{isValid:b,value:N}=u(P,I);if(!b)throw new Error("bad point: invalid y coordinate");let B=(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!==B&&(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(la),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),A=c(y*E),P=c(R*T);return v===w&&A===P}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(la*c(T*T)),v=c(m*O),w=x+y,A=c(c(w*w)-O-R),P=v+R,I=P-E,b=v-R,N=c(A*I),B=c(P*b),V=c(A*b),q=c(I*P);return new h(N,B,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:A,T:P}=m,I=c(T*v),b=c(O*w),N=c(E*y*P),B=c(R*A),V=c((T+O)*(v+w)-I-b),q=B-N,S=B+N,F=c(b-x*I),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 gs=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 Of(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,A,P)=>{if(vr(P,"phflag"),A.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 A=y.secretKey;w=ae("private key",w,A);let P=ae("hashed private key",t(w),2*A),I=c(P.slice(0,A)),b=P.slice(A,2*A),N=p(I);return{head:I,prefix:b,scalar:N}}function l(w){let{head:A,prefix:P,scalar:I}=d(w),b=o.multiply(I),N=b.toBytes();return{head:A,prefix:P,scalar:I,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...A){let P=K(...A);return p(t(u(P,ae("context",w),!!n)))}function _(w,A,P={}){w=ae("message",w),n&&(w=n(w));let{prefix:I,scalar:b,pointBytes:N}=l(A),B=h(P.context,I,w),V=o.multiply(B).toBytes(),q=h(P.context,V,N,w),S=i.create(B+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,A,P,I=g){let{context:b,zip215:N}=I,B=y.signature;w=ae("signature",w,B),A=ae("message",A),P=ae("publicKey",P,y.publicKey),N!==void 0&&vr(N,"zip215"),n&&(A=n(A));let V=B/2,q=w.subarray(0,V),S=Ut(w.subarray(V,B)),F,C,D;try{F=e.fromBytes(P,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(),A);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 A=v.randomSecretKey(w);return{secretKey:A,publicKey:f(A)}}function R(w){return ft(w)&&w.length===i.BYTES}function E(w,A){try{return!!e.fromBytes(w,A)}catch{return!1}}let v={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:R,isValidPublicKey:E,toMontgomery(w){let{y:A}=e.fromBytes(w),P=y.publicKey,I=P===32;if(!I&&P!==57)throw new Error("only defined for 25519 and 448");let b=I?s.div(Ne+A,Ne-A):s.div(A-Ne,A+Ne);return s.toBytes(b)},toMontgomerySecret(w){let A=y.secretKey;or(w,A);let P=t(w.subarray(0,A));return c(P).subarray(0,A)},randomPrivateKey:T,precompute(w=8,A=e.BASE){return A.precompute(w,!1)}};return Object.freeze({keygen:O,getPublicKey:f,sign:_,verify:m,utils:v,Point:e,lengths:y})}function Ef(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 Rf(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Hl(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Ef(e),s=Nf(t,r),i=Of(s,n,o);return Rf(e,i)}var vf=BigInt(0),Kt=BigInt(1),Gl=BigInt(2),qy=BigInt(3),Af=BigInt(5),If=BigInt(8),fn=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),ao={p:fn,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:If,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Sf(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,Gl,s)*a%s,u=dt(c,Kt,s)*e%s,p=dt(u,Af,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,Gl,s)*e%s,b2:a}}function Ff(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var ua=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function fa(e,t){let r=fn,n=se(t*t*t,r),o=se(n*n*t,r),s=Sf(e*o).pow_p_5_8,i=se(e*n*s,r),a=se(t*i*i,r),c=i,u=se(i*ua,r),p=a===e,d=a===se(-e,r),l=a===se(-e*ua,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}),Bf=De(ao.n,{isLE:!0}),Pf={...ao,Fp:ur,hash:yc,adjustScalarBytes:Ff,uvRatio:fa},Le=Hl(Pf);var da=ua,Cf=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Vf=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Df=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Uf=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),zl=e=>fa(Kt,e),kf=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),pa=e=>Le.Point.Fp.create(Ut(e)&kf);function Wl(e){let{d:t}=ao,r=fn,n=m=>ur.create(m),o=n(da*e*e),s=n((o+Kt)*Df),i=BigInt(-1),a=n((i-t*o)*n(o+t)),{isValid:c,value:u}=fa(s,a),p=n(u*e);qt(p,r)||(p=n(-p)),c||(u=p),c||(i=o);let d=n(i*(o-Kt)*Uf-a),l=u*u,f=n((u+u)*a),h=n(d*Cf),_=n(Kt-l),g=n(Kt+l);return new Le.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function Lf(e){ue(e,64);let t=pa(e.subarray(0,32)),r=Wl(t),n=pa(e.subarray(32,64)),o=Wl(n);return new $t(r.add(o))}var $t=class e extends gs{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 Lf(ae("ristrettoHash",t,64))}static fromBytes(t){ue(t,32);let{a:r,d:n}=ao,o=fn,s=T=>ur.create(T),i=pa(t);if(!dl(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}=zl(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===vf)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}=zl(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*da),m=i(t*da);t=g,r=m,h=i(d*Vf)}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=Bf;var Yl,Jl,xs=class{static{Yl=Symbol.iterator,Jl=Symbol.toStringTag}#e;#t;constructor(t={}){this[Yl]=this.entries.bind(this),this[Jl]="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 Zl=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 In("Length too long (> 4 bytes)"))},Xl=(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 In("Length too long (> 4 bytes)"))},ha=(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)"))},qf=(e,t)=>{let r=ha(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]),Hy=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),Gy=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+Zl(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,s=new Uint8Array(1+Zl(n)+n);return s[o++]=48,o+=Xl(s,o,n),s.set(t,o),o+=t.byteLength,s[o++]=3,o+=Xl(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+=ha(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=qf(o,r)-1;r+=ha(o,r),n(0,"0 padding");let i=o.slice(r);if(s!==i.length)throw W.fromCode(new Fo(s,i.length));return i};var bs=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 ma=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))}},ws=class extends ma{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 Ts=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 ga=60*1e3,Mf=1e6,jf=0,Kf="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var $f="ic0.app",Hf=".ic0.app",Gf="icp0.io",zf=".icp0.io",Wf="icp-api.io",Yf=".icp-api.io",_a=200,Jf=202,Zf=404;function Xf(){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 Qf(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*ga}#f;#h;#m;#_;constructor(t={}){this.#e=null,this.#t=!1,this.#r=jf,this.#c=!1,this.#i=null,this.#u=!1,this._isAgent=!0,this.config={},this.log=new ws,this.#f=[],this.#h=[],this.#m=new xs({expirationTime:5*ga}),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 Pe(`Unknown status: ${i}`));let h=K(Ri,f),_=s.nodeKeys.get(l);if(!_)throw te.fromCode(new jo);let g=bs.fromDer(_).rawKey;if(Le.verify(u.signature,h,g))return o;throw Be.fromCode(new Ko(l))}return o},this.config=t,this.#o=t.fetch||Xf()||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(Kf);let r=Qf(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#d=t.retryTimes??3;let n=()=>new Ts({maxIterations:this.#d});if(this.#p=t.backoffStrategy||n,this.host.hostname.endsWith(Hf)?this.host.hostname=$f:this.host.hostname.endsWith(zf)?this.host.hostname=Gf:this.host.hostname.endsWith(Yf)&&(this.host.hostname=Wf),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",Pi(Yn)),t.useQueryNonces&&this.addTransform("query",Pi(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 Lo)}}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=ya(this.#l,this.#r),p={request_type:rs.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 Pe(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===_a)u={...je(en(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:os(f.headers)},requestId:s};else throw te.fromCode(new Sn(f.status,f.statusText,os(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:An.fromCode(new Bn(f))}if(!this.#_)return u;let p=u.signatures?.[0]?.timestamp;if(!p)throw te.fromCode(new qo("Timestamp not found in query response. This suggests a malformed or malicious response."));let d=Number(BigInt(p)/BigInt(Mf));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 Be.fromCode(new Co(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 te.fromCode(new gr(`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===_a&&(a=en(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=os(i.headers);if(i.status===_a||i.status===Jf)return{ok:i.ok,status:i.status,statusText:i.statusText,responseBodyBytes:a,headers:c};let u=await i.text();if(i.status===Zf&&i.url.includes("api/v3"))throw te.fromCode(new Bn);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 Fn(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=ya(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=Wn(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 Be.fromCode(new Mo);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 Pe(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:ya(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:Wn(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 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 te.fromCode(new Qt("Could not decode time from response"));let o=Pr(["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 zr("Time was not in its expected format."));let s=fn(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 ca({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 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=L.from(t);await this.#g(r);let o=(await ca({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 ya(e,t){let r=e*ga;return sn.fromDeltaInMilliseconds(r,t)}var eh=300*1e3;function xa(){return sh(rh(th(),1e3),oh(1e3,1.2),nh(eh))}function th(){let e=!0;return async()=>e?(e=!1,!0):!1}function rh(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(s=>setTimeout(s,t))}}function nh(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 oh(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function sh(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var tu={strategy:xa(),preSignReadStateRequest:!1};function ru(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ba(e,t){return e!==null&&typeof e=="object"&&ru(e,t)}function ah(e,t){return ru(e,t)&&typeof e[t]=="function"}function eu(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&&ah(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 ch({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=Ie(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:Ie(c.lookup_path([...o,"reply"])),certificate:c};case wt.Received:case wt.Unknown:case wt.Processing:return await(n.strategy??xa())(t,r,p),wa(e,t,r,{...n,request:i});case wt.Rejected:{let d=new Uint8Array(Ie(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(Ie(c.lookup_path([...o,"reject_message"]))),f=Ie(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Jt.fromCode(new Yr(r,d,l,h))}case wt.Done:throw he.fromCode(new Uo(r))}throw er}async function ch(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&eu(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!eu(o))throw W.fromCode(new $o(o));return o}var Qe=Symbol.for("ic-agent-metadata"),Ns=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 Cn(i.canisterId));let a=typeof i.canisterId=="string"?L.fromText(i.canisterId):i.canisterId;super({config:{...nu,...i,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Ta),r?.certificate&&u.annotations.push(ou),this[c]=uh(this,c,u,i.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw W.fromCode(new Cn(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 mn(e,t){let r=Nr.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var nu={pollingOptions:tu},Ta="http-details",ou="certificate";function uh(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 Vo(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:mn(r.retTypes,d.reply.arg)}:mn(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}={...nu,...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(Ie(y.lookup_path([...v,"status"])))){case"replied":x=Ie(y.lookup_path([...v,"reply"]));break;case"rejected":{let A=new Uint8Array(Ie(y.lookup_path([...v,"reject_code"])))[0],P=new TextDecoder().decode(Ie(y.lookup_path([...v,"reject_message"]))),I=Ie(y.lookup_path([...v,"error_code"])),b=I?new TextDecoder().decode(I):void 0,N=new Yr(_,A,P,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,A=new Do(_,E,v,w);throw A.callContext={canisterId:l,methodName:t,httpDetails:g},Jt.fromCode(A)}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(ou),R={...g,requestDetails:m};if(x!==void 0)return T&&O?{httpDetails:R,certificate:y,result:mn(r.retTypes,x)}:O?{certificate:y,result:mn(r.retTypes,x)}:T?{httpDetails:R,result:mn(r.retTypes,x)}:mn(r.retTypes,x);{let E=new Pe(`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 dh=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(dh||{}),tg=BigInt(1e8);var j=e=>e==null,X=e=>!j(e);var ph=class extends Error{},po=(e,t)=>{if(e==null)throw new ph(t)};var kr=e=>new Uint8Array(e),Os=e=>Array.from(e);var iu=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var su="abcdefghijklmnopqrstuvwxyz234567",uo=Object.create(null);for(let e=0;e<su.length;e++)uo[su[e]]=e;uo[0]=uo.o;uo[1]=uo.i;var Es=e=>btoa(String.fromCharCode(...new Uint8Array(e)));var rg=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__",au=(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,cu=(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 fh=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=hh({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},hh=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Os(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 mh(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 _h(e){return Vr(e,lo)}var yh=class{constructor(e){this._cose=e,this.#e=_h(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},fu=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new yh(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Es(this.#e)}},gh=class extends fu{#e;#t;constructor({authData:e,...t}){super(t);let r=fh({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}},xh=class extends fu{},bh=class extends Error{},wh=class extends Error{},Th=class extends Error{},Nh=class extends Error{},Oh=class extends Error{},Eh=class extends Error{},Rh=class extends Error{},lu=class extends Error{};var vh={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Ah=6e4,hu=()=>window.crypto.getRandomValues(new Uint8Array(16)),Ih=()=>hu(),Sh=()=>hu(),Fh=()=>{let{location:{href:e}}=window,t=URL.parse(e);if(j(t))throw new bh;let{hostname:r}=t;return r},mu=({appId:e})=>e?.id??Fh(),Bh=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:mu({appId:e})}}),o=()=>({user:{id:Sh(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:Ih(),...n(),...o(),pubKeyCredParams:Object.values(vh).map(s=>({type:"public-key",alg:s})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},Ph=(e={})=>({rpId:mu(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||{}),_u=({timeout:e})=>AbortSignal.timeout(e??Ah),Ch=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...Ph(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:_u({timeout:n})}),uu=e=>{if(e.status!=="initialized")throw new wh},du=e=>{if(j(e))throw new Th},pu=({type:e})=>{if(e!=="public-key")throw new Nh},va=class fo 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=fo.#r({credential:new gh(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:Bh(t),signal:_u({timeout:r})});du(o),pu(o);let{response:{attestationObject:s},rawId:i}=o;if(j(s))throw new Oh;let{authData:a}=ts.decode(kr(s)),c=mh(a);return new fo({...n,rawId:kr(i),cose:c,authData:a})}static async createWithExistingCredential(t){return new fo(t)}getPublicKey(){uu(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){uu(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Ra({fn:async()=>{let n=await Ch({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return du(n),pu(n),n},step:0,onProgress:this.#e});return await Ra({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!iu({a:this.#t.credential.getCredentialId(),b:kr(n)}))throw new Eh;return}let{retrievePublicKey:o}=this.#t,s=await o({credentialId:kr(n)});this.#t=fo.#r({credential:new xh({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 lu;if(j(i))throw new lu;let a=ts.encode({authenticator_data:s,client_data_json:new TextDecoder().decode(o),signature:kr(i)});if(j(a))throw new Rh;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},Vh=async()=>X(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var _n=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 _n{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 Aa=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var yn="http://127.0.0.1:5987",yu="rdmx6-jaaaa-aaaaa-aaadq-cai";var gu=async({identity:e,container:t})=>{let n=X(t)&&t!==!1?t===!0?yn:t:"https://icp-api.io",o=X(t);return await Ur.create({identity:e,shouldFetchRootKey:o,host:n})};var gn=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 gu({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var xn=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 gn.getInstance().getAgent(n);return Ns.createActor(t,{agent:o,canisterId:r})}};var xu=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Dh=()=>{window.addEventListener("beforeunload",xu,{capture:!0})},Uh=()=>{window.removeEventListener("beforeunload",xu,{capture:!0})},Ia=async({fn:e})=>{try{return Dh(),await e()}finally{Uh()}};var Ge=class e extends _n{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 bu=BigInt(144e11),wu=!1,Tu={width:576,height:576},Nu={width:505,height:705},Ou="internetcomputer.org";var Eu=async e=>{let t=new Blob([JSON.stringify(e,au)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},Rs=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(),cu)},vs=()=>typeof window<"u";var As=({width:e,height:t})=>{if(!vs()||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 Ru(e){return e!==null&&typeof e=="object"}var bn=class e{static from(t){if(typeof t=="string"){let r=be(t);return this.fromRaw(r)}else if(Ru(t)){let r=t;if(Ru(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}},Lr=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(bn.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(bn.fromRaw(t),r)}static fromSecretKey(t){let r=Le.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=bn.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 vu(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 qr=class e extends bt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},s=vu(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=vu(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 Is=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 wn=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 wn(t.toDer(),BigInt(+r)*BigInt(1e6),n),s=new Uint8Array([...vi,...new Uint8Array(Ct({...o}))]),i=await e.sign(s);return{delegation:o,signature:i}}var Mr=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 wn(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)}}},jr=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([...Kn,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},ho=class e extends Is{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function Ba(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 Au=["mousedown","mousemove","keydown","touchstart","wheel"],mo=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),Au.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);Au.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 Lh=(e,t)=>t.some(r=>e instanceof r),Iu,Su;function qh(){return Iu||(Iu=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Mh(){return Su||(Su=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Fu=new WeakMap,Ca=new WeakMap,Bu=new WeakMap,Pa=new WeakMap,Da=new WeakMap;function jh(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&&Fu.set(r,e)}).catch(()=>{}),Da.set(t,e),t}function Kh(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||Bu.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 Pu(e){Va=e(Va)}function $h(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Ss(this),t,...r);return Bu.set(n,t.sort?t.sort():[t]),Tt(n)}:Mh().includes(e)?function(...t){return e.apply(Ss(this),t),Tt(Fu.get(this))}:function(...t){return Tt(e.apply(Ss(this),t))}}function Hh(e){return typeof e=="function"?$h(e):(e instanceof IDBTransaction&&Kh(e),Lh(e,qh())?new Proxy(e,Va):e)}function Tt(e){if(e instanceof IDBRequest)return jh(e);if(Pa.has(e))return Pa.get(e);let t=Hh(e);return t!==e&&(Pa.set(e,t),Da.set(t,e)),t}var Ss=e=>Da.get(e);function Vu(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 Gh=["get","getKey","getAll","getAllKeys","count"],zh=["put","add","delete","clear"],Ua=new Map;function Cu(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=zh.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Gh.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}Pu(e=>({...e,get:(t,r,n)=>Cu(t,r)||e.get(t,r,n),has:(t,r)=>!!Cu(t,r)||e.has(t,r)}));var Du="auth-client-db",Uu="ic-keyval",Wh=async(e=Du,t=Uu,r)=>(Fs&&localStorage?.getItem(ze)&&(localStorage.removeItem(ze),localStorage.removeItem(qe)),await Vu(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function Yh(e,t,r){return await e.get(t,r)}async function Jh(e,t,r,n){return await e.put(t,n,r)}async function Zh(e,t,r){return await e.delete(t,r)}var _o=class e{_db;_storeName;static async create(t){let{dbName:r=Du,storeName:n=Uu,version:o=ku}=t??{},s=await Wh(r,n,o);return new e(s,n)}constructor(t,r){this._db=t,this._storeName=r}async set(t,r){return await Jh(this._db,this._storeName,t,r)}async get(t){return await Yh(this._db,this._storeName,t)??null}async remove(t){return await Zh(this._db,this._storeName,t)}};var qe="identity",ze="delegation",Lu="iv",ku=1,Fs=typeof window<"u",yo=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}_o.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 Xh=BigInt(1e9),Qh=BigInt(3600),em=Xh*Qh,tm="https://identity.internetcomputer.org",rm="#authorize",nm=BigInt(8)*em,ka="ECDSA",La="Ed25519",om=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&&Fs)try{let u=new yo,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=Lr.fromJSON(c):o=await qr.fromKeyPair(c):typeof c=="string"&&(o=Lr.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=Mr.fromJSON(c),Ba(i)?"toDer"in o?s=ho.fromDelegation(o,i):s=jr.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=mo.create(t.idleOptions)),o||(n===La?(o=Lr.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 qr.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 wn(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Mr.fromDelegations(n,t.userPublicKey),s=this._key;if(!s)return;this._chain=o,"toDer"in s?this._identity=ho.fromDelegation(s,this._chain):this._identity=jr.fromDelegation(s,this._chain),this._idpWindow?.close();let i=this._createOptions?.idleOptions;!this.idleManager&&!i?.disableIdle&&(this.idleManager=mo.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&&Ba(this._chain)}async login(t){let r=sm(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??nm,o=new URL(r?.identityProvider?.toString()||tm);o.hash=rm,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,om))};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(Lu)}function sm(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 qu=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(qu||{});var Ps=class extends Error{},Kr=class extends Error{},Cs=class extends Error{},Vs=class extends Error{},Ds=class extends Error{},Us=class extends Error{},ks=class extends Error{},Ls=class extends Error{};var Tn=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 Kr("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 Cs(s));return}o(new Ps(s))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??bu,allowPinAuthentication:t?.allowPin??wu,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var qs=class extends Tn{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let r=()=>{let n=Ge.getInstance().get()?.container;if(j(n)||n===!1)return`https://identity.${this.#e??Ou}`;let o=Ge.getInstance().get(),s=X(o)&&X(o?.internetIdentityId)?o.internetIdentityId:yu,{host:i,protocol:a}=new URL(n===!0?yn:n);return/apple/i.test(navigator?.vendor)?`${a}//${i}?canisterId=${s}`:`${a}//${s}.${i.replace("127.0.0.1","localhost")}`};return{...t!==!1&&{windowOpenerFeatures:As(Tu)},identityProvider:r()}}};var Ms=class extends Tn{#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(Nu)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#e)}&applicationLogo=${encodeURI(this.#t)}`}}};var Ot={certified:!1};var le=e=>X(e)?e:js()??new Ye;var Mu=({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}),A=e.Variant({Deny:e.Null,Allow:e.Null}),P=e.Record({status_code:e.Nat16,location:e.Text}),I=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(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),b=e.Record({db:e.Opt(v),authentication:e.Opt(R),storage:I}),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)}),B=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:B,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}),$s=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}),Hs=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Gs=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}),zs=e.Record({desc:e.Bool}),Ws=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Ys=e.Record({order:e.Opt(zs),paginate:e.Opt(Ws)}),Js=e.Record({proposal_id:e.Nat}),Zs=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Js,F)),items_length:e.Nat64}),Xs=e.Record({include_system:e.Bool}),Qs=e.Record({matcher:e.Opt(Xs)}),ei=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ee)),items_length:e.Nat64}),ti=e.Record({stable:e.Nat64,heap:e.Nat64}),ri=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),ni=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:p,expires_at:e.Opt(e.Nat64)}),oi=e.Record({controller:ni,controllers:e.Vec(e.Principal)}),si=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Nn=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ii=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)}),ai=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(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),On=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),En=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([],[I],["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],[$s],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Hs))],["query"]),list_docs:e.Func([e.Text,c],[Gs],["query"]),list_proposals:e.Func([Ys],[Zs],["query"]),list_rules:e.Func([f,Qs],[ei],["query"]),memory_size:e.Func([],[ti],["query"]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ri],[R],[]),set_controllers:e.Func([oi],[e.Vec(e.Tuple(e.Principal,d))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([si],[v],[]),set_doc:e.Func([e.Text,e.Text,Nn],[N],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Nn))],[e.Vec(e.Tuple(e.Text,N))],[]),set_rule:e.Func([f,e.Text,ii],[ee],[]),set_storage_config:e.Func([ai],[I],[]),submit_proposal:e.Func([e.Nat],[e.Nat,F],[]),upload_asset_chunk:e.Func([On],[En],[]),upload_proposal_asset_chunk:e.Func([On],[En],[])})},ju=({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}),A=e.Variant({Deny:e.Null,Allow:e.Null}),P=e.Record({status_code:e.Nat16,location:e.Text}),I=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(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),b=e.Record({db:e.Opt(v),authentication:e.Opt(R),storage:I}),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)}),B=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:B,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}),$s=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}),Hs=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Gs=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}),zs=e.Record({desc:e.Bool}),Ws=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Ys=e.Record({order:e.Opt(zs),paginate:e.Opt(Ws)}),Js=e.Record({proposal_id:e.Nat}),Zs=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Js,F)),items_length:e.Nat64}),Xs=e.Record({include_system:e.Bool}),Qs=e.Record({matcher:e.Opt(Xs)}),ei=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ee)),items_length:e.Nat64}),ti=e.Record({stable:e.Nat64,heap:e.Nat64}),ri=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),ni=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:p,expires_at:e.Opt(e.Nat64)}),oi=e.Record({controller:ni,controllers:e.Vec(e.Principal)}),si=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Nn=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ii=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)}),ai=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(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),On=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),En=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([],[I],[]),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],[$s],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Hs))],[]),list_docs:e.Func([e.Text,c],[Gs],[]),list_proposals:e.Func([Ys],[Zs],[]),list_rules:e.Func([f,Qs],[ei],[]),memory_size:e.Func([],[ti],[]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ri],[R],[]),set_controllers:e.Func([oi],[e.Vec(e.Tuple(e.Principal,d))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([si],[v],[]),set_doc:e.Func([e.Text,e.Text,Nn],[N],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Nn))],[e.Vec(e.Tuple(e.Text,N))],[]),set_rule:e.Func([f,e.Text,ii],[ee],[]),set_storage_config:e.Func([ai],[I],[]),submit_proposal:e.Func([e.Nat],[e.Nat,F],[]),upload_asset_chunk:e.Func([On],[En],[]),upload_proposal_asset_chunk:e.Func([On],[En],[])})};var Ku=({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?yn: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}})=>Hu({idlFactory:t?ju:Mu,actorKey:`stock#${t?"update":"query"}`,...e}),$u=({idlFactory:e,...t})=>Hu({idlFactory:e,actorKey:"extended#query",...t}),Hu=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=ja({satelliteId:e});po(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Ka({container:t});return await xn.getInstance().getActor({satelliteId:n,container:o,...r})};var Gu=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 Ls("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:Gu(e.createdAt),updated_at:Gu(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 Rs(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 Eu(t),version:ce(r)}},Ha=e=>{let{version:t}=e;return{version:ce(t)}},go=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 Rs(s),version:Oe(n),...i}};var Wu=async({collection:e,key:t,...r})=>{let{get_doc:n}=await ge(r),o=Oe(await n(e,t));if(!j(o))return go({doc:o,key:t})},Yu=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 go({key:i,doc:c}):void 0)}return s},Ju=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 go({key:o,doc:i})},Zu=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 go({key:i,doc:a}));return s},Xu=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await ge(r),{key:o}=t;return n(e,o,Ha(t))},Qu=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)},ed=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await ge(r);return n(e,pr(t))},td=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)}},rd=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await ge(r);return n(e,pr(t))};var Ks=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Wu({...r,satellite:{...e,identity:n},options:t??Ot})},qb=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Yu({...r,satellite:{...e,identity:n},options:t??Ot})},nd=async({satellite:e,...t})=>{let r=le(e?.identity);return await Ju({...t,satellite:{...e,identity:r},options:{certified:!0}})},od=async({satellite:e,...t})=>{let r=le(e?.identity);return await Zu({...t,satellite:{...e,identity:r},options:{certified:!0}})},Mb=async({satellite:e,...t})=>{let r=le(e?.identity);return await Xu({...t,satellite:{...e,identity:r},options:{certified:!0}})},jb=async({satellite:e,...t})=>{let r=le(e?.identity);return await Qu({...t,satellite:{...e,identity:r},options:{certified:!0}})},Kb=async({satellite:e,filter:t,...r})=>{let n=le(e?.identity);return await ed({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},$b=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await td({...n,filter:r??{},satellite:{...e,identity:o},options:t??Ot})},Hb=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await rd({...n,filter:r??{},satellite:{...e,identity:o},options:t??Ot})};var sd=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,s]=await od({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...X(n)&&{aaguid:Os(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var id=(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))(id||{}),ad=(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))(ad||{});var xo=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 Kr("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 sd({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 Kr("Satellite ID not set. Have you initialized the Satellite?");let s=async({credentialId:d})=>{let l=await Ks({collection:"#user-webauthn",key:Es(d),options:{certified:!0},satellite:{identity:new Ye,satelliteId:o}});if(j(l))throw new Ds("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Dr(h,lo)},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 qr.generate({extractable:!1}),o=r??144e5,s=await Mr.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:jr.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 bo=()=>Bs.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),cd=async()=>(await new Ht().remove(qe),await bo());var Ga=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var ld="juno.datastore.error.user.cannot_update";var ud=async({provider:e})=>{let{user:t,userId:r}=await za();if(X(t))return t;try{return await am({userId:r,provider:e})}catch(n){if(Ga({error:n,type:ld})){let o=await dd({userId:r});if(X(o))return o}throw n}},za=async()=>{let e=js();if(j(e))throw new ks("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await dd({userId:t});return{userId:t,user:r}},dd=({userId:e})=>Ks({collection:"#user",key:e}),am=({userId:e,...t})=>nd({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)}})},cm=async({user:e})=>{await Ya({fn:async()=>{et.getInstance().set(e)}})},pd=async({provider:e})=>{await Ya({fn:async()=>{let r=await ud({provider:e});et.getInstance().set(r)}})},Ya=async({fn:e})=>{if(tt=await bo(),!await tt.isAuthenticated()){tt=await cd();return}await e()},lm=async e=>{let t=async()=>await dm(e);if(Object.values(e)[0].context?.windowGuard===!1){await t();return}await Ia({fn:t})},um=async e=>{let t=async()=>await pm(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Ia({fn:t})},dm=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new xo().signIn({options:t,loadAuth:Wa});return}if("nfid"in e){let{nfid:{options:t}}=e,{appName:r,logoUrl:n,...o}=t??{};await new Ms({appName:r,logoUrl:n}).signIn({options:o,authClient:tt,initAuth:pd});return}if("internet_identity"in e){let{internet_identity:{options:t}}=e,{domain:r,...n}=t??{};await new qs({domain:r}).signIn({options:n,authClient:tt,initAuth:pd});return}throw new Vs("An unknown or unsupported provider was provided for sign-in.")},pm=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new xo().signUp({options:t,loadAuthWithUser:cm});return}throw new Us("An unknown or unsupported provider was provided for sign-up.")},Ja=async e=>{await fm(),tt=await bo(),e?.windowReload!==!1&&window.location.reload()},fm=async()=>{await tt?.logout(),tt=null,et.getInstance().reset(),xn.getInstance().reset(),gn.getInstance().reset()},js=()=>tt?.getIdentity(),hm=async()=>(tt??await bo()).getIdentity(),mm=async()=>{let e=et.getInstance().get();return j(e)||!(await tt?.isAuthenticated()??!1)?null:tt?.getIdentity()??null};var fd=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{Aa({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":Aa({message:"junoDelegationRemainingTime",detail:i?.authRemainingTime});return}},et.getInstance().subscribe(o=>{if(j(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var hd=()=>{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()},md=()=>{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 Mw=async({idlFactory:e,satellite:t})=>{let r=le(t?.identity);return await $u({idlFactory:e,...t,identity:r})};var _d=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(_m(r));o?.onInitiatedBatch();let{chunkIds:u}=await xm({data:e,uploadFn:i,batchId:c});o?.onUploadedFileChunks(r.fullPath),await gm({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var _m=({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)}),ym=({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??[]]}},gm=async({commitFn:e,...t})=>{let r=ym(t);await e(r)},xm=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=vs()?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 bm({uploadChunks:n}))i=[...i,...a];return{chunkIds:i}};async function*bm({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=>wm(o)))}}var wm=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:ce(n)});var yd=async({asset:e,...t})=>{let r=await ge(t);await _d({actor:r,asset:e})},gd=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)}},xd=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await ge(r);return n(e,pr(t))},bd=async({collection:e,fullPath:t,...r})=>(await ge(r)).del_asset(e,t),wd=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)},Td=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await ge(r);return n(e,pr(t))},Nd=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await ge(r);return Oe(await n(e,t))},Od=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 Ed=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var oT=e=>Rd(e),sT=e=>Rd({filename:e.data.name,...e}),Rd=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 yd({asset:{data:t,filename:p,collection:r,token:s,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:vd({satellite:l,assetKey:{fullPath:d,token:s}}),fullPath:d,name:p}},iT=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)},{items:s,...i}=await gd({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:vd({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:Ed(O),total_length:R}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...i}},aT=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)};return await xd({collection:e,satellite:o,filter:t??{},options:n??Ot})},cT=({collection:e,fullPath:t,satellite:r})=>bd({collection:e,fullPath:t,satellite:{...r,identity:le(r?.identity)},options:{certified:!0}}),lT=({assets:e,satellite:t})=>wd({assets:e,satellite:{...t,identity:le(t?.identity)},options:{certified:!0}}),uT=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:le(t?.identity)};return await Td({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},dT=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Nd({...r,satellite:{...e,identity:n},options:t??Ot})},pT=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Od({...r,satellite:{...e,identity:n},options:t??Ot})},vd=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:le(r?.identity)};return`${Ku(n)}${e}${X(t)?`?token=${t}`:""}`};var Tm=e=>{let t=e?.satelliteId??hd();po(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??md();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,container:r}},wT=e=>Nm(e),Nm=async e=>{let t=Tm(e);Ge.getInstance().set(t),await Wa();let r=t.workers?.auth!==void 0?fd(t.workers.auth):void 0;return[...r?[r]:[]]},Om=e=>et.getInstance().subscribe(e),TT=Om;export{qu as AuthClientSignInProgressStep,ks as InitError,qs as InternetIdentityProvider,Ls as ListError,Ms as NFIDProvider,Ps as SignInError,Kr as SignInInitError,Vs as SignInProviderNotSupportedError,Cs as SignInUserInterruptError,Us as SignUpProviderNotSupportedError,id as WebAuthnSignInProgressStep,Ds as WebAuthnSignInRetrievePublicKeyError,ad as WebAuthnSignUpProgressStep,TT as authSubscribe,aT as countAssets,Hb as countDocs,cT as deleteAsset,Mb as deleteDoc,uT as deleteFilteredAssets,Kb as deleteFilteredDocs,lT as deleteManyAssets,jb as deleteManyDocs,vd as downloadUrl,dT as getAsset,Ks as getDoc,mm as getIdentityOnce,pT as getManyAssets,qb as getManyDocs,Mw as getSatelliteExtendedActor,wT as initJuno,Nm as initSatellite,Vh as isWebAuthnAvailable,iT as listAssets,$b as listDocs,Om as onAuthStateChange,nd as setDoc,od as setManyDocs,lm as signIn,Ja as signOut,um as signUp,hm as unsafeIdentity,oT as uploadBlob,sT as uploadFile};
|
|
54
|
+
Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw An.fromCode(new Bn(p))}let c=os(i.headers);if(i.status===_a||i.status===Jf)return{ok:i.ok,status:i.status,statusText:i.statusText,responseBodyBytes:a,headers:c};let u=await i.text();if(i.status===Zf&&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=ya(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 Be.fromCode(new Mo);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 Pe(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:ya(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 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 te.fromCode(new Qt("Could not decode time from response"));let o=Pr(["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 ca({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 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=L.from(t);await this.#g(r);let o=(await ca({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 ya(e,t){let r=e*ga;return on.fromDeltaInMilliseconds(r,t)}var eh=300*1e3;function Ql(){return sh(rh(th(),1e3),oh(1e3,1.2),nh(eh))}function th(){let e=!0;return async()=>e?(e=!1,!0):!1}function rh(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(s=>setTimeout(s,t))}}function nh(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 oh(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function sh(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var tu={preSignReadStateRequest:!1};function ru(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function xa(e,t){return e!==null&&typeof e=="object"&&ru(e,t)}function ah(e,t){return ru(e,t)&&typeof e[t]=="function"}function eu(e){return xa(e,"body")&&xa(e.body,"content")&&e.body.content.request_type===Rr.ReadState&&xa(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&ah(e.body.content.ingress_expiry,"toHash")}async function ba(e,t,r,n={}){let o=[Q("request_status"),r],s,i;if(n.preSignReadStateRequest??!1?(i=await ch({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=Ie(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:Ie(c.lookup_path([...o,"reply"])),certificate:c};case wt.Received:case wt.Unknown:case wt.Processing:{let d=n.strategy??Ql();return await d(t,r,p),ba(e,t,r,{...n,strategy:d,request:i})}case wt.Rejected:{let d=new Uint8Array(Ie(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(Ie(c.lookup_path([...o,"reject_message"]))),f=Ie(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 Uo(r))}throw er}async function ch(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&eu(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!eu(o))throw W.fromCode(new $o(o));return o}var Qe=Symbol.for("ic-agent-metadata"),Ns=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 Pn(i.canisterId));let a=typeof i.canisterId=="string"?L.fromText(i.canisterId):i.canisterId;super({config:{...nu,...i,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(wa),r?.certificate&&u.annotations.push(ou),this[c]=uh(this,c,u,i.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw W.fromCode(new Pn(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 nu={pollingOptions:tu},wa="http-details",ou="certificate";function uh(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 Vo(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(wa)?{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}={...nu,...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(Xa(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(Ie(y.lookup_path([...v,"status"])))){case"replied":x=Ie(y.lookup_path([...v,"reply"]));break;case"rejected":{let A=new Uint8Array(Ie(y.lookup_path([...v,"reject_code"])))[0],P=new TextDecoder().decode(Ie(y.lookup_path([...v,"reject_message"]))),I=Ie(y.lookup_path([...v,"error_code"])),b=I?new TextDecoder().decode(I):void 0,N=new Wr(_,A,P,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},Jt.fromCode(N)}}}else if(Za(g.body)){let{reject_code:E,reject_message:v,error_code:w}=g.body,A=new Do(_,E,v,w);throw A.callContext={canisterId:l,methodName:t,httpDetails:g},Jt.fromCode(A)}if(g.status===202){let E={...d,blsVerify:n},v=await ba(c,f,_,E);y=v.certificate,x=v.reply}let T=r.annotations.includes(wa),O=r.annotations.includes(ou),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 Pe(`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 dh=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(dh||{}),tg=BigInt(1e8);var j=e=>e==null,X=e=>!j(e);var ph=class extends Error{},uo=(e,t)=>{if(e==null)throw new ph(t)};var kr=e=>new Uint8Array(e),Os=e=>Array.from(e);var iu=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var su="abcdefghijklmnopqrstuvwxyz234567",lo=Object.create(null);for(let e=0;e<su.length;e++)lo[su[e]]=e;lo[0]=lo.o;lo[1]=lo.i;var Es=e=>btoa(String.fromCharCode(...new Uint8Array(e)));var rg=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 Ta="__bigint__",Na="__principal__",Oa="__uint8array__",au=(e,t)=>typeof t=="bigint"?{[Ta]:`${t}`}:X(t)&&L.isPrincipal(t)?{[Na]:L.from(t).toText()}:X(t)&&t instanceof Uint8Array?{[Oa]:Array.from(t)}:t,cu=(e,t)=>{let r=n=>t[n];return X(t)&&typeof t=="object"&&Ta in t?BigInt(r(Ta)):X(t)&&typeof t=="object"&&Na in t?L.fromText(r(Na)):X(t)&&typeof t=="object"&&Oa in t?Uint8Array.from(r(Oa)):t};var ce=e=>X(e)?[e]:[],Oe=e=>e?.[0];var fh=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=hh({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},hh=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Os(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 mh(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 _h(e){return Vr(e,co)}var yh=class{constructor(e){this._cose=e,this.#e=_h(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},fu=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new yh(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Es(this.#e)}},gh=class extends fu{#e;#t;constructor({authData:e,...t}){super(t);let r=fh({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}},xh=class extends fu{},bh=class extends Error{},wh=class extends Error{},Th=class extends Error{},Nh=class extends Error{},Oh=class extends Error{},Eh=class extends Error{},Rh=class extends Error{},lu=class extends Error{};var vh={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Ah=6e4,hu=()=>window.crypto.getRandomValues(new Uint8Array(16)),Ih=()=>hu(),Sh=()=>hu(),Fh=()=>{let{location:{href:e}}=window,t=URL.parse(e);if(j(t))throw new bh;let{hostname:r}=t;return r},mu=({appId:e})=>e?.id??Fh(),Bh=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:mu({appId:e})}}),o=()=>({user:{id:Sh(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:Ih(),...n(),...o(),pubKeyCredParams:Object.values(vh).map(s=>({type:"public-key",alg:s})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},Ph=(e={})=>({rpId:mu(e),allowCredentials:[],userVerification:"required"}),Ea=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||{}),_u=({timeout:e})=>AbortSignal.timeout(e??Ah),Ch=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...Ph(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:_u({timeout:n})}),uu=e=>{if(e.status!=="initialized")throw new wh},du=e=>{if(j(e))throw new Th},pu=({type:e})=>{if(e!=="public-key")throw new Nh},Ra=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 gh(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:Bh(t),signal:_u({timeout:r})});du(o),pu(o);let{response:{attestationObject:s},rawId:i}=o;if(j(s))throw new Oh;let{authData:a}=ts.decode(kr(s)),c=mh(a);return new po({...n,rawId:kr(i),cose:c,authData:a})}static async createWithExistingCredential(t){return new po(t)}getPublicKey(){uu(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){uu(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Ea({fn:async()=>{let n=await Ch({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return du(n),pu(n),n},step:0,onProgress:this.#e});return await Ea({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!iu({a:this.#t.credential.getCredentialId(),b:kr(n)}))throw new Eh;return}let{retrievePublicKey:o}=this.#t,s=await o({credentialId:kr(n)});this.#t=po.#r({credential:new xh({rawId:kr(n),cose:s})})},step:1,onProgress:this.#e}),await Ea({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 lu;if(j(i))throw new lu;let a=ts.encode({authenticator_data:s,client_data_json:new TextDecoder().decode(o),signature:kr(i)});if(j(a))throw new Rh;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},Vh=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 va=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var _n="http://127.0.0.1:5987",yu="rdmx6-jaaaa-aaaaa-aaadq-cai";var gu=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 gu({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 Ns.createActor(t,{agent:o,canisterId:r})}};var xu=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Dh=()=>{window.addEventListener("beforeunload",xu,{capture:!0})},Uh=()=>{window.removeEventListener("beforeunload",xu,{capture:!0})},Aa=async({fn:e})=>{try{return Dh(),await e()}finally{Uh()}};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 bu=BigInt(144e11),wu=!1,Tu={width:576,height:576},Nu={width:505,height:705},Ou="internetcomputer.org";var Eu=async e=>{let t=new Blob([JSON.stringify(e,au)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},Rs=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(),cu)},vs=()=>typeof window<"u";var As=({width:e,height:t})=>{if(!vs()||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 Ru(e){return e!==null&&typeof e=="object"}var fo=class e{static from(t){if(typeof t=="string"){let r=be(t);return this.fromRaw(r)}else if(Ru(t)){let r=t;if(Ru(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()),xc(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(fo.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(fo.fromRaw(t),r)}static fromSecretKey(t){let r=Le.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=fo.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 Ia=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function vu(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 Ia("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=vu(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=vu(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 Is=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 Sa(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([...vi,...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(Sa(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return L.fromHex(d)})),signature:Sa(a)}});return new this(o,Sa(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}}}},ho=class e extends Is{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function Fa(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 Au=["mousedown","mousemove","keydown","touchstart","wheel"],mo=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),Au.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);Au.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 Lh=(e,t)=>t.some(r=>e instanceof r),Iu,Su;function qh(){return Iu||(Iu=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Mh(){return Su||(Su=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Fu=new WeakMap,Pa=new WeakMap,Bu=new WeakMap,Ba=new WeakMap,Va=new WeakMap;function jh(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&&Fu.set(r,e)}).catch(()=>{}),Va.set(t,e),t}function Kh(e){if(Pa.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)});Pa.set(e,t)}var Ca={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return Pa.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Bu.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 Pu(e){Ca=e(Ca)}function $h(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Ss(this),t,...r);return Bu.set(n,t.sort?t.sort():[t]),Tt(n)}:Mh().includes(e)?function(...t){return e.apply(Ss(this),t),Tt(Fu.get(this))}:function(...t){return Tt(e.apply(Ss(this),t))}}function Hh(e){return typeof e=="function"?$h(e):(e instanceof IDBTransaction&&Kh(e),Lh(e,qh())?new Proxy(e,Ca):e)}function Tt(e){if(e instanceof IDBRequest)return jh(e);if(Ba.has(e))return Ba.get(e);let t=Hh(e);return t!==e&&(Ba.set(e,t),Va.set(t,e)),t}var Ss=e=>Va.get(e);function Vu(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 Gh=["get","getKey","getAll","getAllKeys","count"],zh=["put","add","delete","clear"],Da=new Map;function Cu(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Da.get(t))return Da.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=zh.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Gh.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 Da.set(t,s),s}Pu(e=>({...e,get:(t,r,n)=>Cu(t,r)||e.get(t,r,n),has:(t,r)=>!!Cu(t,r)||e.has(t,r)}));var Du="auth-client-db",Uu="ic-keyval",Wh=async(e=Du,t=Uu,r)=>(Fs&&localStorage?.getItem(ze)&&(localStorage.removeItem(ze),localStorage.removeItem(qe)),await Vu(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function Yh(e,t,r){return await e.get(t,r)}async function Jh(e,t,r,n){return await e.put(t,n,r)}async function Zh(e,t,r){return await e.delete(t,r)}var _o=class e{_db;_storeName;static async create(t){let{dbName:r=Du,storeName:n=Uu,version:o=ku}=t??{},s=await Wh(r,n,o);return new e(s,n)}constructor(t,r){this._db=t,this._storeName=r}async set(t,r){return await Jh(this._db,this._storeName,t,r)}async get(t){return await Yh(this._db,this._storeName,t)??null}async remove(t){return await Zh(this._db,this._storeName,t)}};var qe="identity",ze="delegation",Lu="iv",ku=1,Fs=typeof window<"u",yo=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}_o.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 Xh=BigInt(1e9),Qh=BigInt(3600),em=Xh*Qh,tm="https://identity.internetcomputer.org",rm="#authorize",nm=BigInt(8)*em,Ua="ECDSA",ka="Ed25519",om=500,qa="UserInterrupt",Bs=class{_identity;_key;_chain;_storage;idleManager;_createOptions;_idpWindow;_eventHandler;static async create(t={}){let r=t.storage??new Ht,n=t.keyType??Ua,o=null;if(t.identity)o=t.identity;else{let c=await r.get(qe);if(!c&&Fs)try{let u=new yo,p=await u.get(ze),d=await u.get(qe);p&&d&&n===Ua&&(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===ka&&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),Fa(i)?"toDer"in o?s=ho.fromDelegation(o,i):s=Mr.fromDelegation(o,i):(await La(r),o=null))}catch(c){console.error(c),await La(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(i||t.identity)&&(a=mo.create(t.idleOptions)),o||(n===ka?(o=xn.generate(),await r.set(qe,JSON.stringify(o.toJSON()))):(t.storage&&n===Ua&&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 '${ka}' 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=ho.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=mo.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&&Fa(this._chain)}async login(t){let r=sm(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??nm,o=new URL(r?.identityProvider?.toString()||tm);o.hash=rm,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(qa,r?.onError):setTimeout(s,om))};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 La(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 La(e){await e.remove(qe),await e.remove(ze),await e.remove(Lu)}function sm(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 qu=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(qu||{});var Ps=class extends Error{},jr=class extends Error{},Cs=class extends Error{},Vs=class extends Error{},Ds=class extends Error{},Us=class extends Error{},ks=class extends Error{},Ls=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===qa){o(new Cs(s));return}o(new Ps(s))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??bu,allowPinAuthentication:t?.allowPin??wu,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var qs=class extends wn{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let r=()=>{let n=Ge.getInstance().get()?.container;if(j(n)||n===!1)return`https://identity.${this.#e??Ou}`;let o=Ge.getInstance().get(),s=X(o)&&X(o?.internetIdentityId)?o.internetIdentityId:yu,{host:i,protocol:a}=new URL(n===!0?_n:n);return/apple/i.test(navigator?.vendor)?`${a}//${i}?canisterId=${s}`:`${a}//${s}.${i.replace("127.0.0.1","localhost")}`};return{...t!==!1&&{windowOpenerFeatures:As(Tu)},identityProvider:r()}}};var Ms=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(Nu)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#e)}&applicationLogo=${encodeURI(this.#t)}`}}};var Ot={certified:!1};var le=e=>X(e)?e:js()??new Ye;var Mu=({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}),A=e.Variant({Deny:e.Null,Allow:e.Null}),P=e.Record({status_code:e.Nat16,location:e.Text}),I=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(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),b=e.Record({db:e.Opt(v),authentication:e.Opt(R),storage:I}),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)}),B=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:B,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}),$s=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}),Hs=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Gs=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}),zs=e.Record({desc:e.Bool}),Ws=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Ys=e.Record({order:e.Opt(zs),paginate:e.Opt(Ws)}),Js=e.Record({proposal_id:e.Nat}),Zs=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Js,F)),items_length:e.Nat64}),Xs=e.Record({include_system:e.Bool}),Qs=e.Record({matcher:e.Opt(Xs)}),ei=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ee)),items_length:e.Nat64}),ti=e.Record({stable:e.Nat64,heap:e.Nat64}),ri=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),ni=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:p,expires_at:e.Opt(e.Nat64)}),oi=e.Record({controller:ni,controllers:e.Vec(e.Principal)}),si=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)}),ii=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)}),ai=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(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),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([],[I],["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],[$s],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Hs))],["query"]),list_docs:e.Func([e.Text,c],[Gs],["query"]),list_proposals:e.Func([Ys],[Zs],["query"]),list_rules:e.Func([f,Qs],[ei],["query"]),memory_size:e.Func([],[ti],["query"]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ri],[R],[]),set_controllers:e.Func([oi],[e.Vec(e.Tuple(e.Principal,d))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([si],[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,ii],[ee],[]),set_storage_config:e.Func([ai],[I],[]),submit_proposal:e.Func([e.Nat],[e.Nat,F],[]),upload_asset_chunk:e.Func([Nn],[On],[]),upload_proposal_asset_chunk:e.Func([Nn],[On],[])})},ju=({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}),A=e.Variant({Deny:e.Null,Allow:e.Null}),P=e.Record({status_code:e.Nat16,location:e.Text}),I=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(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),b=e.Record({db:e.Opt(v),authentication:e.Opt(R),storage:I}),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)}),B=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:B,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}),$s=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}),Hs=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Gs=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}),zs=e.Record({desc:e.Bool}),Ws=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Ys=e.Record({order:e.Opt(zs),paginate:e.Opt(Ws)}),Js=e.Record({proposal_id:e.Nat}),Zs=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Js,F)),items_length:e.Nat64}),Xs=e.Record({include_system:e.Bool}),Qs=e.Record({matcher:e.Opt(Xs)}),ei=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ee)),items_length:e.Nat64}),ti=e.Record({stable:e.Nat64,heap:e.Nat64}),ri=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(T),rules:e.Opt(O)}),ni=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:p,expires_at:e.Opt(e.Nat64)}),oi=e.Record({controller:ni,controllers:e.Vec(e.Principal)}),si=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)}),ii=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)}),ai=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(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,P)))}),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([],[I],[]),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],[$s],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Hs))],[]),list_docs:e.Func([e.Text,c],[Gs],[]),list_proposals:e.Func([Ys],[Zs],[]),list_rules:e.Func([f,Qs],[ei],[]),memory_size:e.Func([],[ti],[]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ri],[R],[]),set_controllers:e.Func([oi],[e.Vec(e.Tuple(e.Principal,d))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([si],[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,ii],[ee],[]),set_storage_config:e.Func([ai],[I],[]),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 Ku=({satelliteId:e,container:t})=>{let{satelliteId:r}=Ma({satelliteId:e}),{container:n}=ja({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`},Ma=({satelliteId:e})=>X(e)?{satelliteId:e}:Ge.getInstance().get()??{satelliteId:void 0},ja=({container:e})=>X(e)?{container:e}:Ge.getInstance().get()??{container:void 0};var ge=({satellite:e,options:{certified:t}})=>Hu({idlFactory:t?ju:Mu,actorKey:`stock#${t?"update":"query"}`,...e}),$u=({idlFactory:e,...t})=>Hu({idlFactory:e,actorKey:"extended#query",...t}),Hu=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=Ma({satelliteId:e});uo(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=ja({container:t});return await gn.getInstance().getActor({satelliteId:n,container:o,...r})};var Gu=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 Ls("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:Gu(e.createdAt),updated_at:Gu(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 Rs(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Ka=async e=>{let{data:t,version:r,description:n}=e;return{description:ce(n),data:await Eu(t),version:ce(r)}},$a=e=>{let{version:t}=e;return{version:ce(t)}},go=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 Rs(s),version:Oe(n),...i}};var Wu=async({collection:e,key:t,...r})=>{let{get_doc:n}=await ge(r),o=Oe(await n(e,t));if(!j(o))return go({doc:o,key:t})},Yu=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 go({key:i,doc:c}):void 0)}return s},Ju=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await ge(r),{key:o}=t,s=await Ka(t),i=await n(e,o,s);return await go({key:o,doc:i})},Zu=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 Ka(a)])}let o=await r(n),s=[];for(let[i,a]of o)s.push(await go({key:i,doc:a}));return s},Xu=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await ge(r),{key:o}=t;return n(e,o,$a(t))},Qu=async({docs:e,...t})=>{let{del_many_docs:r}=await ge(t),n=e.map(({collection:o,doc:s})=>[o,s.key,$a(s)]);await r(n)},ed=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await ge(r);return n(e,pr(t))},td=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)}},rd=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await ge(r);return n(e,pr(t))};var Ks=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Wu({...r,satellite:{...e,identity:n},options:t??Ot})},qb=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Yu({...r,satellite:{...e,identity:n},options:t??Ot})},nd=async({satellite:e,...t})=>{let r=le(e?.identity);return await Ju({...t,satellite:{...e,identity:r},options:{certified:!0}})},od=async({satellite:e,...t})=>{let r=le(e?.identity);return await Zu({...t,satellite:{...e,identity:r},options:{certified:!0}})},Mb=async({satellite:e,...t})=>{let r=le(e?.identity);return await Xu({...t,satellite:{...e,identity:r},options:{certified:!0}})},jb=async({satellite:e,...t})=>{let r=le(e?.identity);return await Qu({...t,satellite:{...e,identity:r},options:{certified:!0}})},Kb=async({satellite:e,filter:t,...r})=>{let n=le(e?.identity);return await ed({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},$b=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await td({...n,filter:r??{},satellite:{...e,identity:o},options:t??Ot})},Hb=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await rd({...n,filter:r??{},satellite:{...e,identity:o},options:t??Ot})};var sd=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,s]=await od({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...X(n)&&{aaguid:Os(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var id=(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))(id||{}),ad=(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))(ad||{});var xo=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 Ra.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 sd({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 Ks({collection:"#user-webauthn",key:Es(d),options:{certified:!0},satellite:{identity:new Ye,satelliteId:o}});if(j(l))throw new Ds("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 Ra.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 bo=()=>Bs.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),cd=async()=>(await new Ht().remove(qe),await bo());var Ha=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var ld="juno.datastore.error.user.cannot_update";var ud=async({provider:e})=>{let{user:t,userId:r}=await Ga();if(X(t))return t;try{return await am({userId:r,provider:e})}catch(n){if(Ha({error:n,type:ld})){let o=await dd({userId:r});if(X(o))return o}throw n}},Ga=async()=>{let e=js();if(j(e))throw new ks("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await dd({userId:t});return{userId:t,user:r}},dd=({userId:e})=>Ks({collection:"#user",key:e}),am=({userId:e,...t})=>nd({collection:"#user",doc:{key:e,data:t}});var tt,za=async()=>{await Wa({fn:async()=>{let{user:t}=await Ga();et.getInstance().set(t??null)}})},cm=async({user:e})=>{await Wa({fn:async()=>{et.getInstance().set(e)}})},pd=async({provider:e})=>{await Wa({fn:async()=>{let r=await ud({provider:e});et.getInstance().set(r)}})},Wa=async({fn:e})=>{if(tt=await bo(),!await tt.isAuthenticated()){tt=await cd();return}await e()},lm=async e=>{let t=async()=>await dm(e);if(Object.values(e)[0].context?.windowGuard===!1){await t();return}await Aa({fn:t})},um=async e=>{let t=async()=>await pm(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Aa({fn:t})},dm=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new xo().signIn({options:t,loadAuth:za});return}if("nfid"in e){let{nfid:{options:t}}=e,{appName:r,logoUrl:n,...o}=t??{};await new Ms({appName:r,logoUrl:n}).signIn({options:o,authClient:tt,initAuth:pd});return}if("internet_identity"in e){let{internet_identity:{options:t}}=e,{domain:r,...n}=t??{};await new qs({domain:r}).signIn({options:n,authClient:tt,initAuth:pd});return}throw new Vs("An unknown or unsupported provider was provided for sign-in.")},pm=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new xo().signUp({options:t,loadAuthWithUser:cm});return}throw new Us("An unknown or unsupported provider was provided for sign-up.")},Ya=async e=>{await fm(),tt=await bo(),e?.windowReload!==!1&&window.location.reload()},fm=async()=>{await tt?.logout(),tt=null,et.getInstance().reset(),gn.getInstance().reset(),yn.getInstance().reset()},js=()=>tt?.getIdentity(),hm=async()=>(tt??await bo()).getIdentity(),mm=async()=>{let e=et.getInstance().get();return j(e)||!(await tt?.isAuthenticated()??!1)?null:tt?.getIdentity()??null};var fd=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{va({message:"junoSignOutAuthTimer"}),await Ya()};return r.onmessage=async({data:o})=>{let{msg:s,data:i}=o;switch(s){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":va({message:"junoDelegationRemainingTime",detail:i?.authRemainingTime});return}},et.getInstance().subscribe(o=>{if(j(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var hd=()=>{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()},md=()=>{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 Mw=async({idlFactory:e,satellite:t})=>{let r=le(t?.identity);return await $u({idlFactory:e,...t,identity:r})};var _d=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(_m(r));o?.onInitiatedBatch();let{chunkIds:u}=await xm({data:e,uploadFn:i,batchId:c});o?.onUploadedFileChunks(r.fullPath),await gm({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var _m=({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)}),ym=({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??[]]}},gm=async({commitFn:e,...t})=>{let r=ym(t);await e(r)},xm=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=vs()?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 bm({uploadChunks:n}))i=[...i,...a];return{chunkIds:i}};async function*bm({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=>wm(o)))}}var wm=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:ce(n)});var yd=async({asset:e,...t})=>{let r=await ge(t);await _d({actor:r,asset:e})},gd=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)}},xd=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await ge(r);return n(e,pr(t))},bd=async({collection:e,fullPath:t,...r})=>(await ge(r)).del_asset(e,t),wd=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)},Td=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await ge(r);return n(e,pr(t))},Nd=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await ge(r);return Oe(await n(e,t))},Od=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 Ed=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var oT=e=>Rd(e),sT=e=>Rd({filename:e.data.name,...e}),Rd=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 yd({asset:{data:t,filename:p,collection:r,token:s,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:vd({satellite:l,assetKey:{fullPath:d,token:s}}),fullPath:d,name:p}},iT=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)},{items:s,...i}=await gd({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:vd({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:Ed(O),total_length:R}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...i}},aT=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)};return await xd({collection:e,satellite:o,filter:t??{},options:n??Ot})},cT=({collection:e,fullPath:t,satellite:r})=>bd({collection:e,fullPath:t,satellite:{...r,identity:le(r?.identity)},options:{certified:!0}}),lT=({assets:e,satellite:t})=>wd({assets:e,satellite:{...t,identity:le(t?.identity)},options:{certified:!0}}),uT=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:le(t?.identity)};return await Td({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},dT=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Nd({...r,satellite:{...e,identity:n},options:t??Ot})},pT=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Od({...r,satellite:{...e,identity:n},options:t??Ot})},vd=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:le(r?.identity)};return`${Ku(n)}${e}${X(t)?`?token=${t}`:""}`};var Tm=e=>{let t=e?.satelliteId??hd();uo(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??md();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,container:r}},wT=e=>Nm(e),Nm=async e=>{let t=Tm(e);Ge.getInstance().set(t),await za();let r=t.workers?.auth!==void 0?fd(t.workers.auth):void 0;return[...r?[r]:[]]},Om=e=>et.getInstance().subscribe(e),TT=Om;export{qu as AuthClientSignInProgressStep,ks as InitError,qs as InternetIdentityProvider,Ls as ListError,Ms as NFIDProvider,Ps as SignInError,jr as SignInInitError,Vs as SignInProviderNotSupportedError,Cs as SignInUserInterruptError,Us as SignUpProviderNotSupportedError,id as WebAuthnSignInProgressStep,Ds as WebAuthnSignInRetrievePublicKeyError,ad as WebAuthnSignUpProgressStep,TT as authSubscribe,aT as countAssets,Hb as countDocs,cT as deleteAsset,Mb as deleteDoc,uT as deleteFilteredAssets,Kb as deleteFilteredDocs,lT as deleteManyAssets,jb as deleteManyDocs,vd as downloadUrl,dT as getAsset,Ks as getDoc,mm as getIdentityOnce,pT as getManyAssets,qb as getManyDocs,Mw as getSatelliteExtendedActor,wT as initJuno,Nm as initSatellite,Vh as isWebAuthnAvailable,iT as listAssets,$b as listDocs,Om as onAuthStateChange,nd as setDoc,od as setManyDocs,lm as signIn,Ya as signOut,um as signUp,hm as unsafeIdentity,oT as uploadBlob,sT as uploadFile};
|
|
55
55
|
/*! Bundled license information:
|
|
56
56
|
|
|
57
57
|
@noble/hashes/esm/utils.js:
|