@junobuild/core-standalone 3.0.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.js +12 -12
- package/dist/browser/index.js.map +4 -4
- package/dist/node/index.mjs +12 -12
- package/dist/node/index.mjs.map +4 -4
- package/dist/types/auth/providers/_auth-client.providers.d.ts +4 -6
- package/dist/types/auth/providers/google.providers.d.ts +1 -8
- package/dist/types/auth/providers/internet-identity.providers.d.ts +2 -3
- package/dist/types/auth/providers/webauthn.providers.d.ts +1 -8
- package/dist/types/auth/services/_user.services.d.ts +2 -2
- package/dist/types/auth/services/sign-in.services.d.ts +2 -2
- package/dist/types/auth/types/provider.d.ts +13 -5
- package/dist/types/auth/types/user.d.ts +42 -14
- package/dist/types/auth/utils/user.utils.d.ts +19 -0
- package/dist/types/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/types/auth/providers/_auth.providers.d.ts +0 -11
package/dist/node/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as topLevelCreateRequire } from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
var Fp=Object.defineProperty;var Vp=(e,t)=>{for(var r in t)Fp(e,r,{get:t[r],enumerable:!0})};var qc;(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"})(qc||(qc={}));var hr;(function(e){e.Replied="replied",e.Rejected="rejected"})(hr||(hr={}));function Mc(e){return e!=null&&"reject_code"in e}function jc(e){return e!=null&&"certificate"in e}var li="abcdefghijklmnopqrstuvwxyz234567",Pn=Object.create(null);for(let e=0;e<li.length;e++)Pn[li[e]]=e;Pn[0]=Pn.o;Pn[1]=Pn.i;function Kc(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=li[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?li[r>>3]:"")}function Hc(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=Pn[s.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(s)}`);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 s of e)i(s);return n.slice(0,o)}var Cp=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 $c(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Cp[o]^t>>>8}return(t^-1)>>>0}import*as jt from"node:crypto";var ln=jt&&typeof jt=="object"&&"webcrypto"in jt?jt.webcrypto:jt&&typeof jt=="object"&&"randomBytes"in jt?jt:void 0;function Ot(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Us(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function fe(e,...t){if(!Ot(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 ks(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 Jc(e,t){fe(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function un(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function di(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ft(e,t){return e<<32-t|e>>>t}var zc=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Pp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function H(e){if(fe(e),zc)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Pp[e[r]];return t}var Kt={_0:48,_9:57,A:65,F:70,a:97,f:102};function Gc(e){if(e>=Kt._0&&e<=Kt._9)return e-Kt._0;if(e>=Kt.A&&e<=Kt.F)return e-(Kt.A-10);if(e>=Kt.a&&e<=Kt.f)return e-(Kt.a-10)}function Ne(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(zc)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,i=0;o<r;o++,i+=2){let s=Gc(e.charCodeAt(i)),a=Gc(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function ee(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Ls(e){return typeof e=="string"&&(e=ee(e)),fe(e),e}function j(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];fe(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var ui=class{};function pi(e){let t=n=>e().update(Ls(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Bn(e=32){if(ln&&typeof ln.getRandomValues=="function")return ln.getRandomValues(new Uint8Array(e));if(ln&&typeof ln.randomBytes=="function")return Uint8Array.from(ln.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function Bp(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function Wc(e,t,r){return e&t^~e&r}function Yc(e,t,r){return e&t^e&r^t&r}var mo=class extends ui{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=di(this.buffer)}update(t){ks(this),t=Ls(t),fe(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=di(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ks(this),Jc(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,un(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;Bp(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=di(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],i)}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:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Ht=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),$t=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var ve=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var fi=BigInt(4294967295),Zc=BigInt(32);function Dp(e,t=!1){return t?{h:Number(e&fi),l:Number(e>>Zc&fi)}:{h:Number(e>>Zc&fi)|0,l:Number(e&fi)|0}}function Xc(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=Dp(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var qs=(e,t,r)=>e>>>r,Ms=(e,t,r)=>e<<32-r|t>>>r,dn=(e,t,r)=>e>>>r|t<<32-r,pn=(e,t,r)=>e<<32-r|t>>>r,_o=(e,t,r)=>e<<64-r|t>>>r-32,yo=(e,t,r)=>e>>>r-32|t<<64-r;function Et(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Qc=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),el=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,tl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),rl=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,nl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),ol=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var kp=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]),mr=new Uint32Array(64),hi=class extends mo{constructor(t=32){super(64,t,8,!1),this.A=Ht[0]|0,this.B=Ht[1]|0,this.C=Ht[2]|0,this.D=Ht[3]|0,this.E=Ht[4]|0,this.F=Ht[5]|0,this.G=Ht[6]|0,this.H=Ht[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)mr[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=mr[d-15],f=mr[d-2],h=ft(l,7)^ft(l,18)^l>>>3,m=ft(f,17)^ft(f,19)^f>>>10;mr[d]=m+mr[d-7]+h+mr[d-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=ft(a,6)^ft(a,11)^ft(a,25),f=p+l+Wc(a,c,u)+kp[d]+mr[d]|0,m=(ft(n,2)^ft(n,13)^ft(n,22))+Yc(n,o,i)|0;p=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+m|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+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,i,s,a,c,u,p)}roundClean(){un(mr)}destroy(){this.set(0,0,0,0,0,0,0,0),un(this.buffer)}},js=class extends hi{constructor(){super(28),this.A=$t[0]|0,this.B=$t[1]|0,this.C=$t[2]|0,this.D=$t[3]|0,this.E=$t[4]|0,this.F=$t[5]|0,this.G=$t[6]|0,this.H=$t[7]|0}},il=Xc(["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))),Lp=il[0],qp=il[1],_r=new Uint32Array(80),yr=new Uint32Array(80),Ks=class extends mo{constructor(t=64){super(128,t,16,!1),this.Ah=ve[0]|0,this.Al=ve[1]|0,this.Bh=ve[2]|0,this.Bl=ve[3]|0,this.Ch=ve[4]|0,this.Cl=ve[5]|0,this.Dh=ve[6]|0,this.Dl=ve[7]|0,this.Eh=ve[8]|0,this.El=ve[9]|0,this.Fh=ve[10]|0,this.Fl=ve[11]|0,this.Gh=ve[12]|0,this.Gl=ve[13]|0,this.Hh=ve[14]|0,this.Hl=ve[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:u,El:p,Fh:d,Fl:l,Gh:f,Gl:h,Hh:m,Hl:g}=this;return[t,r,n,o,i,s,a,c,u,p,d,l,f,h,m,g]}set(t,r,n,o,i,s,a,c,u,p,d,l,f,h,m,g){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=p|0,this.Fh=d|0,this.Fl=l|0,this.Gh=f|0,this.Gl=h|0,this.Hh=m|0,this.Hl=g|0}process(t,r){for(let y=0;y<16;y++,r+=4)_r[y]=t.getUint32(r),yr[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=_r[y-15]|0,E=yr[y-15]|0,O=dn(T,E,1)^dn(T,E,8)^qs(T,E,7),R=pn(T,E,1)^pn(T,E,8)^Ms(T,E,7),I=_r[y-2]|0,w=yr[y-2]|0,v=dn(I,w,19)^_o(I,w,61)^qs(I,w,6),V=pn(I,w,19)^yo(I,w,61)^Ms(I,w,6),S=tl(R,V,yr[y-7],yr[y-16]),b=rl(S,O,v,_r[y-7],_r[y-16]);_r[y]=b|0,yr[y]=S|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:u,Dl:p,Eh:d,El:l,Fh:f,Fl:h,Gh:m,Gl:g,Hh:_,Hl:x}=this;for(let y=0;y<80;y++){let T=dn(d,l,14)^dn(d,l,18)^_o(d,l,41),E=pn(d,l,14)^pn(d,l,18)^yo(d,l,41),O=d&f^~d&m,R=l&h^~l&g,I=nl(x,E,R,qp[y],yr[y]),w=ol(I,_,T,O,Lp[y],_r[y]),v=I|0,V=dn(n,o,28)^_o(n,o,34)^_o(n,o,39),S=pn(n,o,28)^yo(n,o,34)^yo(n,o,39),b=n&i^n&a^i&a,N=o&s^o&c^s&c;_=m|0,x=g|0,m=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=Et(u|0,p|0,w|0,v|0),u=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let F=Qc(v,S,N);n=el(F,w,V,b),o=F|0}({h:n,l:o}=Et(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Et(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=Et(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=Et(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=Et(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=Et(this.Fh|0,this.Fl|0,f|0,h|0),{h:m,l:g}=Et(this.Gh|0,this.Gl|0,m|0,g|0),{h:_,l:x}=Et(this.Hh|0,this.Hl|0,_|0,x|0),this.set(n,o,i,s,a,c,u,p,d,l,f,h,m,g,_,x)}roundClean(){un(_r,yr)}destroy(){un(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Se=pi(()=>new hi),sl=pi(()=>new js),al=pi(()=>new Ks);var mi="__principal__",Mp=2,cl=4,jp="aaaaa-aa",M=class e{static anonymous(){return new this(new Uint8Array([cl]))}static managementCanister(){return this.fromText(jp)}static selfAuthenticating(t){let r=sl(t);return new this(new Uint8Array([...r,Mp]))}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(Ne(t))}static fromText(t){let r=t;if(t.includes(mi)){let s=JSON.parse(t);mi in s&&(r=s[mi])}let n=r.toLowerCase().replace(/-/g,""),o=Hc(n);o=o.slice(4,o.length);let i=new this(o);if(i.toText()!==r)throw new Error(`Principal "${i.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return i}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]===cl}toUint8Array(){return this._arr}toHex(){return H(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,$c(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=Kc(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[mi]: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 Gt;(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"})(Gt||(Gt={}));var G=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
3
|
+
var Fp=Object.defineProperty;var Vp=(e,t)=>{for(var r in t)Fp(e,r,{get:t[r],enumerable:!0})};var qc;(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"})(qc||(qc={}));var hr;(function(e){e.Replied="replied",e.Rejected="rejected"})(hr||(hr={}));function Mc(e){return e!=null&&"reject_code"in e}function jc(e){return e!=null&&"certificate"in e}var li="abcdefghijklmnopqrstuvwxyz234567",Pn=Object.create(null);for(let e=0;e<li.length;e++)Pn[li[e]]=e;Pn[0]=Pn.o;Pn[1]=Pn.i;function Kc(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=li[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?li[r>>3]:"")}function Hc(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=Pn[s.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(s)}`);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 s of e)i(s);return n.slice(0,o)}var Cp=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 $c(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Cp[o]^t>>>8}return(t^-1)>>>0}import*as jt from"node:crypto";var ln=jt&&typeof jt=="object"&&"webcrypto"in jt?jt.webcrypto:jt&&typeof jt=="object"&&"randomBytes"in jt?jt:void 0;function Ot(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Us(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function fe(e,...t){if(!Ot(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 ks(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 Jc(e,t){fe(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function un(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function di(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ft(e,t){return e<<32-t|e>>>t}var Wc=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Pp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function H(e){if(fe(e),Wc)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Pp[e[r]];return t}var Kt={_0:48,_9:57,A:65,F:70,a:97,f:102};function Gc(e){if(e>=Kt._0&&e<=Kt._9)return e-Kt._0;if(e>=Kt.A&&e<=Kt.F)return e-(Kt.A-10);if(e>=Kt.a&&e<=Kt.f)return e-(Kt.a-10)}function Ne(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Wc)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,i=0;o<r;o++,i+=2){let s=Gc(e.charCodeAt(i)),a=Gc(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function ee(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Ls(e){return typeof e=="string"&&(e=ee(e)),fe(e),e}function j(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];fe(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var ui=class{};function pi(e){let t=n=>e().update(Ls(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Bn(e=32){if(ln&&typeof ln.getRandomValues=="function")return ln.getRandomValues(new Uint8Array(e));if(ln&&typeof ln.randomBytes=="function")return Uint8Array.from(ln.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function Bp(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function zc(e,t,r){return e&t^~e&r}function Yc(e,t,r){return e&t^e&r^t&r}var mo=class extends ui{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=di(this.buffer)}update(t){ks(this),t=Ls(t),fe(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=di(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ks(this),Jc(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,un(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;Bp(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=di(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],i)}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:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Ht=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),$t=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var ve=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var fi=BigInt(4294967295),Zc=BigInt(32);function Dp(e,t=!1){return t?{h:Number(e&fi),l:Number(e>>Zc&fi)}:{h:Number(e>>Zc&fi)|0,l:Number(e&fi)|0}}function Xc(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=Dp(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var qs=(e,t,r)=>e>>>r,Ms=(e,t,r)=>e<<32-r|t>>>r,dn=(e,t,r)=>e>>>r|t<<32-r,pn=(e,t,r)=>e<<32-r|t>>>r,_o=(e,t,r)=>e<<64-r|t>>>r-32,yo=(e,t,r)=>e>>>r-32|t<<64-r;function Et(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Qc=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),el=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,tl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),rl=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,nl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),ol=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var kp=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]),mr=new Uint32Array(64),hi=class extends mo{constructor(t=32){super(64,t,8,!1),this.A=Ht[0]|0,this.B=Ht[1]|0,this.C=Ht[2]|0,this.D=Ht[3]|0,this.E=Ht[4]|0,this.F=Ht[5]|0,this.G=Ht[6]|0,this.H=Ht[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)mr[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=mr[d-15],f=mr[d-2],h=ft(l,7)^ft(l,18)^l>>>3,m=ft(f,17)^ft(f,19)^f>>>10;mr[d]=m+mr[d-7]+h+mr[d-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=ft(a,6)^ft(a,11)^ft(a,25),f=p+l+zc(a,c,u)+kp[d]+mr[d]|0,m=(ft(n,2)^ft(n,13)^ft(n,22))+Yc(n,o,i)|0;p=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+m|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+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,i,s,a,c,u,p)}roundClean(){un(mr)}destroy(){this.set(0,0,0,0,0,0,0,0),un(this.buffer)}},js=class extends hi{constructor(){super(28),this.A=$t[0]|0,this.B=$t[1]|0,this.C=$t[2]|0,this.D=$t[3]|0,this.E=$t[4]|0,this.F=$t[5]|0,this.G=$t[6]|0,this.H=$t[7]|0}},il=Xc(["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))),Lp=il[0],qp=il[1],_r=new Uint32Array(80),yr=new Uint32Array(80),Ks=class extends mo{constructor(t=64){super(128,t,16,!1),this.Ah=ve[0]|0,this.Al=ve[1]|0,this.Bh=ve[2]|0,this.Bl=ve[3]|0,this.Ch=ve[4]|0,this.Cl=ve[5]|0,this.Dh=ve[6]|0,this.Dl=ve[7]|0,this.Eh=ve[8]|0,this.El=ve[9]|0,this.Fh=ve[10]|0,this.Fl=ve[11]|0,this.Gh=ve[12]|0,this.Gl=ve[13]|0,this.Hh=ve[14]|0,this.Hl=ve[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:u,El:p,Fh:d,Fl:l,Gh:f,Gl:h,Hh:m,Hl:g}=this;return[t,r,n,o,i,s,a,c,u,p,d,l,f,h,m,g]}set(t,r,n,o,i,s,a,c,u,p,d,l,f,h,m,g){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=p|0,this.Fh=d|0,this.Fl=l|0,this.Gh=f|0,this.Gl=h|0,this.Hh=m|0,this.Hl=g|0}process(t,r){for(let y=0;y<16;y++,r+=4)_r[y]=t.getUint32(r),yr[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=_r[y-15]|0,E=yr[y-15]|0,O=dn(T,E,1)^dn(T,E,8)^qs(T,E,7),R=pn(T,E,1)^pn(T,E,8)^Ms(T,E,7),I=_r[y-2]|0,w=yr[y-2]|0,v=dn(I,w,19)^_o(I,w,61)^qs(I,w,6),V=pn(I,w,19)^yo(I,w,61)^Ms(I,w,6),S=tl(R,V,yr[y-7],yr[y-16]),b=rl(S,O,v,_r[y-7],_r[y-16]);_r[y]=b|0,yr[y]=S|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:u,Dl:p,Eh:d,El:l,Fh:f,Fl:h,Gh:m,Gl:g,Hh:_,Hl:x}=this;for(let y=0;y<80;y++){let T=dn(d,l,14)^dn(d,l,18)^_o(d,l,41),E=pn(d,l,14)^pn(d,l,18)^yo(d,l,41),O=d&f^~d&m,R=l&h^~l&g,I=nl(x,E,R,qp[y],yr[y]),w=ol(I,_,T,O,Lp[y],_r[y]),v=I|0,V=dn(n,o,28)^_o(n,o,34)^_o(n,o,39),S=pn(n,o,28)^yo(n,o,34)^yo(n,o,39),b=n&i^n&a^i&a,N=o&s^o&c^s&c;_=m|0,x=g|0,m=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=Et(u|0,p|0,w|0,v|0),u=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let F=Qc(v,S,N);n=el(F,w,V,b),o=F|0}({h:n,l:o}=Et(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Et(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=Et(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=Et(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=Et(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=Et(this.Fh|0,this.Fl|0,f|0,h|0),{h:m,l:g}=Et(this.Gh|0,this.Gl|0,m|0,g|0),{h:_,l:x}=Et(this.Hh|0,this.Hl|0,_|0,x|0),this.set(n,o,i,s,a,c,u,p,d,l,f,h,m,g,_,x)}roundClean(){un(_r,yr)}destroy(){un(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Se=pi(()=>new hi),sl=pi(()=>new js),al=pi(()=>new Ks);var mi="__principal__",Mp=2,cl=4,jp="aaaaa-aa",M=class e{static anonymous(){return new this(new Uint8Array([cl]))}static managementCanister(){return this.fromText(jp)}static selfAuthenticating(t){let r=sl(t);return new this(new Uint8Array([...r,Mp]))}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(Ne(t))}static fromText(t){let r=t;if(t.includes(mi)){let s=JSON.parse(t);mi in s&&(r=s[mi])}let n=r.toLowerCase().replace(/-/g,""),o=Hc(n);o=o.slice(4,o.length);let i=new this(o);if(i.toText()!==r)throw new Error(`Principal "${i.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return i}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]===cl}toUint8Array(){return this._arr}toHex(){return H(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,$c(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=Kc(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[mi]: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 Gt;(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"})(Gt||(Gt={}));var G=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
4
4
|
Request context:
|
|
5
5
|
Request ID (hex): ${this.requestContext.requestId?H(this.requestContext.requestId):"undefined"}
|
|
6
6
|
Sender pubkey (hex): ${H(this.requestContext.senderPubKey)}
|
|
@@ -9,7 +9,7 @@ Request context:
|
|
|
9
9
|
Call context:
|
|
10
10
|
Canister ID: ${this.callContext.canisterId.toText()}
|
|
11
11
|
Method name: ${this.callContext.methodName}
|
|
12
|
-
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},ht=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}`}},Jt=class extends ht{static fromCode(t){return new this(t)}},Pe=class e extends Jt{constructor(t){super(t,Gt.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},ne=class e extends Jt{constructor(t){super(t,Gt.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},gr=class e extends Jt{constructor(t){super(t,Gt.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},go=class e extends Jt{constructor(t){super(t,Gt.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},Oe=class e extends Jt{constructor(t){super(t,Gt.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var
|
|
12
|
+
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},ht=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}`}},Jt=class extends ht{static fromCode(t){return new this(t)}},Pe=class e extends Jt{constructor(t){super(t,Gt.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},ne=class e extends Jt{constructor(t){super(t,Gt.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},gr=class e extends Jt{constructor(t){super(t,Gt.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},go=class e extends Jt{constructor(t){super(t,Gt.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},Oe=class e extends Jt{constructor(t){super(t,Gt.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var W=class e extends Jt{constructor(t){super(t,Gt.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},ge=class e extends Jt{constructor(t){super(t,Gt.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},xr=class e extends G{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+=`: ${Eo(this.error)}`),`Certificate verification error: "${t}"`}},fn=class e extends G{constructor(t,r,n,o,i){super(),this.maxAgeInMinutes=t,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=i,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`}},_i=class e extends G{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},Dn=class e extends G{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()}`}},Wt=class e extends G{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}`}},Un=class e extends G{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},yi=class e extends G{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},kn=class e extends G{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`}},gi=class e extends G{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: ${H(this.expectedPrefix)}, but got ${H(this.actualPrefix)}`}},xi=class e extends G{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}`}},mt=class e extends G{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},xo=class e extends G{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},bi=class e extends G{constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${Eo(this.error)}, input: ${H(this.input)}`}},wi=class e extends G{constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${Eo(this.error)}, input: ${this.value}`}};var hn=class e extends G{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}
|
|
13
13
|
`;return this.requestId&&(t+=` Request ID: ${H(this.requestId)}
|
|
14
14
|
`),this.status&&(t+=` Request status: ${this.status}
|
|
15
15
|
`),t}},Ti=class e extends G{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?
|
|
@@ -35,25 +35,25 @@ Call context:
|
|
|
35
35
|
Status: ${this.status} (${this.statusText})
|
|
36
36
|
Headers: ${JSON.stringify(this.headers)}
|
|
37
37
|
`;return this.bodyText&&(t+=` Body: ${this.bodyText}
|
|
38
|
-
`),t}},wo=class e extends G{constructor(){super(),this.name="HttpV3ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v3 API is not supported"}},To=class e extends G{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Eo(this.error)}`}},No=class e extends G{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.`}},Vi=class e extends G{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Oo=class e extends G{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Eo(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var Tr=new Error("unreachable");var xn={};Vp(xn,{Bool:()=>yl,BoolClass:()=>Ui,ConstructType:()=>At,Empty:()=>ml,EmptyClass:()=>vo,FixedIntClass:()=>Zt,FixedNatClass:()=>It,Float32:()=>Tl,Float64:()=>Nl,FloatClass:()=>So,Func:()=>Ll,FuncClass:()=>gn,Int:()=>bl,Int16:()=>El,Int32:()=>Rl,Int64:()=>vl,Int8:()=>Ol,IntClass:()=>Io,Nat:()=>wl,Nat16:()=>Al,Nat32:()=>Sl,Nat64:()=>Fl,Nat8:()=>Il,NatClass:()=>Ao,Null:()=>gl,NullClass:()=>_n,Opt:()=>Bl,OptClass:()=>Er,PrimitiveType:()=>Ge,Principal:()=>Vl,PrincipalClass:()=>qi,Rec:()=>kl,RecClass:()=>tt,Record:()=>Dl,RecordClass:()=>yn,Reserved:()=>_l,ReservedClass:()=>St,Service:()=>ql,ServiceClass:()=>Hn,Text:()=>xl,TextClass:()=>ki,Tuple:()=>Cl,TupleClass:()=>Li,Type:()=>Mn,Unknown:()=>Gp,UnknownClass:()=>Di,Variant:()=>Ul,VariantClass:()=>Kn,Vec:()=>Pl,VecClass:()=>jn,Visitor:()=>Ys,decode:()=>$p,encode:()=>Hp,resetSubtypeCache:()=>Zs,subtype:()=>Qs});function W(...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 _t=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=vt(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 vt(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?vt(e.buffer):new Uint8Array(e)}function Hs(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 ll(e,t){return Hs(e,t)===0}function ul(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Kp(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function De(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 Kp(e)}function $s(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Ci(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function dl(){throw new Error("unexpected end of buffer")}function Or(e,t){return e.byteLength<t&&dl(),e.read(t)}function Nr(e){let t=e.readUint8();return t===void 0&&dl(),t}function oe(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:$s(e))+1,r=new _t(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 me(e){let t=BigInt(1),r=BigInt(0),n;do n=Nr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function _e(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:$s(e))+1,n=new _t(new Uint8Array(r),0);for(;;){let i=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(i&64)!==0||!t&&e===BigInt(0)&&(i&64)===0){n.write(new Uint8Array([i]));break}else n.write(new Uint8Array([i|128]))}function o(i){let s=i%BigInt(128);return Number(t?BigInt(128)-s-BigInt(1):s)}return n.buffer}function Wt(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return me(e);break}let n=new Uint8Array(Or(e,r+1)),o=BigInt(0);for(let i=n.byteLength-1;i>=0;i--)o=o*BigInt(128)+BigInt(128-(n[i]&127)-1);return-o-BigInt(1)}function pl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return Gs(e,t)}function Gs(e,t){e=BigInt(e);let r=new _t(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),i=BigInt(0),s=Number(e%o);for(r.write(new Uint8Array([s]));++n<t;)e<0&&i===BigInt(0)&&s!==0&&(i=BigInt(1)),s=Number((e/o-i)%BigInt(256)),r.write(new Uint8Array([s])),o*=BigInt(256);return r.buffer}function Js(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Nr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Nr(e));r=r+n*i}return r}function fl(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=Js(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 Pi="DIDL",hl=400;function Ro(e,t,r){return e.map((n,o)=>r(n,t[o]))}var Ws=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 i=this._getIdxRefCount(n),s=this._getIdxRefCount(o);this._idxRefCount.set(n,i+s),this._idx.set(r,n),this._idxRefCount.set(o,0),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=oe(this._typs.length),r=W(...this._typs);return W(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return _e(this._idx.get(t)||0)}},Ys=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((i,s)=>[`_${s}_`,i]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},K;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})(K||(K={}));var Mn=class{display(){return this.name}valueToString(t){return he(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Ge=class extends Mn{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){}},At=class extends Mn{checkType(t){if(t instanceof tt){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)}},vo=class extends Ge{get typeName(){return K.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===K.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return _e(Z.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Di=class extends Mn{get typeName(){return K.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===K.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${he(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 tt?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"}},Ui=class extends Ge{get typeName(){return K.BoolClass}static[Symbol.hasInstance](t){return t.typeName===K.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return _e(Z.Bool)}decodeValue(t,r){switch(this.checkType(r),Nr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},_n=class extends Ge{get typeName(){return K.NullClass}static[Symbol.hasInstance](t){return t.typeName===K.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return _e(Z.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},St=class extends Ge{get typeName(){return K.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===K.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return _e(Z.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},ki=class extends Ge{get typeName(){return K.TextClass}static[Symbol.hasInstance](t){return t.typeName===K.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=oe(r.byteLength);return W(n,r)}encodeType(){return _e(Z.Text)}decodeValue(t,r){this.checkType(r);let n=me(t),o=Or(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},Io=class extends Ge{get typeName(){return K.IntClass}static[Symbol.hasInstance](t){return t.typeName===K.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return _e(t)}encodeType(){return _e(Z.Int)}decodeValue(t,r){return this.checkType(r),Wt(t)}get name(){return"int"}valueToString(t){return t.toString()}},Ao=class extends Ge{get typeName(){return K.NatClass}static[Symbol.hasInstance](t){return t.typeName===K.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return oe(t)}encodeType(){return _e(Z.Nat)}decodeValue(t,r){return this.checkType(r),me(t)}get name(){return"nat"}valueToString(t){return t.toString()}},So=class extends Ge{get typeName(){return K.FloatClass}static[Symbol.hasInstance](t){return t.typeName===K.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(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 _e(t)}decodeValue(t,r){this.checkType(r);let n=Or(t,this._bits/8),o=ul(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},Zt=class extends Ge{get typeName(){return K.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===K.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=Ci(this._bits-1)*BigInt(-1),n=Ci(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let i=BigInt(t);o=i>=r&&i<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return Gs(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return _e(-9-t)}decodeValue(t,r){this.checkType(r);let n=fl(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},It=class extends Ge{get typeName(){return K.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===K.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=Ci(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: ${he(t)}`)}encodeValue(t){return pl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return _e(-5-t)}decodeValue(t,r){this.checkType(r);let n=Js(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},jn=class e extends At{get typeName(){return K.VecClass}static[Symbol.hasInstance](t){return t.typeName===K.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof It&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof It?this._type._bits:this._type instanceof Zt?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(i){throw new Error(`Invalid ${this.display()} argument:
|
|
38
|
+
`),t}},wo=class e extends G{constructor(){super(),this.name="HttpV3ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v3 API is not supported"}},To=class e extends G{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Eo(this.error)}`}},No=class e extends G{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.`}},Vi=class e extends G{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Oo=class e extends G{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Eo(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var Tr=new Error("unreachable");var xn={};Vp(xn,{Bool:()=>yl,BoolClass:()=>Ui,ConstructType:()=>At,Empty:()=>ml,EmptyClass:()=>vo,FixedIntClass:()=>Zt,FixedNatClass:()=>It,Float32:()=>Tl,Float64:()=>Nl,FloatClass:()=>So,Func:()=>Ll,FuncClass:()=>gn,Int:()=>bl,Int16:()=>El,Int32:()=>Rl,Int64:()=>vl,Int8:()=>Ol,IntClass:()=>Io,Nat:()=>wl,Nat16:()=>Al,Nat32:()=>Sl,Nat64:()=>Fl,Nat8:()=>Il,NatClass:()=>Ao,Null:()=>gl,NullClass:()=>_n,Opt:()=>Bl,OptClass:()=>Er,PrimitiveType:()=>Ge,Principal:()=>Vl,PrincipalClass:()=>qi,Rec:()=>kl,RecClass:()=>tt,Record:()=>Dl,RecordClass:()=>yn,Reserved:()=>_l,ReservedClass:()=>St,Service:()=>ql,ServiceClass:()=>Hn,Text:()=>xl,TextClass:()=>ki,Tuple:()=>Cl,TupleClass:()=>Li,Type:()=>Mn,Unknown:()=>Gp,UnknownClass:()=>Di,Variant:()=>Ul,VariantClass:()=>Kn,Vec:()=>Pl,VecClass:()=>jn,Visitor:()=>Ys,decode:()=>$p,encode:()=>Hp,resetSubtypeCache:()=>Zs,subtype:()=>Qs});function z(...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 _t=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=vt(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 vt(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?vt(e.buffer):new Uint8Array(e)}function Hs(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 ll(e,t){return Hs(e,t)===0}function ul(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Kp(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function De(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 Kp(e)}function $s(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Ci(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function dl(){throw new Error("unexpected end of buffer")}function Or(e,t){return e.byteLength<t&&dl(),e.read(t)}function Nr(e){let t=e.readUint8();return t===void 0&&dl(),t}function oe(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:$s(e))+1,r=new _t(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 me(e){let t=BigInt(1),r=BigInt(0),n;do n=Nr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function _e(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:$s(e))+1,n=new _t(new Uint8Array(r),0);for(;;){let i=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(i&64)!==0||!t&&e===BigInt(0)&&(i&64)===0){n.write(new Uint8Array([i]));break}else n.write(new Uint8Array([i|128]))}function o(i){let s=i%BigInt(128);return Number(t?BigInt(128)-s-BigInt(1):s)}return n.buffer}function zt(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return me(e);break}let n=new Uint8Array(Or(e,r+1)),o=BigInt(0);for(let i=n.byteLength-1;i>=0;i--)o=o*BigInt(128)+BigInt(128-(n[i]&127)-1);return-o-BigInt(1)}function pl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return Gs(e,t)}function Gs(e,t){e=BigInt(e);let r=new _t(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),i=BigInt(0),s=Number(e%o);for(r.write(new Uint8Array([s]));++n<t;)e<0&&i===BigInt(0)&&s!==0&&(i=BigInt(1)),s=Number((e/o-i)%BigInt(256)),r.write(new Uint8Array([s])),o*=BigInt(256);return r.buffer}function Js(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Nr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Nr(e));r=r+n*i}return r}function fl(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=Js(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 Pi="DIDL",hl=400;function Ro(e,t,r){return e.map((n,o)=>r(n,t[o]))}var zs=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 i=this._getIdxRefCount(n),s=this._getIdxRefCount(o);this._idxRefCount.set(n,i+s),this._idx.set(r,n),this._idxRefCount.set(o,0),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=oe(this._typs.length),r=z(...this._typs);return z(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return _e(this._idx.get(t)||0)}},Ys=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((i,s)=>[`_${s}_`,i]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},K;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})(K||(K={}));var Mn=class{display(){return this.name}valueToString(t){return he(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Ge=class extends Mn{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){}},At=class extends Mn{checkType(t){if(t instanceof tt){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)}},vo=class extends Ge{get typeName(){return K.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===K.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return _e(Z.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Di=class extends Mn{get typeName(){return K.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===K.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${he(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 tt?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"}},Ui=class extends Ge{get typeName(){return K.BoolClass}static[Symbol.hasInstance](t){return t.typeName===K.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return _e(Z.Bool)}decodeValue(t,r){switch(this.checkType(r),Nr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},_n=class extends Ge{get typeName(){return K.NullClass}static[Symbol.hasInstance](t){return t.typeName===K.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return _e(Z.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},St=class extends Ge{get typeName(){return K.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===K.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return _e(Z.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},ki=class extends Ge{get typeName(){return K.TextClass}static[Symbol.hasInstance](t){return t.typeName===K.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=oe(r.byteLength);return z(n,r)}encodeType(){return _e(Z.Text)}decodeValue(t,r){this.checkType(r);let n=me(t),o=Or(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},Io=class extends Ge{get typeName(){return K.IntClass}static[Symbol.hasInstance](t){return t.typeName===K.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return _e(t)}encodeType(){return _e(Z.Int)}decodeValue(t,r){return this.checkType(r),zt(t)}get name(){return"int"}valueToString(t){return t.toString()}},Ao=class extends Ge{get typeName(){return K.NatClass}static[Symbol.hasInstance](t){return t.typeName===K.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return oe(t)}encodeType(){return _e(Z.Nat)}decodeValue(t,r){return this.checkType(r),me(t)}get name(){return"nat"}valueToString(t){return t.toString()}},So=class extends Ge{get typeName(){return K.FloatClass}static[Symbol.hasInstance](t){return t.typeName===K.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(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 _e(t)}decodeValue(t,r){this.checkType(r);let n=Or(t,this._bits/8),o=ul(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},Zt=class extends Ge{get typeName(){return K.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===K.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=Ci(this._bits-1)*BigInt(-1),n=Ci(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let i=BigInt(t);o=i>=r&&i<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return Gs(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return _e(-9-t)}decodeValue(t,r){this.checkType(r);let n=fl(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},It=class extends Ge{get typeName(){return K.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===K.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=Ci(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: ${he(t)}`)}encodeValue(t){return pl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return _e(-5-t)}decodeValue(t,r){this.checkType(r);let n=Js(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},jn=class e extends At{get typeName(){return K.VecClass}static[Symbol.hasInstance](t){return t.typeName===K.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof It&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof It?this._type._bits:this._type instanceof Zt?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(i){throw new Error(`Invalid ${this.display()} argument:
|
|
39
39
|
|
|
40
|
-
index ${o} -> ${i.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=oe(t.length);if(this._blobOptimization)return
|
|
40
|
+
index ${o} -> ${i.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=oe(t.length);if(this._blobOptimization)return z(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 i=0;i<t.length;i++)t instanceof Int16Array?o.setInt16(i*2,t[i],!0):o.setUint16(i*2,t[i],!0);return z(r,new Uint8Array(o.buffer))}else if(t instanceof Int32Array||t instanceof Uint32Array){let o=new DataView(new ArrayBuffer(t.length*4));for(let i=0;i<t.length;i++)t instanceof Int32Array?o.setInt32(i*4,t[i],!0):o.setUint32(i*4,t[i],!0);return z(r,new Uint8Array(o.buffer))}else if(t instanceof BigInt64Array||t instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(t.length*8));for(let i=0;i<t.length;i++)t instanceof BigInt64Array?o.setBigInt64(i*8,t[i],!0):o.setBigUint64(i*8,t[i],!0);return z(r,new Uint8Array(o.buffer))}else return z(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength));let n=new _t(new Uint8Array(r.byteLength+t.length),0);n.write(r);for(let o of t){let i=this._type.encodeValue(o);n.write(new Uint8Array(i))}return n.buffer}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=_e(Z.Vector),n=this._type.encodeType(t);t.add(this,z(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a vector type");let o=Number(me(t));if(this._type instanceof It){if(this._type._bits==8)return new Uint8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2);return new Uint16Array(s.buffer,s.byteOffset,o)}if(this._type._bits==32){let s=t.read(o*4);return new Uint32Array(s.buffer,s.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(t.read(o*8).buffer)}if(this._type instanceof Zt){if(this._type._bits==8)return new Int8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2),a=new DataView(s.buffer,s.byteOffset,s.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 s=t.read(o*4),a=new DataView(s.buffer,s.byteOffset,s.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 s=t.read(o*8),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new BigInt64Array(o);for(let u=0;u<o;u++)c[u]=a.getBigInt64(u*8,!0);return c}}let i=[];for(let s=0;s<o;s++)i.push(this._type.decodeValue(t,n._type));return i}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("; ")+"}"}},Er=class e extends At{get typeName(){return K.OptClass}static[Symbol.hasInstance](t){return t.typeName===K.OptClass}constructor(t){super(),this._type=t}accept(t,r){return t.visitOpt(this,this._type,r)}covariant(t){try{if(Array.isArray(t)&&(t.length===0||t.length===1&&this._type.covariant(t[0])))return!0}catch(r){throw new Error(`Invalid ${this.display()} argument: ${he(t)}
|
|
41
41
|
|
|
42
|
-
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):
|
|
42
|
+
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):z(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=_e(Z.Opt),n=this._type.encodeType(t);t.add(this,z(r,n))}decodeValue(t,r){if(r instanceof _n)return[];if(r instanceof St)return[];let n=r;if(r instanceof tt){let o=r.getType();if(typeof o>"u")throw new Error("type mismatch with uninitialized type");n=o}if(n instanceof e)switch(Nr(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 _n||this._type instanceof e||this._type instanceof St)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])}`}},yn=class e extends At{get typeName(){return K.RecordClass}static[Symbol.hasInstance](t){return t.typeName===K.RecordClass||t.typeName===K.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>De(r[0])-De(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:
|
|
43
43
|
|
|
44
|
-
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=Ro(this._fields,r,([,o],i)=>o.encodeValue(i));return
|
|
44
|
+
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=Ro(this._fields,r,([,o],i)=>o.encodeValue(i));return z(...n)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=_e(Z.Record),n=oe(this._fields.length),o=this._fields.map(([i,s])=>z(oe(De(i)),s.encodeType(t)));t.add(this,z(r,n,z(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a record type");let o={},i=0,s=0;for(;s<n._fields.length;){let[a,c]=n._fields[s];if(i>=this._fields.length){c.decodeValue(t,c),s++;continue}let[u,p]=this._fields[i],d=De(this._fields[i][0]),l=De(a);if(d===l)o[u]=p.decodeValue(t,c),i++,s++;else if(l>d)if(p instanceof Er||p instanceof St)o[u]=[],i++;else throw new Error("Cannot find required field "+u);else c.decodeValue(t,c),s++}for(let[a,c]of this._fields.slice(i))if(c instanceof Er||c instanceof St)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[De(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 {${Ro(this._fields,r,([o,i],s)=>o+"="+i.valueToString(s)).join("; ")}}`}},Li=class e extends yn{get typeName(){return K.TupleClass}static[Symbol.hasInstance](t){return t.typeName===K.TupleClass}constructor(t){let r={};t.forEach((n,o)=>r["_"+o+"_"]=n),super(r),this._components=t}accept(t,r){return t.visitTuple(this,this._components,r)}covariant(t){if(Array.isArray(t)&&t.length>=this._fields.length&&this._components.every((r,n)=>{try{return r.covariant(t[n])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
45
45
|
|
|
46
|
-
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=Ro(this._components,t,(n,o)=>n.encodeValue(o));return
|
|
46
|
+
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=Ro(this._components,t,(n,o)=>n.encodeValue(o));return z(...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[i,s]of n._components.entries())i>=this._components.length?s.decodeValue(t,s):o.push(this._components[i].decodeValue(t,s));return o}display(){return`record {${this._components.map(r=>r.display()).join("; ")}}`}valueToString(t){return`record {${Ro(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},Kn=class e extends At{get typeName(){return K.VariantClass}static[Symbol.hasInstance](t){return t.typeName===K.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>De(r[0])-De(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:
|
|
47
47
|
|
|
48
|
-
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=oe(r),s=o.encodeValue(t[n]);return
|
|
48
|
+
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=oe(r),s=o.encodeValue(t[n]);return z(i,s)}}throw Error("Variant has no data: "+t)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=_e(Z.Variant),n=oe(this._fields.length),o=this._fields.map(([i,s])=>z(oe(De(i)),s.encodeType(t)));t.add(this,z(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(me(t));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[i,s]=n._fields[o];for(let[a,c]of this._fields)if(De(i)===De(a)){let u=c.decodeValue(t,s);return{[a]:u}}throw new Error("Cannot find field hash "+i)}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[De(r)]=n;return t}},tt=class e extends At{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return K.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===K.RecClass}accept(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return t.visitRec(this,this._type,r)}fill(t){this._type=t}getType(){return this._type}covariant(t){if(this._type&&this._type.covariant(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(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 Xs(e){if(Nr(e)!==1)throw new Error("Cannot decode principal");let r=Number(me(e));return M.fromUint8Array(new Uint8Array(Or(e,r)))}var qi=class extends Ge{get typeName(){return K.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===K.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=oe(r.byteLength);return z(new Uint8Array([1]),n,r)}encodeType(){return _e(Z.Principal)}decodeValue(t,r){return this.checkType(r),Xs(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},gn=class extends At{get typeName(){return K.FuncClass}static[Symbol.hasInstance](t){return t.typeName===K.FuncClass}static argsToString(t,r){if(t.length!==r.length)throw new Error("arity mismatch");return"("+t.map((n,o)=>n.valueToString(r[o])).join(", ")+")"}constructor(t,r,n=[]){super(),this.argTypes=t,this.retTypes=r,this.annotations=n}accept(t,r){return t.visitFunc(this,r)}covariant(t){if(Array.isArray(t)&&t.length===2&&t[0]&&t[0]._isPrincipal&&typeof t[1]=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=oe(n.byteLength),i=z(new Uint8Array([1]),o,n),s=new TextEncoder().encode(r),a=oe(s.byteLength);return z(new Uint8Array([1]),i,a,s)}_buildTypeTableImpl(t){this.argTypes.forEach(u=>u.buildTypeTable(t)),this.retTypes.forEach(u=>u.buildTypeTable(t));let r=_e(Z.Func),n=oe(this.argTypes.length),o=z(...this.argTypes.map(u=>u.encodeType(t))),i=oe(this.retTypes.length),s=z(...this.retTypes.map(u=>u.encodeType(t))),a=oe(this.annotations.length),c=z(...this.annotations.map(u=>this.encodeAnnotation(u)));t.add(this,z(r,n,o,i,s,a,c))}decodeValue(t,r){let n=r instanceof tt?r.getType()??r:r;if(!Qs(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Nr(t)!==1)throw new Error("Cannot decode function reference");let i=Xs(t),s=Number(me(t)),a=Or(t,s),u=new TextDecoder("utf8",{fatal:!0}).decode(a);return[i,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")}},Hn=class extends At{get typeName(){return K.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===K.ServiceClass}constructor(t){super(),this._fields=Object.entries(t).sort((r,n)=>r[0]<n[0]?-1:r[0]>n[0]?1:0)}accept(t,r){return t.visitService(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=oe(r.length);return z(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=_e(Z.Service),n=oe(this._fields.length),o=this._fields.map(([i,s])=>{let a=new TextEncoder().encode(i),c=oe(a.length);return z(c,a,s.encodeType(t))});t.add(this,z(r,n,...o))}decodeValue(t,r){let n=r instanceof tt?r.getType()??r:r;if(!Qs(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return Xs(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 he(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>hl?t.substring(0,hl-3)+"...":t}function Hp(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new zs;e.forEach(c=>c.buildTypeTable(r));let n=new TextEncoder().encode(Pi),o=r.encode(),i=oe(t.length),s=z(...e.map(c=>c.encodeType(r))),a=z(...Ro(e,t,(c,u)=>{try{c.covariant(u)}catch(p){throw new Error(p.message+`
|
|
49
49
|
|
|
50
|
-
`)}return c.encodeValue(u)}));return
|
|
51
|
-
`;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let i=new Map;i.set(r,n),this.rels.set(t,i)}else o.set(r,n)}},Bi=new Mi;function Zs(){Bi=new Mi}function Jp(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
|
|
52
|
-
ic-request`),ta=new TextEncoder().encode("\vic-response"),ra=new TextEncoder().encode("ic-request-auth-delegation");var Ft=class{getPrincipal(){return this._principal||(this._principal=M.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=Xt(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(j(Vo,o))}}}},rt=class{getPrincipal(){return M.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var Qt=class extends Error{constructor(t){super(t),this.name="DecodingError"}},Kl=55799,Hl=Symbol("CBOR_STOP_CODE"),xt=(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))(xt||{}),be=(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))(be||{}),zp=23,Wp=255,Yp=65535,Zp=4294967295,Xp=BigInt("0xffffffffffffffff"),gt=(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))(gt||{}),Gn=!1;function Qp(e){return e==null}function $l(e,t){let r=new Uint8Array(t);return r.set(e),r}var ef=new TextDecoder;function tf(e){return(e&224)>>5}function rf(e){return e&31}var Bo=new Uint8Array,Co,bt=0;function Gl(e,t){Bo=e,bt=0;let r=wn(t);return t?.(r)??r}function wn(e){let[t,r]=ji();switch(t){case be.UnsignedInteger:return Jn(r);case be.NegativeInteger:return af(r);case be.ByteString:return Jl(r);case be.TextString:return oa(r);case be.Array:return nf(r,e);case be.Map:return sf(r,e);case be.Tag:return cf(r,e);case be.Simple:return of(r)}throw new Qt(`Unsupported major type: ${t}`)}function ji(){let e=Bo.at(bt);if(Qp(e))throw new Qt("Provided CBOR data is empty");let t=tf(e),r=rf(e);return bt++,[t,r]}function nf(e,t){let r=Jn(e);if(r===1/0){let o=[],i=wn(t);for(;i!==Hl;)o.push(t?.(i)??i),i=wn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=wn(t);n[o]=t?.(i)??i}return n}function of(e){switch(e){case xt.False:return!1;case xt.True:return!0;case xt.Null:return null;case xt.Undefined:return;case xt.Break:return Hl}throw new Qt(`Unrecognized simple type: ${e.toString(2)}`)}function sf(e,t){let r=Jn(e),n={};if(r===1/0){let[o,i]=ji();for(;o!==be.Simple&&i!==xt.Break;){let s=oa(i),a=wn(t);n[s]=t?.(a,s)??a,[o,i]=ji()}return n}for(let o=0;o<r;o++){let[i,s]=ji();if(i!==be.TextString)throw new Qt("Map keys must be text strings");let a=oa(s),c=wn(t);n[a]=t?.(c,a)??c}return n}function Jn(e){if(e<=gt.Value)return e;switch(Co=new DataView(Bo.buffer,Bo.byteOffset+bt),e){case gt.OneByte:return bt++,Co.getUint8(0);case gt.TwoBytes:return bt+=2,Co.getUint16(0,Gn);case gt.FourBytes:return bt+=4,Co.getUint32(0,Gn);case gt.EightBytes:return bt+=8,Co.getBigUint64(0,Gn);case gt.Indefinite:return 1/0;default:throw new Qt(`Unsupported integer info: ${e.toString(2)}`)}}function af(e){let t=Jn(e);return typeof t=="number"?-1-t:-1n-t}function Jl(e){let t=Jn(e);if(t>Number.MAX_SAFE_INTEGER)throw new Qt("Byte length is too large");let r=Number(t);return bt+=r,Bo.slice(bt-r,bt)}function oa(e){let t=Jl(e);return ef.decode(t)}function cf(e,t){let r=Jn(e);if(r===Kl)return wn(t);throw new Qt(`Unsupported tag: ${r}.`)}var Do=class extends Error{constructor(t){super(t),this.name="SerializationError"}},lf=2*1024,uf=100,df=new TextEncoder;function Po(e){return e<<5}var et=new Uint8Array(lf),yt=new DataView(et.buffer),xe=0,na=[];function zl(e,t){xe=0;let r=t?.(e)??e;return xf(Kl,r,t),et.slice(0,xe)}function ia(e,t){if(xe>et.length-uf&&(et=$l(et,et.length*2),yt=new DataView(et.buffer)),e===!1||e===!0||e===null||e===void 0){hf(e);return}if(typeof e=="number"||typeof e=="bigint"){gf(e);return}if(typeof e=="string"){Zl(e);return}if(e instanceof Uint8Array){jl(e);return}if(e instanceof ArrayBuffer){jl(new Uint8Array(e));return}if(Array.isArray(e)){pf(e,t);return}if(typeof e=="object"){ff(e,t);return}throw new Do(`Unsupported type: ${typeof e}`)}function pf(e,t){zn(be.Array,e.length),e.forEach((r,n)=>{ia(t?.(r,n.toString())??r,t)})}function ff(e,t){na=Object.entries(e),zn(be.Map,na.length),na.forEach(([r,n])=>{Zl(r),ia(t?.(n,r)??n,t)})}function zn(e,t){if(t<=zp){yt.setUint8(xe++,Po(e)|Number(t));return}if(t<=Wp){yt.setUint8(xe++,Po(e)|gt.OneByte),yt.setUint8(xe,Number(t)),xe+=1;return}if(t<=Yp){yt.setUint8(xe++,Po(e)|gt.TwoBytes),yt.setUint16(xe,Number(t),Gn),xe+=2;return}if(t<=Zp){yt.setUint8(xe++,Po(e)|gt.FourBytes),yt.setUint32(xe,Number(t),Gn),xe+=4;return}if(t<=Xp){yt.setUint8(xe++,Po(e)|gt.EightBytes),yt.setBigUint64(xe,BigInt(t),Gn),xe+=8;return}throw new Do(`Value too large to encode: ${t}`)}function hf(e){zn(be.Simple,mf(e))}function mf(e){if(e===!1)return xt.False;if(e===!0)return xt.True;if(e===null)return xt.Null;if(e===void 0)return xt.Undefined;throw new Do(`Unrecognized simple value: ${e.toString()}`)}function Wl(e,t){zn(e,t.length),xe>et.length-t.length&&(et=$l(et,et.length+t.length),yt=new DataView(et.buffer)),et.set(t,xe),xe+=t.length}function Yl(e,t){zn(e,t)}function _f(e){Yl(be.UnsignedInteger,e)}function yf(e){Yl(be.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function gf(e){e>=0?_f(e):yf(e)}function Zl(e){Wl(be.TextString,df.encode(e))}function jl(e){Wl(be.ByteString,e)}function xf(e,t,r){zn(be.Tag,e),ia(t,r)}function wf(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function Uo(e){try{return zl(e,t=>M.isPrincipal(t)?t.toUint8Array():Wn.isExpiry(t)?t.toBigInt():wf(t)?t.toCborValue():t)}catch(t){throw z.fromCode(new wi(t,e))}}function Je(e){try{return Gl(e)}catch(t){throw z.fromCode(new bi(t,e))}}var Ki={encode:Uo,decode:Je};var ko=()=>{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 er;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(er||(er={}));var Hi;(function(e){e.Call="call"})(Hi||(Hi={}));var Tn;(function(e){e.Query="query",e.ReadState="read_state"})(Tn||(Tn={}));function Lo(){let e=new ArrayBuffer(16),t=new DataView(e),r=ko(),n=ko(),o=ko(),i=ko();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,i),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var $i="__expiry__",aa=BigInt(1e3),Tf=BigInt(1e6),Xl=BigInt(60),Nf=BigInt(90)*aa;function Ql(e){return e/aa}function Of(e){return Ql(e)/Xl}var Wn=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),i;return n<Nf?i=Ql(o):i=Of(o)*Xl,new e(i*aa*Tf)}toBigInt(){return this.__expiry__}toHash(){return oe(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[$i]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[$i])try{let n=BigInt(r[$i]);return new e(n)}catch(n){throw new z(new Oo(`Not a valid BigInt: ${n}`))}throw new z(new Oo(`The input does not contain the key ${$i}`))}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 ca(e=Lo){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===er.Call&&(t.body.nonce=e())}}function Gi(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var ua=BigInt(0),Ji=BigInt(1);function Nn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Rr(e,t,r=""){let n=Ot(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function eu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?ua:BigInt("0x"+e)}function ze(e){return eu(H(e))}function tr(e){return fe(e),eu(H(Uint8Array.from(e).reverse()))}function we(e,t){return Ne(e.toString(16).padStart(t*2,"0"))}function da(e,t){return we(e,t).reverse()}function le(e,t,r){let n;if(typeof t=="string")try{n=Ne(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(Ot(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 tu(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 pa(e){return Uint8Array.from(e)}var la=e=>typeof e=="bigint"&&ua<=e;function fa(e,t,r){return la(e)&&la(t)&&la(r)&&t<=e&&e<r}function zi(e,t,r,n){if(!fa(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function rr(e){let t;for(t=0;e>ua;e>>=Ji,t+=1);return t}function ru(e,t){return e>>BigInt(t)&Ji}var wt=e=>(Ji<<BigInt(e))-Ji;function nu(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function nr(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let c=typeof a;if(c!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}var Yn=()=>{throw new Error("not implemented")};function vr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var Ue=BigInt(0),Ee=BigInt(1),On=BigInt(2),iu=BigInt(3),su=BigInt(4),au=BigInt(5),Ef=BigInt(7),cu=BigInt(8),Rf=BigInt(9),lu=BigInt(16);function se(e,t){let r=e%t;return r>=Ue?r:t+r}function Tt(e,t,r){let n=e;for(;t-- >Ue;)n*=n,n%=r;return n}function ou(e,t){if(e===Ue)throw new Error("invert: expected non-zero number");if(t<=Ue)throw new Error("invert: expected positive modulus, got "+t);let r=se(e,t),n=t,o=Ue,i=Ee,s=Ee,a=Ue;for(;r!==Ue;){let u=n/r,p=n%r,d=o-s*u,l=i-a*u;n=r,r=p,o=s,i=a,s=d,a=l}if(n!==Ee)throw new Error("invert: does not exist");return se(o,t)}function ha(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function uu(e,t){let r=(e.ORDER+Ee)/su,n=e.pow(t,r);return ha(e,n,t),n}function vf(e,t){let r=(e.ORDER-au)/cu,n=e.mul(t,On),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,On),o),a=e.mul(i,e.sub(s,e.ONE));return ha(e,a,t),a}function If(e){let t=ke(e),r=du(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Ef)/lu;return(a,c)=>{let u=a.pow(c,s),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,i),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);u=a.cmov(u,p,f),p=a.cmov(l,d,h);let m=a.eql(a.sqr(p),c),g=a.cmov(u,p,m);return ha(a,g,c),g}}function du(e){if(e<iu)throw new Error("sqrt is not defined for small field");let t=e-Ee,r=0;for(;t%On===Ue;)t/=On,r++;let n=On,o=ke(e);for(;qo(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return uu;let i=o.pow(n,t),s=(t+Ee)/On;return function(c,u){if(c.is0(u))return u;if(qo(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,i),l=c.pow(u,t),f=c.pow(u,s);for(;!c.eql(l,c.ONE);){if(c.is0(l))return c.ZERO;let h=1,m=c.sqr(l);for(;!c.eql(m,c.ONE);)if(h++,m=c.sqr(m),h===p)throw new Error("Cannot find square root");let g=Ee<<BigInt(p-h-1),_=c.pow(d,g);p=h,d=c.sqr(_),l=c.mul(l,d),f=c.mul(f,_)}return f}}function Af(e){return e%su===iu?uu:e%cu===au?vf:e%lu===Rf?If(e):du(e)}var or=(e,t)=>(se(e,t)&Ee)===Ee,Sf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Wi(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Sf.reduce((n,o)=>(n[o]="function",n),t);return nr(e,r),e}function Mo(e,t,r){if(r<Ue)throw new Error("invalid exponent, negatives unsupported");if(r===Ue)return e.ONE;if(r===Ee)return t;let n=e.ONE,o=t;for(;r>Ue;)r&Ee&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Ee;return n}function nt(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),i),n}function qo(e,t){let r=(e.ORDER-Ee)/On,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function ma(e,t){t!==void 0&&Us(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ke(e,t,r=!1,n={}){if(e<=Ue)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s=!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&&(i=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(s=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:u}=ma(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:wt(c),ZERO:Ue,ONE:Ee,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 Ue<=l&&l<e},is0:l=>l===Ue,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Ee)===Ee,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)=>Mo(d,l,f),div:(l,f)=>se(l*ou(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>ou(l,e),sqrt:i||(l=>(p||(p=Af(e)),p(d,l))),toBytes:l=>r?da(l,u):we(l,u),fromBytes:(l,f=!0)=>{if(a){if(!a.includes(l.length)||l.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+l.length);let m=new Uint8Array(u);m.set(l,r?0:m.length-l.length),l=m}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?tr(l):ze(l);if(s&&(h=se(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>nt(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function pu(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 Yi(e){let t=pu(e);return t+Math.ceil(t/2)}function _a(e,t,r=!1){let n=e.length,o=pu(t),i=Yi(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?tr(e):ze(e),a=se(s,t-Ee)+Ee;return r?da(a,o):we(a,o)}var Zn=BigInt(0),En=BigInt(1);function jo(e,t){let r=t.negate();return e?r:t}function ot(e,t){let r=nt(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function _u(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function ya(e,t){_u(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=wt(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function fu(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),c=e>>s;a>n&&(a-=i,c+=En);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 Vf(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 Cf(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 ga=new WeakMap,yu=new WeakMap;function xa(e){return yu.get(e)||1}function hu(e){if(e!==Zn)throw new Error("invalid wNAF")}var Xn=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>Zn;)r&En&&(n=n.add(o)),o=o.double(),r>>=En;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=ya(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let u=1;u<o;u++)a=a.add(s),i.push(a);s=a.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=ya(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=fu(n,a,s);n=c,p?i=i.add(jo(l,r[f])):o=o.add(jo(d,r[u]))}return hu(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=ya(t,this.bits);for(let s=0;s<i.windows&&n!==Zn;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=fu(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return hu(n),o}getPrecomputes(t,r,n){let o=ga.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),ga.set(r,o))),o}cached(t,r,n){let o=xa(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=xa(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){_u(r,this.bits),yu.set(t,r),ga.delete(t)}hasCache(t){return xa(t)!==1}};function gu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>Zn||n>Zn;)r&En&&(i=i.add(o)),n&En&&(s=s.add(o)),o=o.double(),r>>=En,n>>=En;return{p1:i,p2:s}}function Qn(e,t,r,n){Vf(r,e),Cf(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=rr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=wt(c),p=new Array(Number(u)+1).fill(s),d=Math.floor((t.BITS-1)/c)*c,l=s;for(let f=d;f>=0;f-=c){p.fill(s);for(let m=0;m<i;m++){let g=n[m],_=Number(g>>BigInt(f)&u);p[_]=p[_].add(r[m])}let h=s;for(let m=p.length-1,g=s;m>0;m--)g=g.add(p[m]),h=h.add(g);if(l=l.add(h),f!==0)for(let m=0;m<c;m++)l=l.double()}return l}function mu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Wi(t),t}else return ke(e,{isLE:r})}function Zi(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>Zn))throw new Error(`CURVE.${c} must be positive bigint`)}let o=mu(t.p,r.Fp,n),i=mu(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:i}}var Pf=ze;function Ir(e,t){if(Ko(e),Ko(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 Bf(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 Ko(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function xu(e){if(!Ot(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?ee(e):e}function Df(e,t,r,n){fe(e),Ko(r),t=xu(t),t.length>255&&(t=n(j(ee("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=j(t,Ir(t.length,1)),c=Ir(0,i),u=Ir(r,2),p=new Array(s),d=n(j(c,e,u,Ir(0,1),a));p[0]=n(j(d,Ir(1,1),a));for(let f=1;f<=s;f++){let h=[Bf(d,p[f-1]),Ir(f+1,1),a];p[f]=n(j(...h))}return j(...p).slice(0,r)}function Uf(e,t,r,n,o){if(fe(e),Ko(r),t=xu(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update(ee("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 ba(e,t,r){nr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!nu(r.hash))throw new Error("expected valid hash");fe(e),Ko(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=Df(e,c,d,s);else if(a==="xof")l=Uf(e,c,d,o,s);else if(a==="_internal_pass")l=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let m=new Array(i);for(let g=0;g<i;g++){let _=p*(g+h*i),x=l.subarray(_,_+p);m[g]=se(Pf(x),n)}f[h]=m}return f}function wa(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=nt(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var kf=ee("HashToScalar-");function Ta(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(i){return e.fromAffine(t(i))}function o(i){let s=i.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=Object.assign({},r,s),c=ba(i,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),u=ba(i,1,c),p=n(u[0]);return o(p)},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))},hashToScalar(i,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:kf},s);return ba(i,1,c)[0][0]}}}var bu=(e,t)=>(e+(e>=0?t:-t)/ir)/t;function Lf(e,t,r){let[[n,o],[i,s]]=t,a=bu(s*e,r),c=bu(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<Rn,l=p<Rn;d&&(u=-u),l&&(p=-p);let f=wt(Math.ceil(rr(r)/2))+Le;if(u<Rn||u>=f||p<Rn||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Rn=BigInt(0),Le=BigInt(1),ir=BigInt(2),eo=BigInt(3),Na=BigInt(4);function Ho(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=le("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 qf(e,t={}){let r=Zi("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;nr(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Kf(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(S,b,N){let{x:F,y:B}=b.toAffine(),k=n.toBytes(F);if(Nn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return j(Mf(A),k)}else return j(Uint8Array.of(4),k,n.toBytes(B))}function l(S){Rr(S,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,F=S.length,B=S[0],k=S.subarray(1);if(F===b&&(B===2||B===3)){let A=n.fromBytes(k);if(!n.isValid(A))throw new Error("bad point: is not on curve, wrong x");let C=m(A),P;try{P=n.sqrt(C)}catch(te){let Q=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+Q)}p();let D=n.isOdd(P);return(B&1)===1!==D&&(P=n.neg(P)),{x:A,y:P}}else if(F===N&&B===4){let A=n.BYTES,C=n.fromBytes(k.subarray(0,A)),P=n.fromBytes(k.subarray(A,A*2));if(!g(C,P))throw new Error("bad point: is not on curve");return{x:C,y:P}}else throw new Error(`bad point: got length ${F}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function m(S){let b=n.sqr(S),N=n.mul(b,S);return n.add(n.add(N,n.mul(S,i.a)),i.b)}function g(S,b){let N=n.sqr(b),F=m(S);return n.eql(N,F)}if(!g(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let _=n.mul(n.pow(i.a,eo),Na),x=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(_,x)))throw new Error("bad curve params: a or b");function y(S,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${S}`);return b}function T(S){if(!(S instanceof w))throw new Error("ProjectivePoint expected")}function E(S){if(!c||!c.basises)throw new Error("no endo");return Lf(S,c.basises,o.ORDER)}let O=vr((S,b)=>{let{X:N,Y:F,Z:B}=S;if(n.eql(B,n.ONE))return{x:N,y:F};let k=S.is0();b==null&&(b=k?n.ONE:n.inv(B));let A=n.mul(N,b),C=n.mul(F,b),P=n.mul(B,b);if(k)return{x:n.ZERO,y:n.ZERO};if(!n.eql(P,n.ONE))throw new Error("invZ was invalid");return{x:A,y:C}}),R=vr(S=>{if(S.is0()){if(t.allowInfinityPoint&&!n.is0(S.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=S.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(!S.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function I(S,b,N,F,B){return N=new w(n.mul(N.X,S),N.Y,N.Z),b=jo(F,b),N=jo(B,N),b.add(N)}class w{constructor(b,N,F){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",F),Object.freeze(this)}static CURVE(){return i}static fromAffine(b){let{x:N,y:F}=b||{};if(!b||!n.isValid(N)||!n.isValid(F))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(F)?w.ZERO:new w(N,F,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(Rr(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(le("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return V.createCache(this,b),N||this.multiply(eo),this}assertValidity(){R(this)}hasEvenY(){let{y:b}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(b)}equals(b){T(b);let{X:N,Y:F,Z:B}=this,{X:k,Y:A,Z:C}=b,P=n.eql(n.mul(N,C),n.mul(k,B)),D=n.eql(n.mul(F,C),n.mul(A,B));return P&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=i,F=n.mul(N,eo),{X:B,Y:k,Z:A}=this,C=n.ZERO,P=n.ZERO,D=n.ZERO,U=n.mul(B,B),te=n.mul(k,k),Q=n.mul(A,A),$=n.mul(B,k);return $=n.add($,$),D=n.mul(B,A),D=n.add(D,D),C=n.mul(b,D),P=n.mul(F,Q),P=n.add(C,P),C=n.sub(te,P),P=n.add(te,P),P=n.mul(C,P),C=n.mul($,C),D=n.mul(F,D),Q=n.mul(b,Q),$=n.sub(U,Q),$=n.mul(b,$),$=n.add($,D),D=n.add(U,U),U=n.add(D,U),U=n.add(U,Q),U=n.mul(U,$),P=n.add(P,U),Q=n.mul(k,A),Q=n.add(Q,Q),U=n.mul(Q,$),C=n.sub(C,U),D=n.mul(Q,te),D=n.add(D,D),D=n.add(D,D),new w(C,P,D)}add(b){T(b);let{X:N,Y:F,Z:B}=this,{X:k,Y:A,Z:C}=b,P=n.ZERO,D=n.ZERO,U=n.ZERO,te=i.a,Q=n.mul(i.b,eo),$=n.mul(N,k),ie=n.mul(F,A),pe=n.mul(B,C),Ae=n.add(N,F),re=n.add(k,A);Ae=n.mul(Ae,re),re=n.add($,ie),Ae=n.sub(Ae,re),re=n.add(N,B);let ce=n.add(k,C);return re=n.mul(re,ce),ce=n.add($,pe),re=n.sub(re,ce),ce=n.add(F,B),P=n.add(A,C),ce=n.mul(ce,P),P=n.add(ie,pe),ce=n.sub(ce,P),U=n.mul(te,re),P=n.mul(Q,pe),U=n.add(P,U),P=n.sub(ie,U),U=n.add(ie,U),D=n.mul(P,U),ie=n.add($,$),ie=n.add(ie,$),pe=n.mul(te,pe),re=n.mul(Q,re),ie=n.add(ie,pe),pe=n.sub($,pe),pe=n.mul(te,pe),re=n.add(re,pe),$=n.mul(ie,re),D=n.add(D,$),$=n.mul(ce,re),P=n.mul(Ae,P),P=n.sub(P,$),$=n.mul(Ae,ie),U=n.mul(ce,U),U=n.add(U,$),new w(P,D,U)}subtract(b){return this.add(b.negate())}is0(){return this.equals(w.ZERO)}multiply(b){let{endo:N}=t;if(!o.isValidNot0(b))throw new Error("invalid scalar: out of range");let F,B,k=A=>V.cached(this,A,C=>ot(w,C));if(N){let{k1neg:A,k1:C,k2neg:P,k2:D}=E(b),{p:U,f:te}=k(C),{p:Q,f:$}=k(D);B=te.add($),F=I(N.beta,U,Q,A,P)}else{let{p:A,f:C}=k(b);F=A,B=C}return ot(w,[F,B])[0]}multiplyUnsafe(b){let{endo:N}=t,F=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Rn||F.is0())return w.ZERO;if(b===Le)return F;if(V.hasCache(this))return this.multiply(b);if(N){let{k1neg:B,k1:k,k2neg:A,k2:C}=E(b),{p1:P,p2:D}=gu(w,F,k,C);return I(N.beta,P,D,B,A)}else return V.unsafe(F,b)}multiplyAndAddUnsafe(b,N,F){let B=this.multiplyUnsafe(N).add(b.multiplyUnsafe(F));return B.is0()?void 0:B}toAffine(b){return O(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return s===Le?!0:b?b(w,this):V.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return s===Le?this:b?b(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(b=!0){return Nn(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return H(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 ot(w,b)}static msm(b,N){return Qn(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(Ho(o,b))}}w.BASE=new w(i.Gx,i.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let v=o.BITS,V=new Xn(w,t.endo?Math.ceil(v/2):v);return w.BASE.precompute(8),w}function Mf(e){return Uint8Array.of(e?2:3)}function jf(e,t){let r=e.ORDER,n=Rn;for(let h=r-Le;h%ir===Rn;h/=ir)n+=Le;let o=n,i=ir<<o-Le-Le,s=i*ir,a=(r-Le)/s,c=(a-Le)/ir,u=s-Le,p=i,d=e.pow(t,a),l=e.pow(t,(a+Le)/ir),f=(h,m)=>{let g=d,_=e.pow(m,u),x=e.sqr(_);x=e.mul(x,m);let y=e.mul(h,x);y=e.pow(y,c),y=e.mul(y,_),_=e.mul(y,m),x=e.mul(y,h);let T=e.mul(x,_);y=e.pow(T,p);let E=e.eql(y,e.ONE);_=e.mul(x,l),y=e.mul(T,g),x=e.cmov(_,x,E),T=e.cmov(y,T,E);for(let O=o;O>Le;O--){let R=O-ir;R=ir<<R-Le;let I=e.pow(T,R),w=e.eql(I,e.ONE);_=e.mul(x,g),g=e.mul(g,g),I=e.mul(T,g),x=e.cmov(_,x,w),T=e.cmov(I,T,w)}return{isValid:E,value:x}};if(e.ORDER%Na===eo){let h=(e.ORDER-eo)/Na,m=e.sqrt(e.neg(t));f=(g,_)=>{let x=e.sqr(_),y=e.mul(g,_);x=e.mul(x,y);let T=e.pow(x,h);T=e.mul(T,y);let E=e.mul(T,m),O=e.mul(e.sqr(T),_),R=e.eql(O,g),I=e.cmov(E,T,R);return{isValid:R,value:I}}}return f}function Oa(e,t){Wi(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 i=jf(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,u,p,d,l,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(u),l=e.sqr(p),d=e.mul(l,r),c=e.add(c,d),c=e.mul(c,u),l=e.mul(l,p),d=e.mul(l,n),c=e.add(c,d),f=e.mul(a,u);let{isValid:m,value:g}=i(c,l);h=e.mul(a,s),h=e.mul(h,g),f=e.cmov(f,u,m),h=e.cmov(h,g,m);let _=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,_);let x=nt(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function Kf(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Ea(e){let{CURVE:t,curveOpts:r}=Hf(e),n=qf(t,r);return Gf(e,n)}function Hf(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(s=>Math.ceil(s/2)))):void 0,o=ke(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),i={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:i}}function $f(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function Gf(e,t){let{Fp:r,Fn:n}=t;function o(s){return fa(s,Le,n.ORDER)}let i=$f(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>Ho(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Jf=BigInt(0),Xi=BigInt(1),wu=BigInt(2),to=BigInt(3);function zf(e){let t=[];for(;e>Xi;e>>=Xi)(e&Xi)===Jf?t.unshift(0):(e&to)===to?(t.unshift(-1),e+=Xi):t.unshift(1);return t}function Ra(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Wf(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(s==="multiplicative")p=(y,T,E,O,R,I)=>i.mul014(O,y,o.mul(T,R),o.mul(E,I));else if(s==="divisive")p=(y,T,E,O,R,I)=>i.mul034(O,o.mul(E,I),o.mul(T,R),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,wu));function l(y,T,E,O){let R=o.sqr(E),I=o.sqr(O),w=o.mulByB(o.mul(I,to)),v=o.mul(w,to),V=o.sub(o.sub(o.sqr(o.add(E,O)),I),R),S=o.sub(w,R),b=o.mul(o.sqr(T),to),N=o.neg(V);return y.push([S,b,N]),T=o.mul(o.mul(o.mul(o.sub(R,v),T),E),d),E=o.sub(o.sqr(o.mul(o.add(R,v),d)),o.mul(o.sqr(w),to)),O=o.mul(R,V),{Rx:T,Ry:E,Rz:O}}function f(y,T,E,O,R,I){let w=o.sub(E,o.mul(I,O)),v=o.sub(T,o.mul(R,O)),V=o.sub(o.mul(w,R),o.mul(v,I)),S=o.neg(w),b=v;y.push([V,S,b]);let N=o.sqr(v),F=o.mul(N,v),B=o.mul(N,T),k=o.add(o.sub(F,o.mul(B,wu)),o.mul(o.sqr(w),O));return T=o.mul(v,k),E=o.sub(o.mul(o.sub(B,k),w),o.mul(F,E)),O=o.mul(O,F),{Rx:T,Ry:E,Rz:O}}let h=zf(a),m=vr(y=>{let T=y,{x:E,y:O}=T.toAffine(),R=E,I=O,w=o.neg(O),v=R,V=I,S=o.ONE,b=[];for(let N of h){let F=[];({Rx:v,Ry:V,Rz:S}=l(F,v,V,S)),N&&({Rx:v,Ry:V,Rz:S}=f(F,v,V,S,R,N===-1?w:I)),b.push(F)}if(u){let N=b[b.length-1];u(v,V,S,R,I,f.bind(null,N))}return b});function g(y,T=!1){let E=i.ONE;if(y.length){let O=y[0][0].length;for(let R=0;R<O;R++){E=i.sqr(E);for(let[I,w,v]of y)for(let[V,S,b]of I[R])E=p(V,S,b,E,w,v)}}return c&&(E=i.conjugate(E)),T?i.finalExponentiate(E):E}function _(y,T=!0){let E=[];ot(t,y.map(({g1:O})=>O)),ot(r,y.map(({g2:O})=>O));for(let{g1:O,g2:R}of y){if(O.is0()||R.is0())throw new Error("pairing is not available for ZERO point");O.assertValidity(),R.assertValidity();let I=O.toAffine();E.push([m(R),I.x,I.y])}return g(E,T)}function x(y,T,E=!0){return _([{g1:y,g2:T}],E)}return{Fp12:i,millerLoopBatch:g,pairing:x,pairingBatch:_,calcPairingPrecomputes:m}}function Tu(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=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=Ho(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=Ho(t.Point.Fn,l);return u(d).assertValidity(),d.multiply(h)},verify(d,l,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let m=f.negate(),g=t.Point.BASE,_=u(l),x=d,y=s([p(m,_),p(g,x)]);return i.eql(y,i.ONE)},verifyBatch(d,l,f){if(Ra(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),m=l,g=f.map(a),_=new Map;for(let T=0;T<g.length;T++){let E=g[T],O=m[T],R=_.get(O);R===void 0&&(R=[],_.set(O,R)),R.push(E)}let x=[],y=t.Point.BASE;try{for(let[T,E]of _){let O=E.reduce((R,I)=>R.add(I));x.push(p(O,T))}return x.push(p(y.negate(),h)),i.eql(s(x),i.ONE)}catch{return!1}},aggregatePublicKeys(d){Ra(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){Ra(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){fe(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function Nu(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=Ea(e.G1),a=Object.assign(s,Ta(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Ea(e.G2),u=Object.assign(c,Ta(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Wf(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,m=Tu(p,a,u,e.G2.Signature,!1),g=Tu(p,u,a,e.G1.ShortSignature,!0),_=e.randomBytes||Bn,x=()=>{let A=Yi(r.ORDER);return _a(_(A),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:E}=e.G2;function O(A,C){return A instanceof a.Point?A:g.hash(le("point",A),C?.DST)}function R(A,C){return A instanceof u.Point?A:m.hash(le("point",A),C?.DST)}function I(A){return m.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function v(A,C,P){let D=R(A,P),U=m.sign(D,C);return A instanceof u.Point?U:E.toBytes(U)}function V(A,C,P){let D=O(A,P),U=g.sign(D,C);return A instanceof a.Point?U:T.toBytes(U)}function S(A,C,P,D){let U=R(C,D);return m.verify(A,U,P)}function b(A,C,P,D){let U=O(C,D);return g.verify(A,U,P)}function N(A){let C=m.aggregatePublicKeys(A);return A[0]instanceof a.Point?C:C.toBytes(!0)}function F(A){let C=m.aggregateSignatures(A);return A[0]instanceof u.Point?C:E.toBytes(C)}function B(A){let C=g.aggregateSignatures(A);return A[0]instanceof a.Point?C:T.toBytes(C)}function k(A,C,P,D){let U=C.map(te=>R(te,D));return m.verifyBatch(A,U,P)}return a.Point.BASE.precompute(4),{longSignatures:m,shortSignatures:g,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:k,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:i},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:y,getPublicKey:I,getPublicKeyForShortSignatures:w,sign:v,signShortSignature:V,verify:S,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:F,aggregateShortSignatures:B,G1:a,G2:u,Signature:E,ShortSignature:T}}var Ou=BigInt(0),sr=BigInt(1),qe=BigInt(2),Eu=BigInt(3);function Sa(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=sr;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function vu(e,t,r){let n=t.pow(r,(e.ORDER-sr)/Eu),o=t.pow(r,(e.ORDER-sr)/qe);function i(l,f){let h=t.mul(t.frobeniusMap(l,1),n),m=t.mul(t.frobeniusMap(f,1),o);return[h,m]}let s=t.pow(r,(e.ORDER**qe-sr)/Eu),a=t.pow(r,(e.ORDER**qe-sr)/qe);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,s),t.neg(f)]}let u=l=>(f,h)=>{let m=h.toAffine(),g=l(m.x,m.y);return f.fromAffine({x:g[0],y:g[1]})},p=u(i),d=u(c);return{psi:i,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var Ru=(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]}},va=class{constructor(t,r={}){this.MASK=sr;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=rr(o),this.BYTES=Math.ceil(rr(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,qe),this.NONRESIDUE=Ru(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=Sa(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Ru(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&Ou<=o&&o<i}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 Mo(this,t,r)}invertBatch(t){return nt(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:i,c1:s}=r;return{c0:this.Fp.add(n,i),c1:this.Fp.add(o,s)}}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:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),i=n.sub(t,r),s=n.add(t,t);return{c0:n.mul(o,i),c1:n.mul(s,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:i}=t;if(r.is0(i))return qo(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 s=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(i),this.Fp_NONRESIDUE))),a=r.mul(r.add(s,o),this.Fp_div2);qo(r,a)===-1&&(a=r.sub(a,s));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(i,this.Fp_div2),u)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,l=n.neg(d),{re:f,im:h}=n.reim(d),{re:m,im:g}=n.reim(l);return h>g||h===g&&f>m?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%qe,i=r===Ou,s=n%qe;return BigInt(o||i&&s)==sr}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return j(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){return{c0:this.Fp.cmov(t,n,i),c1:this.Fp.cmov(r,o,i)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),i=n.sqr(r);return{first:n.add(n.mulByNonresidue(i),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),i)}}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])}}},Ia=class{constructor(t){this.MASK=sr,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=Sa(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:i,c2:s}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,i),c2:a.add(n,s)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,i),c2:a.sub(n,s)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;if(typeof o=="bigint")return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)};let{c0:s,c1:a,c2:c}=o,u=i.mul(t,s),p=i.mul(r,a),d=i.mul(n,c);return{c0:i.add(u,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(p,d)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(u,p)),i.mulByNonresidue(d)),c2:i.sub(i.add(p,i.mul(i.add(t,n),i.add(s,c))),i.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),qe),a=o.mul(o.mul(r,n),qe),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),i),c1:o.add(o.mulByNonresidue(c),s),c2:o.sub(o.sub(o.add(o.add(s,o.sqr(o.add(o.sub(t,r),n))),a),i),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:i,c2:s}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,i)&&a.eql(n,s)}sqrt(t){return Yn()}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 Mo(this,t,r)}invertBatch(t){return nt(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),s=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,s),o.mul(r,a))),o.mul(t,i)));return{c0:o.mul(c,i),c1:o.mul(c,s),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return j(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,i,a),c2:c.cmov(n,s,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:i}=this;return{c0:i.frobeniusMap(t,o),c1:i.mul(i.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:i.mul(i.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.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:i}=this;return{c0:i.mulByNonresidue(i.mul(n,o)),c1:i.mul(t,o),c2:i.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,i){let{Fp2:s}=this,a=s.mul(t,o),c=s.mul(r,i);return{c0:s.add(s.mulByNonresidue(s.sub(s.mul(s.add(r,n),i),c)),a),c1:s.sub(s.sub(s.mul(s.add(o,i),s.add(t,r)),a),c),c2:s.add(s.sub(s.mul(s.add(t,n),o),a),c)}}},Aa=class{constructor(t,r){this.MASK=sr;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=Sa(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:i}=this;return i.eql(t,n)&&i.eql(r,o)}sqrt(t){Yn()}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:i}=o;return this.mul(t,typeof r=="bigint"?i.inv(i.create(r)):this.inv(r))}pow(t,r){return Mo(this,t,r)}invertBatch(t){return nt(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.add(t,n),c1:i.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.sub(t,n),c1:i.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:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return j(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){let{Fp6:s}=this;return{c0:s.cmov(t,n,i),c1:s.cmov(r,o,i)}}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:i,c1:s,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(i,c),c1:o.mul(s,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,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.mul01(t,n,o),u=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),u)}}mul034({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=s.mul01(r,o,i),p=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(p,s.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(i,u),{first:f,second:h}=o.Fp4Square(c,a),{first:m,second:g}=o.Fp4Square(s,p),_=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),qe),d),c1:o.add(o.mul(o.sub(f,s),qe),f),c2:o.add(o.mul(o.sub(m,a),qe),m)}),c1:n.create({c0:o.add(o.mul(o.add(_,c),qe),_),c1:o.add(o.mul(o.add(l,u),qe),l),c2:o.add(o.mul(o.add(h,p),qe),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),ru(r,o)&&(n=this.mul(n,t));return n}};function Iu(e){let t=ke(e.ORDER),r=new va(t,e),n=new Ia(r),o=new Aa(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Fe=BigInt(0),Qi=BigInt(1),it=BigInt(2),es=BigInt(3),$o=BigInt(4),Ar=BigInt("0xd201000000010000"),Yf=rr(Ar),vn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Fe,b:$o,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Zf=ke(vn.n,{modFromBytes:!0,isLE:!0}),{Fp:L,Fp2:J,Fp6:Xf,Fp12:Y}=Iu({ORDER:vn.p,X_LEN:Yf,FP2_NONRESIDUE:[Qi,Qi],Fp2mulByB:({c0:e,c1:t})=>{let r=L.mul(e,$o),n=L.mul(t,$o);return{c0:L.sub(r,n),c1:L.add(r,n)}},Fp12finalExponentiate:e=>{let t=Ar,r=Y.div(Y.frobeniusMap(e,6),e),n=Y.mul(Y.frobeniusMap(r,2),r),o=Y.conjugate(Y._cyclotomicExp(n,t)),i=Y.mul(Y.conjugate(Y._cyclotomicSquare(n)),o),s=Y.conjugate(Y._cyclotomicExp(i,t)),a=Y.conjugate(Y._cyclotomicExp(s,t)),c=Y.mul(Y.conjugate(Y._cyclotomicExp(a,t)),Y._cyclotomicSquare(o)),u=Y.conjugate(Y._cyclotomicExp(c,t)),p=Y.frobeniusMap(Y.mul(o,a),2),d=Y.frobeniusMap(Y.mul(s,n),3),l=Y.frobeniusMap(Y.mul(c,Y.conjugate(n)),1),f=Y.mul(Y.mul(u,Y.conjugate(i)),n);return Y.mul(Y.mul(Y.mul(p,d),l),f)}}),{G2psi:Au,G2psi2:Qf}=vu(L,J,J.div(J.ONE,J.NONRESIDUE)),Fa=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:L.ORDER,m:2,k:128,expand:"xmd",hash:Se}),Pa={p:J.ORDER,n:vn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:J.ZERO,b:J.fromBigTuple([$o,$o]),Gx:J.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:J.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},ts=Go(L.toBytes(Fe),{infinity:!0,compressed:!0});function rs(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 Go(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 eh(e,t,r){let{BYTES:n,ORDER:o}=L,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return ts.slice();let c=!!(a*it/o);return Go(we(s,n),{compressed:!0,sort:c})}else return i?j(Uint8Array.of(64),new Uint8Array(2*n-1)):j(we(s,n),we(a,n))}function Va(e){e.assertValidity();let{BYTES:t,ORDER:r}=L,{x:n,y:o}=e.toAffine();if(e.is0())return ts.slice();let i=!!(o*it/r);return Go(we(n,t),{compressed:!0,sort:i})}function th(e){let{compressed:t,infinity:r,sort:n,value:o}=rs(e),{BYTES:i,ORDER:s}=L;if(o.length===48&&t){let a=ze(o),c=L.create(a&wt(L.BITS));if(r){if(c!==Fe)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Fe,y:Fe}}let u=L.add(L.pow(c,es),L.create(vn.b)),p=L.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*it/s!==BigInt(n)&&(p=L.neg(p)),{x:L.create(c),y:L.create(p)}}else if(o.length===96&&!t){let a=ze(o.subarray(0,i)),c=ze(o.subarray(i));if(r){if(a!==Fe||c!==Fe)throw new Error("G1: non-empty point at infinity");return Jo.G1.Point.ZERO.toAffine()}return{x:L.create(a),y:L.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Su(e){let{infinity:t,sort:r,value:n}=rs(le("signatureHex",e,48)),o=L.ORDER,i=Jo.G1.Point,s=ze(n);if(t)return i.ZERO;let a=L.create(s&wt(L.BITS)),c=L.add(L.pow(a,es),L.create(vn.b)),u=L.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*it/o!==p&&(u=L.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function rh(e,t,r){let{BYTES:n,ORDER:o}=L,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return j(ts,we(Fe,n));let c=!!(a.c1===Fe?a.c0*it/o:a.c1*it/o);return j(Go(we(s.c1,n),{compressed:!0,sort:c}),we(s.c0,n))}else{if(i)return j(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=J.reim(s),{re:p,im:d}=J.reim(a);return j(we(u,n),we(c,n),we(d,n),we(p,n))}}function Ca(e){e.assertValidity();let{BYTES:t}=L;if(e.is0())return j(ts,we(Fe,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=J.reim(r),{re:s,im:a}=J.reim(n),u=!!((a>Fe?a*it:s*it)/L.ORDER&Qi),p=o;return j(Go(we(i,t),{sort:u,compressed:!0}),we(p,t))}function nh(e){let{BYTES:t,ORDER:r}=L,{compressed:n,infinity:o,sort:i,value:s}=rs(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>ze(c.slice(u,p));if(s.length===96&&n){if(o){if(s.reduce((h,m)=>h!==0?m+1:m,0)>0)throw new Error("invalid G2 point: compressed");return{x:J.ZERO,y:J.ZERO}}let c=a(s,0,t),u=a(s,t,2*t),p=J.create({c0:L.create(u),c1:L.create(c)}),d=J.add(J.pow(p,es),Pa.b),l=J.sqrt(d),f=l.c1===Fe?l.c0*it/r:l.c1*it/r?Qi:Fe;return l=i&&f>0?l:J.neg(l),{x:p,y:l}}else if(s.length===192&&!n){if(o){if(s.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:J.ZERO,y:J.ZERO}}let c=a(s,0*t,1*t),u=a(s,1*t,2*t),p=a(s,2*t,3*t),d=a(s,3*t,4*t);return{x:J.fromBigTuple([u,c]),y:J.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function Fu(e){let{ORDER:t}=L,{infinity:r,sort:n,value:o}=rs(le("signatureHex",e)),i=Jo.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=ze(o.slice(0,s)),c=ze(o.slice(s));if(r)return i.ZERO;let u=L.create(a&wt(L.BITS)),p=L.create(c),d=J.create({c0:p,c1:u}),l=J.add(J.pow(d,es),Pa.b),f=J.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:m}=J.reim(f),g=BigInt(n),_=m>Fe&&m*it/t!==g,x=m===Fe&&h*it/t!==g;(_||x)&&(f=J.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var Jo=Nu({fields:{Fp:L,Fp2:J,Fp6:Xf,Fp12:Y,Fr:Zf},G1:{...vn,Fp:L,htfDefaults:{...Fa,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(L.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:ch,fromBytes:th,toBytes:eh,ShortSignature:{fromBytes(e){return fe(e),Su(e)},fromHex(e){return Su(e)},toBytes(e){return Va(e)},toRawBytes(e){return Va(e)},toHex(e){return H(Va(e))}}},G2:{...Pa,Fp:J,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...Fa},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:lh,isTorsionFree:(e,t)=>t.multiplyUnsafe(Ar).negate().equals(Au(e,t)),clearCofactor:(e,t)=>{let r=Ar,n=t.multiplyUnsafe(r).negate(),o=Au(e,t),i=t.double();return i=Qf(e,i),i=i.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),i=i.add(o),i=i.subtract(n),i.subtract(t)},fromBytes:nh,toBytes:rh,Signature:{fromBytes(e){return fe(e),Fu(e)},fromHex(e){return Fu(e)},toBytes(e){return Ca(e)},toRawBytes(e){return Ca(e)},toHex(e){return H(Ca(e))}}},params:{ateLoopSize:Ar,r:vn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:Fa,hash:Se}),oh=wa(J,[[["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=>J.fromBigTuple(t.map(BigInt))))),ih=wa(L,[["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)))),sh=Oa(L,{A:L.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:L.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:L.create(BigInt(11))}),ah=Oa(J,{A:J.create({c0:L.create(Fe),c1:L.create(BigInt(240))}),B:J.create({c0:L.create(BigInt(1012)),c1:L.create(BigInt(1012))}),Z:J.create({c0:L.create(BigInt(-2)),c1:L.create(BigInt(-1))})});function ch(e){let{x:t,y:r}=sh(L.create(e[0]));return ih(t,r)}function lh(e){let{x:t,y:r}=ah(J.fromBigTuple(e));return oh(t,r)}function Vu(e,t,r){let n=typeof e=="string"?e:H(e),o=typeof t=="string"?t:H(t),i=typeof r=="string"?r:H(r);return Jo.verifyShortSignature(o,i,n)}var dh=BigInt(1e6),Ba=e=>me(new _t(e)),ro=e=>{let r=Ba(e)/dh;return new Date(Number(r))};var Cu=60*1e3,ph=60,fh=24,hh=fh*ph,mh=5,_h=5,yh=30*hh,Ie;(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"})(Ie||(Ie={}));function gh(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var Sr=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??Vu,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=mh,s=!1,a){this._rootKey=r,this._canisterId=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=Je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&(this.#t=a)}lookup_path(t){return An(t,this.cert.tree)}lookup_subtree(t){return is(t,this.cert.tree)}async verify(){let t=await ns(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=bh(r),i=j(Wo("ic-state-root"),t),s=Ve(this.lookup_path(["time"]));if(!s)throw ne.fromCode(new xr("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Cu,u=new Date,p=u.getTime()+a,d=p-c,l=p+_h*Cu,f=ro(s),h=f.getTime()<d,m=f.getTime()>l;if((h||m)&&this.#t&&!this.#t.hasSyncedTime())return await this.#t.syncTime(this._canisterId),await this.verify();if(h)throw Pe.fromCode(new fn(this._maxAgeInMinutes,f,u,a,"past"));if(m)throw this.#t?.hasSyncedTime()?ge.fromCode(new Be("System time has been synced with the IC network, but certificate is still too far in the future.")):Pe.fromCode(new fn(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Pe.fromCode(new xr("Invalid signature"))}catch(a){throw Pe.fromCode(new xr("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:yh,agent:this.#t});if(r.cert.delegation)throw ne.fromCode(new _i);await r.verify();let n=t.subnet_id,o=M.fromUint8Array(n);if(!Da({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw Pe.fromCode(new Dn(this._canisterId,o));let s=Ve(r.lookup_path(["subnet",n,"public_key"]));if(!s)throw Pe.fromCode(new yi(`Could not find subnet key for subnet ID ${o.toText()}`));return s}},zo=Ne("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),xh=96;function bh(e){let t=zo.byteLength+xh;if(e.byteLength!==t)throw ne.fromCode(new kn(t,e.byteLength));let r=e.slice(0,zo.byteLength);if(!bn(r,zo))throw ne.fromCode(new gi(zo,r));return e.slice(zo.byteLength)}function Ve(e){if(e.status===We.Found&&e.value instanceof Uint8Array)return e.value}async function ns(e){switch(e[0]){case Ie.Empty:return Se(Wo("ic-hashtree-empty"));case Ie.Pruned:return e[1];case Ie.Leaf:return Se(j(Wo("ic-hashtree-leaf"),e[1]));case Ie.Labeled:return Se(j(Wo("ic-hashtree-labeled"),e[1],await ns(e[2])));case Ie.Fork:return Se(j(Wo("ic-hashtree-fork"),await ns(e[1]),await ns(e[2])));default:throw Tr}}function Wo(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return j(t,r)}function Pu(e){return typeof e[0]=="string"?ee(e[0]):e[0]}var We;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(We||(We={}));var In;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(In||(In={}));var ae;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ae||(ae={}));function An(e,t){if(e.length===0)switch(t[0]){case Ie.Empty:return{status:We.Absent};case Ie.Leaf:{if(!t[1])throw ge.fromCode(new wr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:We.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw Tr}case Ie.Pruned:return{status:We.Unknown};case Ie.Labeled:case Ie.Fork:return{status:We.Error};default:throw Tr}let r=Pu(e),n=Yo(r,t);switch(n.status){case ae.Found:return An(e.slice(1),n.value);case ae.Absent:case ae.Greater:case ae.Less:return{status:We.Absent};case ae.Unknown:return{status:We.Unknown};default:throw Tr}}function is(e,t){if(e.length===0)return{status:In.Found,value:t};let r=Pu(e),n=Yo(r,t);switch(n.status){case ae.Found:return is(e.slice(1),n.value);case ae.Unknown:return{status:In.Unknown};case ae.Absent:case ae.Greater:case ae.Less:return{status:In.Absent};default:throw Tr}}function os(e){switch(e[0]){case Ie.Empty:return[];case Ie.Fork:return os(e[1]).concat(os(e[2]));default:return[e]}}function Yo(e,t){switch(t[0]){case Ie.Labeled:return gh(e,t[1])?{status:ae.Greater}:bn(e,t[1])?{status:ae.Found,value:t[2]}:{status:ae.Less};case Ie.Fork:{let r=Yo(e,t[1]);switch(r.status){case ae.Greater:{let n=Yo(e,t[2]);return n.status===ae.Less?{status:ae.Absent}:n}case ae.Unknown:{let n=Yo(e,t[2]);return n.status===ae.Less?{status:ae.Unknown}:n}default:return r}}case Ie.Pruned:return{status:ae.Unknown};default:return{status:ae.Absent}}}function Da(e){let{canisterId:t,subnetId:r,tree:n}=e,o=An(["subnet",r.toUint8Array(),"canister_ranges"],n);if(o.status!==We.Found)throw ne.fromCode(new zt(`Could not find canister ranges for subnet ${r.toText()}`,o.status));if(!(o.value instanceof Uint8Array))throw ne.fromCode(new Un(`Could not find canister ranges for subnet ${r.toText()}`));return Je(o.value).map(c=>[M.fromUint8Array(c[0]),M.fromUint8Array(c[1])]).some(c=>c[0].ltEq(t)&&c[1].gtEq(t))}var Ua=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=M.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=Th(c,o);return(async()=>{try{if(t.rootKey===null)throw Oe.fromCode(new Rt);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await Sr.create({certificate:l.certificate,rootKey:d,canisterId:o,disableTimeVerification:n,agent:t}),h=(_,x)=>{if(x==="subnet"){let y=wh(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:Ve(_.lookup_path(p))}},{path:m,data:g}=h(f,i[u]);if(!g)console.warn(`Expected to find result for path ${m}, but instead found nothing.`),typeof m=="string"?s.set(m,null):s.set(m.key,null);else switch(m){case"time":{s.set(m,ro(g));break}case"controllers":{s.set(m,Nh(g));break}case"module_hash":{s.set(m,H(g));break}case"subnet":{s.set(m,g);break}case"candid":{s.set(m,new TextDecoder().decode(g));break}default:if(typeof m!="string"&&"key"in m&&"path"in m)switch(m.decodeStrategy){case"raw":s.set(m.key,g);break;case"leb128":{s.set(m.key,Ba(g));break}case"cbor":{s.set(m.key,Je(g));break}case"hex":{s.set(m.key,H(g));break}case"utf-8":s.set(m.key,new TextDecoder().decode(g))}}}catch(d){if(d instanceof ht&&(d.hasCode(xr)||d.hasCode(fn)))throw d;typeof c!="string"&&"key"in c&&"path"in c?s.set(c.key,null):s.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),s},wh=(e,t,r)=>{if(!t._isPrincipal)throw z.fromCode(new Be("Invalid canisterId"));let n=Je(e),o=n.tree,i=n.delegation,s;if(i&&i.subnet_id?s=M.fromUint8Array(new Uint8Array(i.subnet_id)):!i&&typeof r<"u"?(s=M.selfAuthenticating(new Uint8Array(r)),i={subnet_id:s.toUint8Array(),certificate:new Uint8Array(0)}):(s=M.selfAuthenticating(M.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").toUint8Array()),i={subnet_id:s.toUint8Array(),certificate:new Uint8Array(0)}),!Da({canisterId:t,subnetId:s,tree:o}))throw Pe.fromCode(new Dn(t,s));let c=is(["subnet",i.subnet_id,"node"],o);if(c.status!==In.Found)throw ne.fromCode(new zt("Node not found",c.status));if(c.value instanceof Uint8Array)throw ge.fromCode(new wr("Invalid node tree"));let u=os(c.value),p=new Map;return u.forEach(d=>{let l=M.from(d[1]).toText(),f=An(["public_key"],d[2]);if(f.status!==We.Found)throw ne.fromCode(new zt("Public key not found",f.status));let h=f.value;if(h.byteLength!==44)throw ne.fromCode(new kn(44,h.byteLength));p.set(l,h)}),{subnetId:M.fromUint8Array(new Uint8Array(i.subnet_id)).toText(),nodeKeys:p}},Th=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[ee("time")];case"controllers":return[ee("canister"),r,ee("controllers")];case"module_hash":return[ee("canister"),r,ee("module_hash")];case"subnet":return[ee("subnet")];case"candid":return[ee("canister"),r,ee("metadata"),ee("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"?ee(n):n;return[ee("canister"),r,ee("metadata"),o]}else return e.path}throw ge.fromCode(new Be(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))},Nh=e=>Je(e).map(r=>M.fromUint8Array(r));var Fr=BigInt(0),Re=BigInt(1),ka=BigInt(2),Oh=BigInt(8);function Eh(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function Rh(e,t={}){let r=Zi("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;nr(t,{},{uvRatio:"function"});let a=ka<<BigInt(o.BYTES*8)-Re,c=g=>n.create(g),u=t.uvRatio||((g,_)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,_))}}catch{return{isValid:!1,value:Fr}}});if(!Eh(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,_,x=!1){let y=x?Re:Fr;return zi("coordinate "+g,_,y,a),_}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=vr((g,_)=>{let{X:x,Y:y,Z:T}=g,E=g.is0();_==null&&(_=E?Oh:n.inv(T));let O=c(x*_),R=c(y*_),I=n.mul(T,_);if(E)return{x:Fr,y:Re};if(I!==Re)throw new Error("invZ was invalid");return{x:O,y:R}}),f=vr(g=>{let{a:_,d:x}=i;if(g.is0())throw new Error("bad point: ZERO");let{X:y,Y:T,Z:E,T:O}=g,R=c(y*y),I=c(T*T),w=c(E*E),v=c(w*w),V=c(R*_),S=c(w*c(V+I)),b=c(v+c(x*c(R*I)));if(S!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),F=c(E*O);if(N!==F)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(_,x,y,T){this.X=p("x",_),this.Y=p("y",x),this.Z=p("z",y,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return i}static fromAffine(_){if(_ instanceof h)throw new Error("extended point not allowed");let{x,y}=_||{};return p("x",x),p("y",y),new h(x,y,Re,c(x*y))}static fromBytes(_,x=!1){let y=n.BYTES,{a:T,d:E}=i;_=pa(Rr(_,y,"point")),Nn(x,"zip215");let O=pa(_),R=_[y-1];O[y-1]=R&-129;let I=tr(O),w=x?a:n.ORDER;zi("point.y",I,Fr,w);let v=c(I*I),V=c(v-Re),S=c(E*v-T),{isValid:b,value:N}=u(V,S);if(!b)throw new Error("bad point: invalid y coordinate");let F=(N&Re)===Re,B=(R&128)!==0;if(!x&&N===Fr&&B)throw new Error("bad point: x=0 and x_0=1");return B!==F&&(N=c(-N)),h.fromAffine({x:N,y:I})}static fromHex(_,x=!1){return h.fromBytes(le("point",_),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(_=8,x=!0){return m.createCache(this,_),x||this.multiply(ka),this}assertValidity(){f(this)}equals(_){d(_);let{X:x,Y:y,Z:T}=this,{X:E,Y:O,Z:R}=_,I=c(x*R),w=c(E*T),v=c(y*R),V=c(O*T);return I===w&&v===V}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:_}=i,{X:x,Y:y,Z:T}=this,E=c(x*x),O=c(y*y),R=c(ka*c(T*T)),I=c(_*E),w=x+y,v=c(c(w*w)-E-O),V=I+O,S=V-R,b=I-O,N=c(v*S),F=c(V*b),B=c(v*b),k=c(S*V);return new h(N,F,k,B)}add(_){d(_);let{a:x,d:y}=i,{X:T,Y:E,Z:O,T:R}=this,{X:I,Y:w,Z:v,T:V}=_,S=c(T*I),b=c(E*w),N=c(R*y*V),F=c(O*v),B=c((T+E)*(I+w)-S-b),k=F-N,A=F+N,C=c(b-x*S),P=c(B*k),D=c(A*C),U=c(B*C),te=c(k*A);return new h(P,D,te,U)}subtract(_){return this.add(_.negate())}multiply(_){if(!o.isValidNot0(_))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:y}=m.cached(this,_,T=>ot(h,T));return ot(h,[x,y])[0]}multiplyUnsafe(_,x=h.ZERO){if(!o.isValid(_))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return _===Fr?h.ZERO:this.is0()||_===Re?this:m.unsafe(this,_,y=>ot(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return m.unsafe(this,i.n).is0()}toAffine(_){return l(this,_)}clearCofactor(){return s===Re?this:this.multiplyUnsafe(s)}toBytes(){let{x:_,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=_&Re?128:0,y}toHex(){return H(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(_){return ot(h,_)}static msm(_,x){return Qn(h,o,_,x)}_setWindowSize(_){this.precompute(_)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,Re,c(i.Gx*i.Gy)),h.ZERO=new h(Fr,Re,Re,Fr),h.Fp=n,h.Fn=o;let m=new Xn(h,o.BITS);return h.BASE.precompute(8),h}var ss=class{constructor(t){this.ep=t}static fromBytes(t){Yn()}static fromHex(t){Yn()}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 H(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 vh(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');nr(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=r.randomBytes||Bn,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,v,V)=>{if(Nn(V,"phflag"),v.length||V)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(tr(w))}function d(w){let v=y.secretKey;w=le("private key",w,v);let V=le("hashed private key",t(w),2*v),S=c(V.slice(0,v)),b=V.slice(v,2*v),N=p(S);return{head:S,prefix:b,scalar:N}}function l(w){let{head:v,prefix:V,scalar:S}=d(w),b=o.multiply(S),N=b.toBytes();return{head:v,prefix:V,scalar:S,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...v){let V=j(...v);return p(t(u(V,le("context",w),!!n)))}function m(w,v,V={}){w=le("message",w),n&&(w=n(w));let{prefix:S,scalar:b,pointBytes:N}=l(v),F=h(V.context,S,w),B=o.multiply(F).toBytes(),k=h(V.context,B,N,w),A=s.create(F+k*b);if(!s.isValid(A))throw new Error("sign failed: invalid s");let C=j(B,s.toBytes(A));return Rr(C,y.signature,"result")}let g={zip215:!0};function _(w,v,V,S=g){let{context:b,zip215:N}=S,F=y.signature;w=le("signature",w,F),v=le("message",v),V=le("publicKey",V,y.publicKey),N!==void 0&&Nn(N,"zip215"),n&&(v=n(v));let B=F/2,k=w.subarray(0,B),A=tr(w.subarray(B,F)),C,P,D;try{C=e.fromBytes(V,N),P=e.fromBytes(k,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&C.isSmallOrder())return!1;let U=h(b,P.toBytes(),C.toBytes(),v);return P.add(C.multiplyUnsafe(U)).subtract(D).clearCofactor().is0()}let x=i.BYTES,y={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(y.seed)){return Rr(w,y.seed,"seed")}function E(w){let v=I.randomSecretKey(w);return{secretKey:v,publicKey:f(v)}}function O(w){return Ot(w)&&w.length===s.BYTES}function R(w,v){try{return!!e.fromBytes(w,v)}catch{return!1}}let I={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:O,isValidPublicKey:R,toMontgomery(w){let{y:v}=e.fromBytes(w),V=y.publicKey,S=V===32;if(!S&&V!==57)throw new Error("only defined for 25519 and 448");let b=S?i.div(Re+v,Re-v):i.div(v-Re,v+Re);return i.toBytes(b)},toMontgomerySecret(w){let v=y.secretKey;Rr(w,v);let V=t(w.subarray(0,v));return c(V).subarray(0,v)},randomPrivateKey:T,precompute(w=8,v=e.BASE){return v.precompute(w,!1)}};return Object.freeze({keygen:E,getPublicKey:f,sign:m,verify:_,utils:I,Point:e,lengths:y})}function Ih(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=ke(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:i}}function Ah(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Bu(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Ih(e),i=Rh(t,r),s=vh(i,n,o);return Ah(e,s)}var Sh=BigInt(0),ar=BigInt(1),Du=BigInt(2),cg=BigInt(3),Fh=BigInt(5),Vh=BigInt(8),no=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Zo={p:no,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Vh,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Ch(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=no,a=e*e%i*e%i,c=Tt(a,Du,i)*a%i,u=Tt(c,ar,i)*e%i,p=Tt(u,Fh,i)*u%i,d=Tt(p,t,i)*p%i,l=Tt(d,r,i)*d%i,f=Tt(l,n,i)*l%i,h=Tt(f,o,i)*f%i,m=Tt(h,o,i)*f%i,g=Tt(m,t,i)*p%i;return{pow_p_5_8:Tt(g,Du,i)*e%i,b2:a}}function Ph(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var La=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function ja(e,t){let r=no,n=se(t*t*t,r),o=se(n*n*t,r),i=Ch(e*o).pow_p_5_8,s=se(e*n*i,r),a=se(t*s*s,r),c=s,u=se(s*La,r),p=a===e,d=a===se(-e,r),l=a===se(-e*La,r);return p&&(s=c),(d||l)&&(s=u),or(s,r)&&(s=se(-s,r)),{isValid:p||d,value:s}}var Vr=ke(Zo.p,{isLE:!0}),Bh=ke(Zo.n,{isLE:!0}),Dh={...Zo,Fp:Vr,hash:al,adjustScalarBytes:Ph,uvRatio:ja},Me=Bu(Dh);var qa=La,Uh=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),kh=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Lh=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),qh=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Uu=e=>ja(ar,e),Mh=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Ma=e=>Me.Point.Fp.create(tr(e)&Mh);function ku(e){let{d:t}=Zo,r=no,n=_=>Vr.create(_),o=n(qa*e*e),i=n((o+ar)*Lh),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=ja(i,a),p=n(u*e);or(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-ar)*qh-a),l=u*u,f=n((u+u)*a),h=n(d*Uh),m=n(ar-l),g=n(ar+l);return new Me.Point(n(f*g),n(m*h),n(h*g),n(f*m))}function jh(e){fe(e,64);let t=Ma(e.subarray(0,32)),r=ku(t),n=Ma(e.subarray(32,64)),o=ku(n);return new cr(r.add(o))}var cr=class e extends ss{constructor(t){super(t)}static fromAffine(t){return new e(Me.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return jh(le("ristrettoHash",t,64))}static fromBytes(t){fe(t,32);let{a:r,d:n}=Zo,o=no,i=T=>Vr.create(T),s=Ma(t);if(!tu(Vr.toBytes(s),t)||or(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(ar+r*a),u=i(ar-r*a),p=i(c*c),d=i(u*u),l=i(r*n*p-d),{isValid:f,value:h}=Uu(i(l*d)),m=i(h*u),g=i(h*m*l),_=i((s+s)*m);or(_,o)&&(_=i(-_));let x=i(c*g),y=i(_*x);if(!f||or(y,o)||x===Sh)throw new Error("invalid ristretto255 encoding 2");return new e(new Me.Point(_,x,ar,y))}static fromHex(t){return e.fromBytes(le("ristrettoHex",t,32))}static msm(t,r){return Qn(e,Me.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=no,s=g=>Vr.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=Uu(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(or(o*f,i)){let g=s(r*qa),_=s(t*qa);t=g,r=_,h=s(d*kh)}else h=l;or(t*f,i)&&(r=s(-r));let m=s((n-r)*h);return or(m,i)&&(m=s(-m)),Vr.toBytes(m)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>Vr.create(u),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};cr.BASE=new cr(Me.Point.BASE);cr.ZERO=new cr(Me.Point.ZERO);cr.Fp=Vr;cr.Fn=Bh;var Lu,qu,as=class{static{Lu=Symbol.iterator,qu=Symbol.toStringTag}#e;#t;constructor(t={}){this[Lu]=this.entries.bind(this),this[qu]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([i,s])=>[i,{value:s,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 Mu=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw z.fromCode(new xo("Length too long (> 4 bytes)"))},ju=(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 z.fromCode(new xo("Length too long (> 4 bytes)"))},Ka=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw z.fromCode(new mt("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw z.fromCode(new mt("Length too long (> 4 bytes)"))},Kh=(e,t)=>{let r=Ka(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 z.fromCode(new mt("Length too long (> 4 bytes)"))},Xo=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Sn=Uint8Array.from([48,5,6,3,43,101,112]),fg=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),hg=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 Fn(e,t){let r=2+Mu(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+Mu(n)+n);return i[o++]=48,o+=ju(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=ju(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var Vn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw z.fromCode(new mt(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=Ka(o,r),!bn(o.slice(r,r+t.byteLength),t))throw z.fromCode(new mt("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Kh(o,r)-1;r+=Ka(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw z.fromCode(new xi(i,s.length));return s};var cs=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 Fn(t,Sn)}static derDecode(t){let r=Vn(t,Sn);if(r.length!==this.RAW_KEY_LENGTH)throw z.fromCode(new mt("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 z.fromCode(new mt("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 Ha=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))}},ls=class extends Ha{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 us=class e{#e;#t;#r;#c;#s;#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:i=6e4,maxElapsedTime:s=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#c=i,this.#o=c,this.#s=c.now(),this.#u=s,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#s}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 Vt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(Vt||(Vt={}));var Ja=60*1e3,Hh=1e6,$h=0,Gh="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Jh="ic0.app",zh=".ic0.app",Wh="icp0.io",Yh=".icp0.io",Zh="icp-api.io",Xh=".icp-api.io",$a=200,Qh=202,em=404;function tm(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw Oe.fromCode(new qn("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 Oe.fromCode(new qn("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 Oe.fromCode(new qn("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function rm(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,i=o?.hostname,s;i&&typeof i=="string"&&(n.some(a=>i.endsWith(a))?s=i:s=r.find(a=>i.endsWith(a))),o&&s?t=new URL(`${o.protocol}//${s}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var lr=class e{#e;#t;#r;#c;#s;#u;#n;#o;#a;#x;#i;#d;#p;#l;get#N(){return this.#l*Ja}#f;#h;#m;#_;constructor(t={}){this.#e=null,this.#t=!1,this.#r=$h,this.#c=!1,this.#s=null,this.#u=!1,this._isAgent=!0,this.config={},this.log=new ls,this.#f=[],this.#h=[],this.#m=new as({expirationTime:5*Ja}),this.#_=!0,this.#w=(o,i)=>{if(this.#_===!1)return o;let{status:s,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=M.fromUint8Array(d).toText(),f;if(s===hr.Replied){let{reply:x}=o;f=Fo({status:s,reply:x,timestamp:BigInt(p),request_id:c})}else if(s===hr.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Fo({status:s,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw ge.fromCode(new Be(`Unknown status: ${s}`));let h=j(ta,f),m=i.nodeKeys.get(l);if(!m)throw ne.fromCode(new Si);let g=cs.fromDer(m).rawKey;if(Me.verify(u.signature,h,g))return o;throw Pe.fromCode(new Fi(l))}return o},this.config=t,this.#o=t.fetch||tm()||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=Ne(Gh);let r=rm(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#d=t.retryTimes??3;let n=()=>new us({maxIterations:this.#d});if(this.#p=t.backoffStrategy||n,this.host.hostname.endsWith(zh)?this.host.hostname=Jh:this.host.hostname.endsWith(Yh)?this.host.hostname=Wh:this.host.hostname.endsWith(Xh)&&(this.host.hostname=Zh),t.credentials){let{name:o,password:i}=t.credentials;this.#i=`${o}${i?":"+i:""}`}if(this.#n=Promise.resolve(t.identity||new rt),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw z.fromCode(new mn("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw z.fromCode(new mn("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",ca(Lo)),t.useQueryNonces&&this.addTransform("query",ca(Lo)),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 z.fromCode(new vi)}}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(i=>(i.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(i=>(i.priority||0)<n);this.#f.splice(o>=0?o:this.#f.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw Oe.fromCode(new br);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw Oe.fromCode(new br);let s=M.from(t),a=r.effectiveCanisterId?M.from(r.effectiveCanisterId):s;await this.#g(a);let c=i.getPrincipal(),u=Ga(this.#l,this.#r),p={request_type:Hi.Call,canister_id:s,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.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:er.Call,body:p}),l;r?.nonce?l=f(r.nonce):d.body.nonce?l=f(d.body.nonce):l=void 0,p.nonce=l;function f(_){return Object.assign(_,{__nonce__:void 0})}d=await i.transformRequest(d);let h=Uo(d.body),m=this.#p(),g=Xt(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,...E}=await this.#y({requestFn:y,backoff:m,tries:0}),O=T.byteLength>0?Je(T):null;return{requestId:g,response:{...E,body:O},requestDetails:p}}catch(_){let x;if(_ instanceof ht){if(_.hasCode(wo))return this.log.warn("v3 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(_.hasCode(mn)&&!this.#c)return await this.syncTime(s),this.call(s,r,n);_.code.requestContext={requestId:g,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=_}else x=ge.fromCode(new Be(_));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next();if(this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ge.fromCode(new hn(`Backoff strategy exhausted after ${a} attempts.`,i));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($n(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:Gi(f.headers)},requestId:i};else throw ne.fromCode(new bo(f.status,f.statusText,Gi(f.headers),await f.text()))}catch(f){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
|
|
50
|
+
`)}return c.encodeValue(u)}));return z(n,o,i,s,a)}function $p(e,t){let r=new _t(t);if(t.byteLength<Pi.length)throw new Error("Message length smaller than magic number");let n=Or(r,Pi.length),o=new TextDecoder().decode(n);if(o!==Pi)throw new Error("Wrong magic number: "+JSON.stringify(o));function i(l){let f=[],h=Number(me(l));for(let _=0;_<h;_++){let x=Number(zt(l));switch(x){case Z.Opt:case Z.Vector:{let y=Number(zt(l));f.push([x,y]);break}case Z.Record:case Z.Variant:{let y=[],T=Number(me(l)),E;for(;T--;){let O=Number(me(l));if(O>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof E=="number"&&E>=O)throw new Error("field id collision or not sorted");E=O;let R=Number(zt(l));y.push([O,R])}f.push([x,y]);break}case Z.Func:{let y=[],T=Number(me(l));for(;T--;)y.push(Number(zt(l)));let E=[],O=Number(me(l));for(;O--;)E.push(Number(zt(l)));let R=[],I=Number(me(l));for(;I--;)switch(Number(me(l))){case 1:{R.push("query");break}case 2:{R.push("oneway");break}case 3:{R.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([x,[y,E,R]]);break}case Z.Service:{let y=Number(me(l)),T=[];for(;y--;){let E=Number(me(l)),O=new TextDecoder().decode(Or(l,E)),R=zt(l);T.push([O,R])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let m=[],g=Number(me(l));for(let _=0;_<g;_++)m.push(Number(zt(l)));return[f,m]}let[s,a]=i(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=s.map(l=>kl());function u(l){if(l<-24)throw new Error("future value not supported");if(l<0)switch(l){case-1:return gl;case-2:return yl;case-3:return wl;case-4:return bl;case-5:return Il;case-6:return Al;case-7:return Sl;case-8:return Fl;case-9:return Ol;case-10:return El;case-11:return Rl;case-12:return vl;case-13:return Tl;case-14:return Nl;case-15:return xl;case-16:return _l;case-17:return ml;case-24:return Vl;default:throw new Error("Illegal op_code: "+l)}if(l>=s.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 Pl(f)}case Z.Opt:{let f=u(l[1]);return Bl(f)}case Z.Record:{let f={};for(let[g,_]of l[1]){let x=`_${g}_`;f[x]=u(_)}let h=Dl(f),m=h.tryAsTuple();return Array.isArray(m)?Cl(...m):h}case Z.Variant:{let f={};for(let[h,m]of l[1]){let g=`_${h}_`;f[g]=u(m)}return Ul(f)}case Z.Func:{let[f,h,m]=l[1];return Ll(f.map(g=>u(g)),h.map(g=>u(g)),m)}case Z.Service:{let f={},h=l[1];for(let[m,g]of h){let _=u(g);if(_ instanceof tt&&(_=_.getType()),!(_ instanceof gn))throw new Error("Illegal service definition: services can only contain functions");f[m]=_}return ql(f)}default:throw new Error("Illegal op_code: "+l[0])}}s.forEach((l,f)=>{if(l[0]===Z.Func){let h=p(l);c[f].fill(h)}}),s.forEach((l,f)=>{if(l[0]!==Z.Func){let h=p(l);c[f].fill(h)}}),Zs();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{Zs()}}var ml=new vo,_l=new St,Gp=new Di,yl=new Ui,gl=new _n,xl=new ki,bl=new Io,wl=new Ao,Tl=new So(32),Nl=new So(64),Ol=new Zt(8),El=new Zt(16),Rl=new Zt(32),vl=new Zt(64),Il=new It(8),Al=new It(16),Sl=new It(32),Fl=new It(64),Vl=new qi;function Cl(...e){return new Li(e)}function Pl(e){return new jn(e)}function Bl(e){return new Er(e)}function Dl(e){return new yn(e)}function Ul(e){return new Kn(e)}function kl(){return new tt}function Ll(e,t,r=[]){return new gn(e,t,r)}function ql(e){return new Hn(e)}var Mi=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,i]of n)t+=`${r} ${i?":<":"!<:"} ${o}
|
|
51
|
+
`;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let i=new Map;i.set(r,n),this.rels.set(t,i)}else o.set(r,n)}},Bi=new Mi;function Zs(){Bi=new Mi}function Jp(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 Ws(e){return e instanceof Er||e instanceof _n||e instanceof St}function Qs(e,t){let r=Bi.copy(),n=Yt(r,e,t);return n?Bi.add(e,t):Bi.addNegative(e,t),n}function Yt(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 St||t instanceof vo||t instanceof Ao&&r instanceof Io)return!0;if(t instanceof jn&&r instanceof jn)return Yt(e,t._type,r._type);if(r instanceof Er)return!0;if(t instanceof yn&&r instanceof yn){let o=t.fieldsAsObject;for(let[i,s]of r._fields){let a=o[De(i)];if(a){if(!Yt(e,a,s))return!1}else if(!Ws(s))return!1}return!0}if(t instanceof gn&&r instanceof gn){if(!Jp(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let i=t.argTypes[o];if(o<r.argTypes.length){if(!Yt(e,r.argTypes[o],i))return!1}else if(!Ws(i))return!1}for(let o=0;o<r.retTypes.length;o++){let i=r.retTypes[o];if(o<t.retTypes.length){if(!Yt(e,t.retTypes[o],i))return!1}else if(!Ws(i))return!1}return!0}if(t instanceof Kn&&r instanceof Kn){let o=r.alternativesAsObject;for(let[i,s]of t._fields){let a=o[De(i)];if(!a||!Yt(e,s,a))return!1}return!0}if(t instanceof Hn&&r instanceof Hn){let o=t.fieldsAsObject();for(let[i,s]of r._fields){let a=o[i];if(!a||!Yt(e,a,s))return!1}return!0}return t instanceof tt?Yt(e,t.getType(),r):r instanceof tt?Yt(e,t,r.getType()):!1}function $n(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?$n(e.buffer):new Uint8Array(e)}function bn(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 ea(e){if(typeof e=="string")return Ml(e);if(typeof e=="number")return Se(oe(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return Se($n(e));if(Array.isArray(e)){let t=e.map(ea);return Se(j(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return Se(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return ea(e.toHash());if(typeof e=="object")return Fo(e);if(typeof e=="bigint")return Se(oe(e))}throw W.fromCode(new Ri(e))}var Ml=e=>{let t=new TextEncoder().encode(e);return Se(t)};function Xt(e){return Fo(e)}function Fo(e){let n=Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>{let c=Ml(s),u=ea(a);return[c,u]}).sort(([s],[a])=>Hs(s,a)),o=j(...n.map(s=>j(...s)));return Se(o)}var Vo=new TextEncoder().encode(`
|
|
52
|
+
ic-request`),ta=new TextEncoder().encode("\vic-response"),ra=new TextEncoder().encode("ic-request-auth-delegation");var Ft=class{getPrincipal(){return this._principal||(this._principal=M.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=Xt(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(j(Vo,o))}}}},rt=class{getPrincipal(){return M.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var Qt=class extends Error{constructor(t){super(t),this.name="DecodingError"}},Kl=55799,Hl=Symbol("CBOR_STOP_CODE"),xt=(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))(xt||{}),be=(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))(be||{}),Wp=23,zp=255,Yp=65535,Zp=4294967295,Xp=BigInt("0xffffffffffffffff"),gt=(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))(gt||{}),Gn=!1;function Qp(e){return e==null}function $l(e,t){let r=new Uint8Array(t);return r.set(e),r}var ef=new TextDecoder;function tf(e){return(e&224)>>5}function rf(e){return e&31}var Bo=new Uint8Array,Co,bt=0;function Gl(e,t){Bo=e,bt=0;let r=wn(t);return t?.(r)??r}function wn(e){let[t,r]=ji();switch(t){case be.UnsignedInteger:return Jn(r);case be.NegativeInteger:return af(r);case be.ByteString:return Jl(r);case be.TextString:return oa(r);case be.Array:return nf(r,e);case be.Map:return sf(r,e);case be.Tag:return cf(r,e);case be.Simple:return of(r)}throw new Qt(`Unsupported major type: ${t}`)}function ji(){let e=Bo.at(bt);if(Qp(e))throw new Qt("Provided CBOR data is empty");let t=tf(e),r=rf(e);return bt++,[t,r]}function nf(e,t){let r=Jn(e);if(r===1/0){let o=[],i=wn(t);for(;i!==Hl;)o.push(t?.(i)??i),i=wn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=wn(t);n[o]=t?.(i)??i}return n}function of(e){switch(e){case xt.False:return!1;case xt.True:return!0;case xt.Null:return null;case xt.Undefined:return;case xt.Break:return Hl}throw new Qt(`Unrecognized simple type: ${e.toString(2)}`)}function sf(e,t){let r=Jn(e),n={};if(r===1/0){let[o,i]=ji();for(;o!==be.Simple&&i!==xt.Break;){let s=oa(i),a=wn(t);n[s]=t?.(a,s)??a,[o,i]=ji()}return n}for(let o=0;o<r;o++){let[i,s]=ji();if(i!==be.TextString)throw new Qt("Map keys must be text strings");let a=oa(s),c=wn(t);n[a]=t?.(c,a)??c}return n}function Jn(e){if(e<=gt.Value)return e;switch(Co=new DataView(Bo.buffer,Bo.byteOffset+bt),e){case gt.OneByte:return bt++,Co.getUint8(0);case gt.TwoBytes:return bt+=2,Co.getUint16(0,Gn);case gt.FourBytes:return bt+=4,Co.getUint32(0,Gn);case gt.EightBytes:return bt+=8,Co.getBigUint64(0,Gn);case gt.Indefinite:return 1/0;default:throw new Qt(`Unsupported integer info: ${e.toString(2)}`)}}function af(e){let t=Jn(e);return typeof t=="number"?-1-t:-1n-t}function Jl(e){let t=Jn(e);if(t>Number.MAX_SAFE_INTEGER)throw new Qt("Byte length is too large");let r=Number(t);return bt+=r,Bo.slice(bt-r,bt)}function oa(e){let t=Jl(e);return ef.decode(t)}function cf(e,t){let r=Jn(e);if(r===Kl)return wn(t);throw new Qt(`Unsupported tag: ${r}.`)}var Do=class extends Error{constructor(t){super(t),this.name="SerializationError"}},lf=2*1024,uf=100,df=new TextEncoder;function Po(e){return e<<5}var et=new Uint8Array(lf),yt=new DataView(et.buffer),xe=0,na=[];function Wl(e,t){xe=0;let r=t?.(e)??e;return xf(Kl,r,t),et.slice(0,xe)}function ia(e,t){if(xe>et.length-uf&&(et=$l(et,et.length*2),yt=new DataView(et.buffer)),e===!1||e===!0||e===null||e===void 0){hf(e);return}if(typeof e=="number"||typeof e=="bigint"){gf(e);return}if(typeof e=="string"){Zl(e);return}if(e instanceof Uint8Array){jl(e);return}if(e instanceof ArrayBuffer){jl(new Uint8Array(e));return}if(Array.isArray(e)){pf(e,t);return}if(typeof e=="object"){ff(e,t);return}throw new Do(`Unsupported type: ${typeof e}`)}function pf(e,t){Wn(be.Array,e.length),e.forEach((r,n)=>{ia(t?.(r,n.toString())??r,t)})}function ff(e,t){na=Object.entries(e),Wn(be.Map,na.length),na.forEach(([r,n])=>{Zl(r),ia(t?.(n,r)??n,t)})}function Wn(e,t){if(t<=Wp){yt.setUint8(xe++,Po(e)|Number(t));return}if(t<=zp){yt.setUint8(xe++,Po(e)|gt.OneByte),yt.setUint8(xe,Number(t)),xe+=1;return}if(t<=Yp){yt.setUint8(xe++,Po(e)|gt.TwoBytes),yt.setUint16(xe,Number(t),Gn),xe+=2;return}if(t<=Zp){yt.setUint8(xe++,Po(e)|gt.FourBytes),yt.setUint32(xe,Number(t),Gn),xe+=4;return}if(t<=Xp){yt.setUint8(xe++,Po(e)|gt.EightBytes),yt.setBigUint64(xe,BigInt(t),Gn),xe+=8;return}throw new Do(`Value too large to encode: ${t}`)}function hf(e){Wn(be.Simple,mf(e))}function mf(e){if(e===!1)return xt.False;if(e===!0)return xt.True;if(e===null)return xt.Null;if(e===void 0)return xt.Undefined;throw new Do(`Unrecognized simple value: ${e.toString()}`)}function zl(e,t){Wn(e,t.length),xe>et.length-t.length&&(et=$l(et,et.length+t.length),yt=new DataView(et.buffer)),et.set(t,xe),xe+=t.length}function Yl(e,t){Wn(e,t)}function _f(e){Yl(be.UnsignedInteger,e)}function yf(e){Yl(be.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function gf(e){e>=0?_f(e):yf(e)}function Zl(e){zl(be.TextString,df.encode(e))}function jl(e){zl(be.ByteString,e)}function xf(e,t,r){Wn(be.Tag,e),ia(t,r)}function wf(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function Uo(e){try{return Wl(e,t=>M.isPrincipal(t)?t.toUint8Array():zn.isExpiry(t)?t.toBigInt():wf(t)?t.toCborValue():t)}catch(t){throw W.fromCode(new wi(t,e))}}function Je(e){try{return Gl(e)}catch(t){throw W.fromCode(new bi(t,e))}}var Ki={encode:Uo,decode:Je};var ko=()=>{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 er;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(er||(er={}));var Hi;(function(e){e.Call="call"})(Hi||(Hi={}));var Tn;(function(e){e.Query="query",e.ReadState="read_state"})(Tn||(Tn={}));function Lo(){let e=new ArrayBuffer(16),t=new DataView(e),r=ko(),n=ko(),o=ko(),i=ko();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,i),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var $i="__expiry__",aa=BigInt(1e3),Tf=BigInt(1e6),Xl=BigInt(60),Nf=BigInt(90)*aa;function Ql(e){return e/aa}function Of(e){return Ql(e)/Xl}var zn=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),i;return n<Nf?i=Ql(o):i=Of(o)*Xl,new e(i*aa*Tf)}toBigInt(){return this.__expiry__}toHash(){return oe(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[$i]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[$i])try{let n=BigInt(r[$i]);return new e(n)}catch(n){throw new W(new Oo(`Not a valid BigInt: ${n}`))}throw new W(new Oo(`The input does not contain the key ${$i}`))}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 ca(e=Lo){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===er.Call&&(t.body.nonce=e())}}function Gi(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var ua=BigInt(0),Ji=BigInt(1);function Nn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Rr(e,t,r=""){let n=Ot(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function eu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?ua:BigInt("0x"+e)}function We(e){return eu(H(e))}function tr(e){return fe(e),eu(H(Uint8Array.from(e).reverse()))}function we(e,t){return Ne(e.toString(16).padStart(t*2,"0"))}function da(e,t){return we(e,t).reverse()}function le(e,t,r){let n;if(typeof t=="string")try{n=Ne(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(Ot(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 tu(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 pa(e){return Uint8Array.from(e)}var la=e=>typeof e=="bigint"&&ua<=e;function fa(e,t,r){return la(e)&&la(t)&&la(r)&&t<=e&&e<r}function Wi(e,t,r,n){if(!fa(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function rr(e){let t;for(t=0;e>ua;e>>=Ji,t+=1);return t}function ru(e,t){return e>>BigInt(t)&Ji}var wt=e=>(Ji<<BigInt(e))-Ji;function nu(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function nr(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let c=typeof a;if(c!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}var Yn=()=>{throw new Error("not implemented")};function vr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var Ue=BigInt(0),Ee=BigInt(1),On=BigInt(2),iu=BigInt(3),su=BigInt(4),au=BigInt(5),Ef=BigInt(7),cu=BigInt(8),Rf=BigInt(9),lu=BigInt(16);function se(e,t){let r=e%t;return r>=Ue?r:t+r}function Tt(e,t,r){let n=e;for(;t-- >Ue;)n*=n,n%=r;return n}function ou(e,t){if(e===Ue)throw new Error("invert: expected non-zero number");if(t<=Ue)throw new Error("invert: expected positive modulus, got "+t);let r=se(e,t),n=t,o=Ue,i=Ee,s=Ee,a=Ue;for(;r!==Ue;){let u=n/r,p=n%r,d=o-s*u,l=i-a*u;n=r,r=p,o=s,i=a,s=d,a=l}if(n!==Ee)throw new Error("invert: does not exist");return se(o,t)}function ha(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function uu(e,t){let r=(e.ORDER+Ee)/su,n=e.pow(t,r);return ha(e,n,t),n}function vf(e,t){let r=(e.ORDER-au)/cu,n=e.mul(t,On),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,On),o),a=e.mul(i,e.sub(s,e.ONE));return ha(e,a,t),a}function If(e){let t=ke(e),r=du(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Ef)/lu;return(a,c)=>{let u=a.pow(c,s),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,i),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);u=a.cmov(u,p,f),p=a.cmov(l,d,h);let m=a.eql(a.sqr(p),c),g=a.cmov(u,p,m);return ha(a,g,c),g}}function du(e){if(e<iu)throw new Error("sqrt is not defined for small field");let t=e-Ee,r=0;for(;t%On===Ue;)t/=On,r++;let n=On,o=ke(e);for(;qo(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return uu;let i=o.pow(n,t),s=(t+Ee)/On;return function(c,u){if(c.is0(u))return u;if(qo(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,i),l=c.pow(u,t),f=c.pow(u,s);for(;!c.eql(l,c.ONE);){if(c.is0(l))return c.ZERO;let h=1,m=c.sqr(l);for(;!c.eql(m,c.ONE);)if(h++,m=c.sqr(m),h===p)throw new Error("Cannot find square root");let g=Ee<<BigInt(p-h-1),_=c.pow(d,g);p=h,d=c.sqr(_),l=c.mul(l,d),f=c.mul(f,_)}return f}}function Af(e){return e%su===iu?uu:e%cu===au?vf:e%lu===Rf?If(e):du(e)}var or=(e,t)=>(se(e,t)&Ee)===Ee,Sf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function zi(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Sf.reduce((n,o)=>(n[o]="function",n),t);return nr(e,r),e}function Mo(e,t,r){if(r<Ue)throw new Error("invalid exponent, negatives unsupported");if(r===Ue)return e.ONE;if(r===Ee)return t;let n=e.ONE,o=t;for(;r>Ue;)r&Ee&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Ee;return n}function nt(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),i),n}function qo(e,t){let r=(e.ORDER-Ee)/On,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function ma(e,t){t!==void 0&&Us(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ke(e,t,r=!1,n={}){if(e<=Ue)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s=!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&&(i=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(s=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:u}=ma(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:wt(c),ZERO:Ue,ONE:Ee,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 Ue<=l&&l<e},is0:l=>l===Ue,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Ee)===Ee,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)=>Mo(d,l,f),div:(l,f)=>se(l*ou(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>ou(l,e),sqrt:i||(l=>(p||(p=Af(e)),p(d,l))),toBytes:l=>r?da(l,u):we(l,u),fromBytes:(l,f=!0)=>{if(a){if(!a.includes(l.length)||l.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+l.length);let m=new Uint8Array(u);m.set(l,r?0:m.length-l.length),l=m}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?tr(l):We(l);if(s&&(h=se(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>nt(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function pu(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 Yi(e){let t=pu(e);return t+Math.ceil(t/2)}function _a(e,t,r=!1){let n=e.length,o=pu(t),i=Yi(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?tr(e):We(e),a=se(s,t-Ee)+Ee;return r?da(a,o):we(a,o)}var Zn=BigInt(0),En=BigInt(1);function jo(e,t){let r=t.negate();return e?r:t}function ot(e,t){let r=nt(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function _u(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function ya(e,t){_u(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=wt(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function fu(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),c=e>>s;a>n&&(a-=i,c+=En);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 Vf(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 Cf(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 ga=new WeakMap,yu=new WeakMap;function xa(e){return yu.get(e)||1}function hu(e){if(e!==Zn)throw new Error("invalid wNAF")}var Xn=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>Zn;)r&En&&(n=n.add(o)),o=o.double(),r>>=En;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=ya(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let u=1;u<o;u++)a=a.add(s),i.push(a);s=a.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=ya(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=fu(n,a,s);n=c,p?i=i.add(jo(l,r[f])):o=o.add(jo(d,r[u]))}return hu(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=ya(t,this.bits);for(let s=0;s<i.windows&&n!==Zn;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=fu(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return hu(n),o}getPrecomputes(t,r,n){let o=ga.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),ga.set(r,o))),o}cached(t,r,n){let o=xa(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=xa(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){_u(r,this.bits),yu.set(t,r),ga.delete(t)}hasCache(t){return xa(t)!==1}};function gu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>Zn||n>Zn;)r&En&&(i=i.add(o)),n&En&&(s=s.add(o)),o=o.double(),r>>=En,n>>=En;return{p1:i,p2:s}}function Qn(e,t,r,n){Vf(r,e),Cf(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=rr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=wt(c),p=new Array(Number(u)+1).fill(s),d=Math.floor((t.BITS-1)/c)*c,l=s;for(let f=d;f>=0;f-=c){p.fill(s);for(let m=0;m<i;m++){let g=n[m],_=Number(g>>BigInt(f)&u);p[_]=p[_].add(r[m])}let h=s;for(let m=p.length-1,g=s;m>0;m--)g=g.add(p[m]),h=h.add(g);if(l=l.add(h),f!==0)for(let m=0;m<c;m++)l=l.double()}return l}function mu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return zi(t),t}else return ke(e,{isLE:r})}function Zi(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>Zn))throw new Error(`CURVE.${c} must be positive bigint`)}let o=mu(t.p,r.Fp,n),i=mu(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:i}}var Pf=We;function Ir(e,t){if(Ko(e),Ko(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 Bf(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 Ko(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function xu(e){if(!Ot(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?ee(e):e}function Df(e,t,r,n){fe(e),Ko(r),t=xu(t),t.length>255&&(t=n(j(ee("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=j(t,Ir(t.length,1)),c=Ir(0,i),u=Ir(r,2),p=new Array(s),d=n(j(c,e,u,Ir(0,1),a));p[0]=n(j(d,Ir(1,1),a));for(let f=1;f<=s;f++){let h=[Bf(d,p[f-1]),Ir(f+1,1),a];p[f]=n(j(...h))}return j(...p).slice(0,r)}function Uf(e,t,r,n,o){if(fe(e),Ko(r),t=xu(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update(ee("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 ba(e,t,r){nr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!nu(r.hash))throw new Error("expected valid hash");fe(e),Ko(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=Df(e,c,d,s);else if(a==="xof")l=Uf(e,c,d,o,s);else if(a==="_internal_pass")l=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let m=new Array(i);for(let g=0;g<i;g++){let _=p*(g+h*i),x=l.subarray(_,_+p);m[g]=se(Pf(x),n)}f[h]=m}return f}function wa(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=nt(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var kf=ee("HashToScalar-");function Ta(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(i){return e.fromAffine(t(i))}function o(i){let s=i.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=Object.assign({},r,s),c=ba(i,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),u=ba(i,1,c),p=n(u[0]);return o(p)},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))},hashToScalar(i,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:kf},s);return ba(i,1,c)[0][0]}}}var bu=(e,t)=>(e+(e>=0?t:-t)/ir)/t;function Lf(e,t,r){let[[n,o],[i,s]]=t,a=bu(s*e,r),c=bu(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<Rn,l=p<Rn;d&&(u=-u),l&&(p=-p);let f=wt(Math.ceil(rr(r)/2))+Le;if(u<Rn||u>=f||p<Rn||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Rn=BigInt(0),Le=BigInt(1),ir=BigInt(2),eo=BigInt(3),Na=BigInt(4);function Ho(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=le("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 qf(e,t={}){let r=Zi("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;nr(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Kf(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(S,b,N){let{x:F,y:B}=b.toAffine(),k=n.toBytes(F);if(Nn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return j(Mf(A),k)}else return j(Uint8Array.of(4),k,n.toBytes(B))}function l(S){Rr(S,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,F=S.length,B=S[0],k=S.subarray(1);if(F===b&&(B===2||B===3)){let A=n.fromBytes(k);if(!n.isValid(A))throw new Error("bad point: is not on curve, wrong x");let C=m(A),P;try{P=n.sqrt(C)}catch(te){let Q=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+Q)}p();let D=n.isOdd(P);return(B&1)===1!==D&&(P=n.neg(P)),{x:A,y:P}}else if(F===N&&B===4){let A=n.BYTES,C=n.fromBytes(k.subarray(0,A)),P=n.fromBytes(k.subarray(A,A*2));if(!g(C,P))throw new Error("bad point: is not on curve");return{x:C,y:P}}else throw new Error(`bad point: got length ${F}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function m(S){let b=n.sqr(S),N=n.mul(b,S);return n.add(n.add(N,n.mul(S,i.a)),i.b)}function g(S,b){let N=n.sqr(b),F=m(S);return n.eql(N,F)}if(!g(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let _=n.mul(n.pow(i.a,eo),Na),x=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(_,x)))throw new Error("bad curve params: a or b");function y(S,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${S}`);return b}function T(S){if(!(S instanceof w))throw new Error("ProjectivePoint expected")}function E(S){if(!c||!c.basises)throw new Error("no endo");return Lf(S,c.basises,o.ORDER)}let O=vr((S,b)=>{let{X:N,Y:F,Z:B}=S;if(n.eql(B,n.ONE))return{x:N,y:F};let k=S.is0();b==null&&(b=k?n.ONE:n.inv(B));let A=n.mul(N,b),C=n.mul(F,b),P=n.mul(B,b);if(k)return{x:n.ZERO,y:n.ZERO};if(!n.eql(P,n.ONE))throw new Error("invZ was invalid");return{x:A,y:C}}),R=vr(S=>{if(S.is0()){if(t.allowInfinityPoint&&!n.is0(S.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=S.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(!S.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function I(S,b,N,F,B){return N=new w(n.mul(N.X,S),N.Y,N.Z),b=jo(F,b),N=jo(B,N),b.add(N)}class w{constructor(b,N,F){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",F),Object.freeze(this)}static CURVE(){return i}static fromAffine(b){let{x:N,y:F}=b||{};if(!b||!n.isValid(N)||!n.isValid(F))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(F)?w.ZERO:new w(N,F,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(Rr(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(le("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return V.createCache(this,b),N||this.multiply(eo),this}assertValidity(){R(this)}hasEvenY(){let{y:b}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(b)}equals(b){T(b);let{X:N,Y:F,Z:B}=this,{X:k,Y:A,Z:C}=b,P=n.eql(n.mul(N,C),n.mul(k,B)),D=n.eql(n.mul(F,C),n.mul(A,B));return P&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=i,F=n.mul(N,eo),{X:B,Y:k,Z:A}=this,C=n.ZERO,P=n.ZERO,D=n.ZERO,U=n.mul(B,B),te=n.mul(k,k),Q=n.mul(A,A),$=n.mul(B,k);return $=n.add($,$),D=n.mul(B,A),D=n.add(D,D),C=n.mul(b,D),P=n.mul(F,Q),P=n.add(C,P),C=n.sub(te,P),P=n.add(te,P),P=n.mul(C,P),C=n.mul($,C),D=n.mul(F,D),Q=n.mul(b,Q),$=n.sub(U,Q),$=n.mul(b,$),$=n.add($,D),D=n.add(U,U),U=n.add(D,U),U=n.add(U,Q),U=n.mul(U,$),P=n.add(P,U),Q=n.mul(k,A),Q=n.add(Q,Q),U=n.mul(Q,$),C=n.sub(C,U),D=n.mul(Q,te),D=n.add(D,D),D=n.add(D,D),new w(C,P,D)}add(b){T(b);let{X:N,Y:F,Z:B}=this,{X:k,Y:A,Z:C}=b,P=n.ZERO,D=n.ZERO,U=n.ZERO,te=i.a,Q=n.mul(i.b,eo),$=n.mul(N,k),ie=n.mul(F,A),pe=n.mul(B,C),Ae=n.add(N,F),re=n.add(k,A);Ae=n.mul(Ae,re),re=n.add($,ie),Ae=n.sub(Ae,re),re=n.add(N,B);let ce=n.add(k,C);return re=n.mul(re,ce),ce=n.add($,pe),re=n.sub(re,ce),ce=n.add(F,B),P=n.add(A,C),ce=n.mul(ce,P),P=n.add(ie,pe),ce=n.sub(ce,P),U=n.mul(te,re),P=n.mul(Q,pe),U=n.add(P,U),P=n.sub(ie,U),U=n.add(ie,U),D=n.mul(P,U),ie=n.add($,$),ie=n.add(ie,$),pe=n.mul(te,pe),re=n.mul(Q,re),ie=n.add(ie,pe),pe=n.sub($,pe),pe=n.mul(te,pe),re=n.add(re,pe),$=n.mul(ie,re),D=n.add(D,$),$=n.mul(ce,re),P=n.mul(Ae,P),P=n.sub(P,$),$=n.mul(Ae,ie),U=n.mul(ce,U),U=n.add(U,$),new w(P,D,U)}subtract(b){return this.add(b.negate())}is0(){return this.equals(w.ZERO)}multiply(b){let{endo:N}=t;if(!o.isValidNot0(b))throw new Error("invalid scalar: out of range");let F,B,k=A=>V.cached(this,A,C=>ot(w,C));if(N){let{k1neg:A,k1:C,k2neg:P,k2:D}=E(b),{p:U,f:te}=k(C),{p:Q,f:$}=k(D);B=te.add($),F=I(N.beta,U,Q,A,P)}else{let{p:A,f:C}=k(b);F=A,B=C}return ot(w,[F,B])[0]}multiplyUnsafe(b){let{endo:N}=t,F=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Rn||F.is0())return w.ZERO;if(b===Le)return F;if(V.hasCache(this))return this.multiply(b);if(N){let{k1neg:B,k1:k,k2neg:A,k2:C}=E(b),{p1:P,p2:D}=gu(w,F,k,C);return I(N.beta,P,D,B,A)}else return V.unsafe(F,b)}multiplyAndAddUnsafe(b,N,F){let B=this.multiplyUnsafe(N).add(b.multiplyUnsafe(F));return B.is0()?void 0:B}toAffine(b){return O(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return s===Le?!0:b?b(w,this):V.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return s===Le?this:b?b(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(b=!0){return Nn(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return H(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 ot(w,b)}static msm(b,N){return Qn(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(Ho(o,b))}}w.BASE=new w(i.Gx,i.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let v=o.BITS,V=new Xn(w,t.endo?Math.ceil(v/2):v);return w.BASE.precompute(8),w}function Mf(e){return Uint8Array.of(e?2:3)}function jf(e,t){let r=e.ORDER,n=Rn;for(let h=r-Le;h%ir===Rn;h/=ir)n+=Le;let o=n,i=ir<<o-Le-Le,s=i*ir,a=(r-Le)/s,c=(a-Le)/ir,u=s-Le,p=i,d=e.pow(t,a),l=e.pow(t,(a+Le)/ir),f=(h,m)=>{let g=d,_=e.pow(m,u),x=e.sqr(_);x=e.mul(x,m);let y=e.mul(h,x);y=e.pow(y,c),y=e.mul(y,_),_=e.mul(y,m),x=e.mul(y,h);let T=e.mul(x,_);y=e.pow(T,p);let E=e.eql(y,e.ONE);_=e.mul(x,l),y=e.mul(T,g),x=e.cmov(_,x,E),T=e.cmov(y,T,E);for(let O=o;O>Le;O--){let R=O-ir;R=ir<<R-Le;let I=e.pow(T,R),w=e.eql(I,e.ONE);_=e.mul(x,g),g=e.mul(g,g),I=e.mul(T,g),x=e.cmov(_,x,w),T=e.cmov(I,T,w)}return{isValid:E,value:x}};if(e.ORDER%Na===eo){let h=(e.ORDER-eo)/Na,m=e.sqrt(e.neg(t));f=(g,_)=>{let x=e.sqr(_),y=e.mul(g,_);x=e.mul(x,y);let T=e.pow(x,h);T=e.mul(T,y);let E=e.mul(T,m),O=e.mul(e.sqr(T),_),R=e.eql(O,g),I=e.cmov(E,T,R);return{isValid:R,value:I}}}return f}function Oa(e,t){zi(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 i=jf(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,u,p,d,l,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(u),l=e.sqr(p),d=e.mul(l,r),c=e.add(c,d),c=e.mul(c,u),l=e.mul(l,p),d=e.mul(l,n),c=e.add(c,d),f=e.mul(a,u);let{isValid:m,value:g}=i(c,l);h=e.mul(a,s),h=e.mul(h,g),f=e.cmov(f,u,m),h=e.cmov(h,g,m);let _=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,_);let x=nt(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function Kf(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Ea(e){let{CURVE:t,curveOpts:r}=Hf(e),n=qf(t,r);return Gf(e,n)}function Hf(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(s=>Math.ceil(s/2)))):void 0,o=ke(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),i={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:i}}function $f(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function Gf(e,t){let{Fp:r,Fn:n}=t;function o(s){return fa(s,Le,n.ORDER)}let i=$f(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>Ho(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Jf=BigInt(0),Xi=BigInt(1),wu=BigInt(2),to=BigInt(3);function Wf(e){let t=[];for(;e>Xi;e>>=Xi)(e&Xi)===Jf?t.unshift(0):(e&to)===to?(t.unshift(-1),e+=Xi):t.unshift(1);return t}function Ra(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function zf(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(s==="multiplicative")p=(y,T,E,O,R,I)=>i.mul014(O,y,o.mul(T,R),o.mul(E,I));else if(s==="divisive")p=(y,T,E,O,R,I)=>i.mul034(O,o.mul(E,I),o.mul(T,R),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,wu));function l(y,T,E,O){let R=o.sqr(E),I=o.sqr(O),w=o.mulByB(o.mul(I,to)),v=o.mul(w,to),V=o.sub(o.sub(o.sqr(o.add(E,O)),I),R),S=o.sub(w,R),b=o.mul(o.sqr(T),to),N=o.neg(V);return y.push([S,b,N]),T=o.mul(o.mul(o.mul(o.sub(R,v),T),E),d),E=o.sub(o.sqr(o.mul(o.add(R,v),d)),o.mul(o.sqr(w),to)),O=o.mul(R,V),{Rx:T,Ry:E,Rz:O}}function f(y,T,E,O,R,I){let w=o.sub(E,o.mul(I,O)),v=o.sub(T,o.mul(R,O)),V=o.sub(o.mul(w,R),o.mul(v,I)),S=o.neg(w),b=v;y.push([V,S,b]);let N=o.sqr(v),F=o.mul(N,v),B=o.mul(N,T),k=o.add(o.sub(F,o.mul(B,wu)),o.mul(o.sqr(w),O));return T=o.mul(v,k),E=o.sub(o.mul(o.sub(B,k),w),o.mul(F,E)),O=o.mul(O,F),{Rx:T,Ry:E,Rz:O}}let h=Wf(a),m=vr(y=>{let T=y,{x:E,y:O}=T.toAffine(),R=E,I=O,w=o.neg(O),v=R,V=I,S=o.ONE,b=[];for(let N of h){let F=[];({Rx:v,Ry:V,Rz:S}=l(F,v,V,S)),N&&({Rx:v,Ry:V,Rz:S}=f(F,v,V,S,R,N===-1?w:I)),b.push(F)}if(u){let N=b[b.length-1];u(v,V,S,R,I,f.bind(null,N))}return b});function g(y,T=!1){let E=i.ONE;if(y.length){let O=y[0][0].length;for(let R=0;R<O;R++){E=i.sqr(E);for(let[I,w,v]of y)for(let[V,S,b]of I[R])E=p(V,S,b,E,w,v)}}return c&&(E=i.conjugate(E)),T?i.finalExponentiate(E):E}function _(y,T=!0){let E=[];ot(t,y.map(({g1:O})=>O)),ot(r,y.map(({g2:O})=>O));for(let{g1:O,g2:R}of y){if(O.is0()||R.is0())throw new Error("pairing is not available for ZERO point");O.assertValidity(),R.assertValidity();let I=O.toAffine();E.push([m(R),I.x,I.y])}return g(E,T)}function x(y,T,E=!0){return _([{g1:y,g2:T}],E)}return{Fp12:i,millerLoopBatch:g,pairing:x,pairingBatch:_,calcPairingPrecomputes:m}}function Tu(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=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=Ho(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=Ho(t.Point.Fn,l);return u(d).assertValidity(),d.multiply(h)},verify(d,l,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let m=f.negate(),g=t.Point.BASE,_=u(l),x=d,y=s([p(m,_),p(g,x)]);return i.eql(y,i.ONE)},verifyBatch(d,l,f){if(Ra(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),m=l,g=f.map(a),_=new Map;for(let T=0;T<g.length;T++){let E=g[T],O=m[T],R=_.get(O);R===void 0&&(R=[],_.set(O,R)),R.push(E)}let x=[],y=t.Point.BASE;try{for(let[T,E]of _){let O=E.reduce((R,I)=>R.add(I));x.push(p(O,T))}return x.push(p(y.negate(),h)),i.eql(s(x),i.ONE)}catch{return!1}},aggregatePublicKeys(d){Ra(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){Ra(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){fe(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function Nu(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=Ea(e.G1),a=Object.assign(s,Ta(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Ea(e.G2),u=Object.assign(c,Ta(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=zf(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,m=Tu(p,a,u,e.G2.Signature,!1),g=Tu(p,u,a,e.G1.ShortSignature,!0),_=e.randomBytes||Bn,x=()=>{let A=Yi(r.ORDER);return _a(_(A),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:E}=e.G2;function O(A,C){return A instanceof a.Point?A:g.hash(le("point",A),C?.DST)}function R(A,C){return A instanceof u.Point?A:m.hash(le("point",A),C?.DST)}function I(A){return m.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function v(A,C,P){let D=R(A,P),U=m.sign(D,C);return A instanceof u.Point?U:E.toBytes(U)}function V(A,C,P){let D=O(A,P),U=g.sign(D,C);return A instanceof a.Point?U:T.toBytes(U)}function S(A,C,P,D){let U=R(C,D);return m.verify(A,U,P)}function b(A,C,P,D){let U=O(C,D);return g.verify(A,U,P)}function N(A){let C=m.aggregatePublicKeys(A);return A[0]instanceof a.Point?C:C.toBytes(!0)}function F(A){let C=m.aggregateSignatures(A);return A[0]instanceof u.Point?C:E.toBytes(C)}function B(A){let C=g.aggregateSignatures(A);return A[0]instanceof a.Point?C:T.toBytes(C)}function k(A,C,P,D){let U=C.map(te=>R(te,D));return m.verifyBatch(A,U,P)}return a.Point.BASE.precompute(4),{longSignatures:m,shortSignatures:g,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:k,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:i},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:y,getPublicKey:I,getPublicKeyForShortSignatures:w,sign:v,signShortSignature:V,verify:S,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:F,aggregateShortSignatures:B,G1:a,G2:u,Signature:E,ShortSignature:T}}var Ou=BigInt(0),sr=BigInt(1),qe=BigInt(2),Eu=BigInt(3);function Sa(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=sr;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function vu(e,t,r){let n=t.pow(r,(e.ORDER-sr)/Eu),o=t.pow(r,(e.ORDER-sr)/qe);function i(l,f){let h=t.mul(t.frobeniusMap(l,1),n),m=t.mul(t.frobeniusMap(f,1),o);return[h,m]}let s=t.pow(r,(e.ORDER**qe-sr)/Eu),a=t.pow(r,(e.ORDER**qe-sr)/qe);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,s),t.neg(f)]}let u=l=>(f,h)=>{let m=h.toAffine(),g=l(m.x,m.y);return f.fromAffine({x:g[0],y:g[1]})},p=u(i),d=u(c);return{psi:i,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var Ru=(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]}},va=class{constructor(t,r={}){this.MASK=sr;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=rr(o),this.BYTES=Math.ceil(rr(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,qe),this.NONRESIDUE=Ru(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=Sa(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Ru(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&Ou<=o&&o<i}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 Mo(this,t,r)}invertBatch(t){return nt(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:i,c1:s}=r;return{c0:this.Fp.add(n,i),c1:this.Fp.add(o,s)}}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:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),i=n.sub(t,r),s=n.add(t,t);return{c0:n.mul(o,i),c1:n.mul(s,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:i}=t;if(r.is0(i))return qo(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 s=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(i),this.Fp_NONRESIDUE))),a=r.mul(r.add(s,o),this.Fp_div2);qo(r,a)===-1&&(a=r.sub(a,s));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(i,this.Fp_div2),u)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,l=n.neg(d),{re:f,im:h}=n.reim(d),{re:m,im:g}=n.reim(l);return h>g||h===g&&f>m?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%qe,i=r===Ou,s=n%qe;return BigInt(o||i&&s)==sr}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return j(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){return{c0:this.Fp.cmov(t,n,i),c1:this.Fp.cmov(r,o,i)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),i=n.sqr(r);return{first:n.add(n.mulByNonresidue(i),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),i)}}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])}}},Ia=class{constructor(t){this.MASK=sr,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=Sa(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:i,c2:s}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,i),c2:a.add(n,s)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,i),c2:a.sub(n,s)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;if(typeof o=="bigint")return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)};let{c0:s,c1:a,c2:c}=o,u=i.mul(t,s),p=i.mul(r,a),d=i.mul(n,c);return{c0:i.add(u,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(p,d)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(u,p)),i.mulByNonresidue(d)),c2:i.sub(i.add(p,i.mul(i.add(t,n),i.add(s,c))),i.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),qe),a=o.mul(o.mul(r,n),qe),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),i),c1:o.add(o.mulByNonresidue(c),s),c2:o.sub(o.sub(o.add(o.add(s,o.sqr(o.add(o.sub(t,r),n))),a),i),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:i,c2:s}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,i)&&a.eql(n,s)}sqrt(t){return Yn()}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 Mo(this,t,r)}invertBatch(t){return nt(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),s=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,s),o.mul(r,a))),o.mul(t,i)));return{c0:o.mul(c,i),c1:o.mul(c,s),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return j(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,i,a),c2:c.cmov(n,s,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:i}=this;return{c0:i.frobeniusMap(t,o),c1:i.mul(i.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:i.mul(i.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.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:i}=this;return{c0:i.mulByNonresidue(i.mul(n,o)),c1:i.mul(t,o),c2:i.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,i){let{Fp2:s}=this,a=s.mul(t,o),c=s.mul(r,i);return{c0:s.add(s.mulByNonresidue(s.sub(s.mul(s.add(r,n),i),c)),a),c1:s.sub(s.sub(s.mul(s.add(o,i),s.add(t,r)),a),c),c2:s.add(s.sub(s.mul(s.add(t,n),o),a),c)}}},Aa=class{constructor(t,r){this.MASK=sr;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=Sa(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:i}=this;return i.eql(t,n)&&i.eql(r,o)}sqrt(t){Yn()}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:i}=o;return this.mul(t,typeof r=="bigint"?i.inv(i.create(r)):this.inv(r))}pow(t,r){return Mo(this,t,r)}invertBatch(t){return nt(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.add(t,n),c1:i.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.sub(t,n),c1:i.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:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return j(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){let{Fp6:s}=this;return{c0:s.cmov(t,n,i),c1:s.cmov(r,o,i)}}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:i,c1:s,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(i,c),c1:o.mul(s,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,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.mul01(t,n,o),u=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),u)}}mul034({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=s.mul01(r,o,i),p=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(p,s.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(i,u),{first:f,second:h}=o.Fp4Square(c,a),{first:m,second:g}=o.Fp4Square(s,p),_=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),qe),d),c1:o.add(o.mul(o.sub(f,s),qe),f),c2:o.add(o.mul(o.sub(m,a),qe),m)}),c1:n.create({c0:o.add(o.mul(o.add(_,c),qe),_),c1:o.add(o.mul(o.add(l,u),qe),l),c2:o.add(o.mul(o.add(h,p),qe),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),ru(r,o)&&(n=this.mul(n,t));return n}};function Iu(e){let t=ke(e.ORDER),r=new va(t,e),n=new Ia(r),o=new Aa(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Fe=BigInt(0),Qi=BigInt(1),it=BigInt(2),es=BigInt(3),$o=BigInt(4),Ar=BigInt("0xd201000000010000"),Yf=rr(Ar),vn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Fe,b:$o,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Zf=ke(vn.n,{modFromBytes:!0,isLE:!0}),{Fp:L,Fp2:J,Fp6:Xf,Fp12:Y}=Iu({ORDER:vn.p,X_LEN:Yf,FP2_NONRESIDUE:[Qi,Qi],Fp2mulByB:({c0:e,c1:t})=>{let r=L.mul(e,$o),n=L.mul(t,$o);return{c0:L.sub(r,n),c1:L.add(r,n)}},Fp12finalExponentiate:e=>{let t=Ar,r=Y.div(Y.frobeniusMap(e,6),e),n=Y.mul(Y.frobeniusMap(r,2),r),o=Y.conjugate(Y._cyclotomicExp(n,t)),i=Y.mul(Y.conjugate(Y._cyclotomicSquare(n)),o),s=Y.conjugate(Y._cyclotomicExp(i,t)),a=Y.conjugate(Y._cyclotomicExp(s,t)),c=Y.mul(Y.conjugate(Y._cyclotomicExp(a,t)),Y._cyclotomicSquare(o)),u=Y.conjugate(Y._cyclotomicExp(c,t)),p=Y.frobeniusMap(Y.mul(o,a),2),d=Y.frobeniusMap(Y.mul(s,n),3),l=Y.frobeniusMap(Y.mul(c,Y.conjugate(n)),1),f=Y.mul(Y.mul(u,Y.conjugate(i)),n);return Y.mul(Y.mul(Y.mul(p,d),l),f)}}),{G2psi:Au,G2psi2:Qf}=vu(L,J,J.div(J.ONE,J.NONRESIDUE)),Fa=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:L.ORDER,m:2,k:128,expand:"xmd",hash:Se}),Pa={p:J.ORDER,n:vn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:J.ZERO,b:J.fromBigTuple([$o,$o]),Gx:J.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:J.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},ts=Go(L.toBytes(Fe),{infinity:!0,compressed:!0});function rs(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 Go(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 eh(e,t,r){let{BYTES:n,ORDER:o}=L,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return ts.slice();let c=!!(a*it/o);return Go(we(s,n),{compressed:!0,sort:c})}else return i?j(Uint8Array.of(64),new Uint8Array(2*n-1)):j(we(s,n),we(a,n))}function Va(e){e.assertValidity();let{BYTES:t,ORDER:r}=L,{x:n,y:o}=e.toAffine();if(e.is0())return ts.slice();let i=!!(o*it/r);return Go(we(n,t),{compressed:!0,sort:i})}function th(e){let{compressed:t,infinity:r,sort:n,value:o}=rs(e),{BYTES:i,ORDER:s}=L;if(o.length===48&&t){let a=We(o),c=L.create(a&wt(L.BITS));if(r){if(c!==Fe)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Fe,y:Fe}}let u=L.add(L.pow(c,es),L.create(vn.b)),p=L.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*it/s!==BigInt(n)&&(p=L.neg(p)),{x:L.create(c),y:L.create(p)}}else if(o.length===96&&!t){let a=We(o.subarray(0,i)),c=We(o.subarray(i));if(r){if(a!==Fe||c!==Fe)throw new Error("G1: non-empty point at infinity");return Jo.G1.Point.ZERO.toAffine()}return{x:L.create(a),y:L.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Su(e){let{infinity:t,sort:r,value:n}=rs(le("signatureHex",e,48)),o=L.ORDER,i=Jo.G1.Point,s=We(n);if(t)return i.ZERO;let a=L.create(s&wt(L.BITS)),c=L.add(L.pow(a,es),L.create(vn.b)),u=L.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*it/o!==p&&(u=L.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function rh(e,t,r){let{BYTES:n,ORDER:o}=L,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return j(ts,we(Fe,n));let c=!!(a.c1===Fe?a.c0*it/o:a.c1*it/o);return j(Go(we(s.c1,n),{compressed:!0,sort:c}),we(s.c0,n))}else{if(i)return j(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=J.reim(s),{re:p,im:d}=J.reim(a);return j(we(u,n),we(c,n),we(d,n),we(p,n))}}function Ca(e){e.assertValidity();let{BYTES:t}=L;if(e.is0())return j(ts,we(Fe,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=J.reim(r),{re:s,im:a}=J.reim(n),u=!!((a>Fe?a*it:s*it)/L.ORDER&Qi),p=o;return j(Go(we(i,t),{sort:u,compressed:!0}),we(p,t))}function nh(e){let{BYTES:t,ORDER:r}=L,{compressed:n,infinity:o,sort:i,value:s}=rs(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>We(c.slice(u,p));if(s.length===96&&n){if(o){if(s.reduce((h,m)=>h!==0?m+1:m,0)>0)throw new Error("invalid G2 point: compressed");return{x:J.ZERO,y:J.ZERO}}let c=a(s,0,t),u=a(s,t,2*t),p=J.create({c0:L.create(u),c1:L.create(c)}),d=J.add(J.pow(p,es),Pa.b),l=J.sqrt(d),f=l.c1===Fe?l.c0*it/r:l.c1*it/r?Qi:Fe;return l=i&&f>0?l:J.neg(l),{x:p,y:l}}else if(s.length===192&&!n){if(o){if(s.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:J.ZERO,y:J.ZERO}}let c=a(s,0*t,1*t),u=a(s,1*t,2*t),p=a(s,2*t,3*t),d=a(s,3*t,4*t);return{x:J.fromBigTuple([u,c]),y:J.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function Fu(e){let{ORDER:t}=L,{infinity:r,sort:n,value:o}=rs(le("signatureHex",e)),i=Jo.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=We(o.slice(0,s)),c=We(o.slice(s));if(r)return i.ZERO;let u=L.create(a&wt(L.BITS)),p=L.create(c),d=J.create({c0:p,c1:u}),l=J.add(J.pow(d,es),Pa.b),f=J.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:m}=J.reim(f),g=BigInt(n),_=m>Fe&&m*it/t!==g,x=m===Fe&&h*it/t!==g;(_||x)&&(f=J.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var Jo=Nu({fields:{Fp:L,Fp2:J,Fp6:Xf,Fp12:Y,Fr:Zf},G1:{...vn,Fp:L,htfDefaults:{...Fa,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(L.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:ch,fromBytes:th,toBytes:eh,ShortSignature:{fromBytes(e){return fe(e),Su(e)},fromHex(e){return Su(e)},toBytes(e){return Va(e)},toRawBytes(e){return Va(e)},toHex(e){return H(Va(e))}}},G2:{...Pa,Fp:J,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...Fa},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:lh,isTorsionFree:(e,t)=>t.multiplyUnsafe(Ar).negate().equals(Au(e,t)),clearCofactor:(e,t)=>{let r=Ar,n=t.multiplyUnsafe(r).negate(),o=Au(e,t),i=t.double();return i=Qf(e,i),i=i.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),i=i.add(o),i=i.subtract(n),i.subtract(t)},fromBytes:nh,toBytes:rh,Signature:{fromBytes(e){return fe(e),Fu(e)},fromHex(e){return Fu(e)},toBytes(e){return Ca(e)},toRawBytes(e){return Ca(e)},toHex(e){return H(Ca(e))}}},params:{ateLoopSize:Ar,r:vn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:Fa,hash:Se}),oh=wa(J,[[["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=>J.fromBigTuple(t.map(BigInt))))),ih=wa(L,[["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)))),sh=Oa(L,{A:L.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:L.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:L.create(BigInt(11))}),ah=Oa(J,{A:J.create({c0:L.create(Fe),c1:L.create(BigInt(240))}),B:J.create({c0:L.create(BigInt(1012)),c1:L.create(BigInt(1012))}),Z:J.create({c0:L.create(BigInt(-2)),c1:L.create(BigInt(-1))})});function ch(e){let{x:t,y:r}=sh(L.create(e[0]));return ih(t,r)}function lh(e){let{x:t,y:r}=ah(J.fromBigTuple(e));return oh(t,r)}function Vu(e,t,r){let n=typeof e=="string"?e:H(e),o=typeof t=="string"?t:H(t),i=typeof r=="string"?r:H(r);return Jo.verifyShortSignature(o,i,n)}var dh=BigInt(1e6),Ba=e=>me(new _t(e)),ro=e=>{let r=Ba(e)/dh;return new Date(Number(r))};var Cu=60*1e3,ph=60,fh=24,hh=fh*ph,mh=5,_h=5,yh=30*hh,Ie;(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"})(Ie||(Ie={}));function gh(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var Sr=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??Vu,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=mh,s=!1,a){this._rootKey=r,this._canisterId=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=Je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&(this.#t=a)}lookup_path(t){return An(t,this.cert.tree)}lookup_subtree(t){return is(t,this.cert.tree)}async verify(){let t=await ns(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=bh(r),i=j(zo("ic-state-root"),t),s=Ve(this.lookup_path(["time"]));if(!s)throw ne.fromCode(new xr("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Cu,u=new Date,p=u.getTime()+a,d=p-c,l=p+_h*Cu,f=ro(s),h=f.getTime()<d,m=f.getTime()>l;if((h||m)&&this.#t&&!this.#t.hasSyncedTime())return await this.#t.syncTime(this._canisterId),await this.verify();if(h)throw Pe.fromCode(new fn(this._maxAgeInMinutes,f,u,a,"past"));if(m)throw this.#t?.hasSyncedTime()?ge.fromCode(new Be("System time has been synced with the IC network, but certificate is still too far in the future.")):Pe.fromCode(new fn(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Pe.fromCode(new xr("Invalid signature"))}catch(a){throw Pe.fromCode(new xr("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:yh,agent:this.#t});if(r.cert.delegation)throw ne.fromCode(new _i);await r.verify();let n=t.subnet_id,o=M.fromUint8Array(n);if(!Da({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw Pe.fromCode(new Dn(this._canisterId,o));let s=Ve(r.lookup_path(["subnet",n,"public_key"]));if(!s)throw Pe.fromCode(new yi(`Could not find subnet key for subnet ID ${o.toText()}`));return s}},Wo=Ne("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),xh=96;function bh(e){let t=Wo.byteLength+xh;if(e.byteLength!==t)throw ne.fromCode(new kn(t,e.byteLength));let r=e.slice(0,Wo.byteLength);if(!bn(r,Wo))throw ne.fromCode(new gi(Wo,r));return e.slice(Wo.byteLength)}function Ve(e){if(e.status===ze.Found&&e.value instanceof Uint8Array)return e.value}async function ns(e){switch(e[0]){case Ie.Empty:return Se(zo("ic-hashtree-empty"));case Ie.Pruned:return e[1];case Ie.Leaf:return Se(j(zo("ic-hashtree-leaf"),e[1]));case Ie.Labeled:return Se(j(zo("ic-hashtree-labeled"),e[1],await ns(e[2])));case Ie.Fork:return Se(j(zo("ic-hashtree-fork"),await ns(e[1]),await ns(e[2])));default:throw Tr}}function zo(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return j(t,r)}function Pu(e){return typeof e[0]=="string"?ee(e[0]):e[0]}var ze;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(ze||(ze={}));var In;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(In||(In={}));var ae;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ae||(ae={}));function An(e,t){if(e.length===0)switch(t[0]){case Ie.Empty:return{status:ze.Absent};case Ie.Leaf:{if(!t[1])throw ge.fromCode(new wr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:ze.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw Tr}case Ie.Pruned:return{status:ze.Unknown};case Ie.Labeled:case Ie.Fork:return{status:ze.Error};default:throw Tr}let r=Pu(e),n=Yo(r,t);switch(n.status){case ae.Found:return An(e.slice(1),n.value);case ae.Absent:case ae.Greater:case ae.Less:return{status:ze.Absent};case ae.Unknown:return{status:ze.Unknown};default:throw Tr}}function is(e,t){if(e.length===0)return{status:In.Found,value:t};let r=Pu(e),n=Yo(r,t);switch(n.status){case ae.Found:return is(e.slice(1),n.value);case ae.Unknown:return{status:In.Unknown};case ae.Absent:case ae.Greater:case ae.Less:return{status:In.Absent};default:throw Tr}}function os(e){switch(e[0]){case Ie.Empty:return[];case Ie.Fork:return os(e[1]).concat(os(e[2]));default:return[e]}}function Yo(e,t){switch(t[0]){case Ie.Labeled:return gh(e,t[1])?{status:ae.Greater}:bn(e,t[1])?{status:ae.Found,value:t[2]}:{status:ae.Less};case Ie.Fork:{let r=Yo(e,t[1]);switch(r.status){case ae.Greater:{let n=Yo(e,t[2]);return n.status===ae.Less?{status:ae.Absent}:n}case ae.Unknown:{let n=Yo(e,t[2]);return n.status===ae.Less?{status:ae.Unknown}:n}default:return r}}case Ie.Pruned:return{status:ae.Unknown};default:return{status:ae.Absent}}}function Da(e){let{canisterId:t,subnetId:r,tree:n}=e,o=An(["subnet",r.toUint8Array(),"canister_ranges"],n);if(o.status!==ze.Found)throw ne.fromCode(new Wt(`Could not find canister ranges for subnet ${r.toText()}`,o.status));if(!(o.value instanceof Uint8Array))throw ne.fromCode(new Un(`Could not find canister ranges for subnet ${r.toText()}`));return Je(o.value).map(c=>[M.fromUint8Array(c[0]),M.fromUint8Array(c[1])]).some(c=>c[0].ltEq(t)&&c[1].gtEq(t))}var Ua=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=M.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=Th(c,o);return(async()=>{try{if(t.rootKey===null)throw Oe.fromCode(new Rt);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await Sr.create({certificate:l.certificate,rootKey:d,canisterId:o,disableTimeVerification:n,agent:t}),h=(_,x)=>{if(x==="subnet"){let y=wh(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:Ve(_.lookup_path(p))}},{path:m,data:g}=h(f,i[u]);if(!g)console.warn(`Expected to find result for path ${m}, but instead found nothing.`),typeof m=="string"?s.set(m,null):s.set(m.key,null);else switch(m){case"time":{s.set(m,ro(g));break}case"controllers":{s.set(m,Nh(g));break}case"module_hash":{s.set(m,H(g));break}case"subnet":{s.set(m,g);break}case"candid":{s.set(m,new TextDecoder().decode(g));break}default:if(typeof m!="string"&&"key"in m&&"path"in m)switch(m.decodeStrategy){case"raw":s.set(m.key,g);break;case"leb128":{s.set(m.key,Ba(g));break}case"cbor":{s.set(m.key,Je(g));break}case"hex":{s.set(m.key,H(g));break}case"utf-8":s.set(m.key,new TextDecoder().decode(g))}}}catch(d){if(d instanceof ht&&(d.hasCode(xr)||d.hasCode(fn)))throw d;typeof c!="string"&&"key"in c&&"path"in c?s.set(c.key,null):s.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),s},wh=(e,t,r)=>{if(!t._isPrincipal)throw W.fromCode(new Be("Invalid canisterId"));let n=Je(e),o=n.tree,i=n.delegation,s;if(i&&i.subnet_id?s=M.fromUint8Array(new Uint8Array(i.subnet_id)):!i&&typeof r<"u"?(s=M.selfAuthenticating(new Uint8Array(r)),i={subnet_id:s.toUint8Array(),certificate:new Uint8Array(0)}):(s=M.selfAuthenticating(M.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").toUint8Array()),i={subnet_id:s.toUint8Array(),certificate:new Uint8Array(0)}),!Da({canisterId:t,subnetId:s,tree:o}))throw Pe.fromCode(new Dn(t,s));let c=is(["subnet",i.subnet_id,"node"],o);if(c.status!==In.Found)throw ne.fromCode(new Wt("Node not found",c.status));if(c.value instanceof Uint8Array)throw ge.fromCode(new wr("Invalid node tree"));let u=os(c.value),p=new Map;return u.forEach(d=>{let l=M.from(d[1]).toText(),f=An(["public_key"],d[2]);if(f.status!==ze.Found)throw ne.fromCode(new Wt("Public key not found",f.status));let h=f.value;if(h.byteLength!==44)throw ne.fromCode(new kn(44,h.byteLength));p.set(l,h)}),{subnetId:M.fromUint8Array(new Uint8Array(i.subnet_id)).toText(),nodeKeys:p}},Th=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[ee("time")];case"controllers":return[ee("canister"),r,ee("controllers")];case"module_hash":return[ee("canister"),r,ee("module_hash")];case"subnet":return[ee("subnet")];case"candid":return[ee("canister"),r,ee("metadata"),ee("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"?ee(n):n;return[ee("canister"),r,ee("metadata"),o]}else return e.path}throw ge.fromCode(new Be(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))},Nh=e=>Je(e).map(r=>M.fromUint8Array(r));var Fr=BigInt(0),Re=BigInt(1),ka=BigInt(2),Oh=BigInt(8);function Eh(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function Rh(e,t={}){let r=Zi("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;nr(t,{},{uvRatio:"function"});let a=ka<<BigInt(o.BYTES*8)-Re,c=g=>n.create(g),u=t.uvRatio||((g,_)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,_))}}catch{return{isValid:!1,value:Fr}}});if(!Eh(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,_,x=!1){let y=x?Re:Fr;return Wi("coordinate "+g,_,y,a),_}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=vr((g,_)=>{let{X:x,Y:y,Z:T}=g,E=g.is0();_==null&&(_=E?Oh:n.inv(T));let O=c(x*_),R=c(y*_),I=n.mul(T,_);if(E)return{x:Fr,y:Re};if(I!==Re)throw new Error("invZ was invalid");return{x:O,y:R}}),f=vr(g=>{let{a:_,d:x}=i;if(g.is0())throw new Error("bad point: ZERO");let{X:y,Y:T,Z:E,T:O}=g,R=c(y*y),I=c(T*T),w=c(E*E),v=c(w*w),V=c(R*_),S=c(w*c(V+I)),b=c(v+c(x*c(R*I)));if(S!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),F=c(E*O);if(N!==F)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(_,x,y,T){this.X=p("x",_),this.Y=p("y",x),this.Z=p("z",y,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return i}static fromAffine(_){if(_ instanceof h)throw new Error("extended point not allowed");let{x,y}=_||{};return p("x",x),p("y",y),new h(x,y,Re,c(x*y))}static fromBytes(_,x=!1){let y=n.BYTES,{a:T,d:E}=i;_=pa(Rr(_,y,"point")),Nn(x,"zip215");let O=pa(_),R=_[y-1];O[y-1]=R&-129;let I=tr(O),w=x?a:n.ORDER;Wi("point.y",I,Fr,w);let v=c(I*I),V=c(v-Re),S=c(E*v-T),{isValid:b,value:N}=u(V,S);if(!b)throw new Error("bad point: invalid y coordinate");let F=(N&Re)===Re,B=(R&128)!==0;if(!x&&N===Fr&&B)throw new Error("bad point: x=0 and x_0=1");return B!==F&&(N=c(-N)),h.fromAffine({x:N,y:I})}static fromHex(_,x=!1){return h.fromBytes(le("point",_),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(_=8,x=!0){return m.createCache(this,_),x||this.multiply(ka),this}assertValidity(){f(this)}equals(_){d(_);let{X:x,Y:y,Z:T}=this,{X:E,Y:O,Z:R}=_,I=c(x*R),w=c(E*T),v=c(y*R),V=c(O*T);return I===w&&v===V}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:_}=i,{X:x,Y:y,Z:T}=this,E=c(x*x),O=c(y*y),R=c(ka*c(T*T)),I=c(_*E),w=x+y,v=c(c(w*w)-E-O),V=I+O,S=V-R,b=I-O,N=c(v*S),F=c(V*b),B=c(v*b),k=c(S*V);return new h(N,F,k,B)}add(_){d(_);let{a:x,d:y}=i,{X:T,Y:E,Z:O,T:R}=this,{X:I,Y:w,Z:v,T:V}=_,S=c(T*I),b=c(E*w),N=c(R*y*V),F=c(O*v),B=c((T+E)*(I+w)-S-b),k=F-N,A=F+N,C=c(b-x*S),P=c(B*k),D=c(A*C),U=c(B*C),te=c(k*A);return new h(P,D,te,U)}subtract(_){return this.add(_.negate())}multiply(_){if(!o.isValidNot0(_))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:y}=m.cached(this,_,T=>ot(h,T));return ot(h,[x,y])[0]}multiplyUnsafe(_,x=h.ZERO){if(!o.isValid(_))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return _===Fr?h.ZERO:this.is0()||_===Re?this:m.unsafe(this,_,y=>ot(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return m.unsafe(this,i.n).is0()}toAffine(_){return l(this,_)}clearCofactor(){return s===Re?this:this.multiplyUnsafe(s)}toBytes(){let{x:_,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=_&Re?128:0,y}toHex(){return H(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(_){return ot(h,_)}static msm(_,x){return Qn(h,o,_,x)}_setWindowSize(_){this.precompute(_)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,Re,c(i.Gx*i.Gy)),h.ZERO=new h(Fr,Re,Re,Fr),h.Fp=n,h.Fn=o;let m=new Xn(h,o.BITS);return h.BASE.precompute(8),h}var ss=class{constructor(t){this.ep=t}static fromBytes(t){Yn()}static fromHex(t){Yn()}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 H(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 vh(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');nr(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=r.randomBytes||Bn,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,v,V)=>{if(Nn(V,"phflag"),v.length||V)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(tr(w))}function d(w){let v=y.secretKey;w=le("private key",w,v);let V=le("hashed private key",t(w),2*v),S=c(V.slice(0,v)),b=V.slice(v,2*v),N=p(S);return{head:S,prefix:b,scalar:N}}function l(w){let{head:v,prefix:V,scalar:S}=d(w),b=o.multiply(S),N=b.toBytes();return{head:v,prefix:V,scalar:S,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...v){let V=j(...v);return p(t(u(V,le("context",w),!!n)))}function m(w,v,V={}){w=le("message",w),n&&(w=n(w));let{prefix:S,scalar:b,pointBytes:N}=l(v),F=h(V.context,S,w),B=o.multiply(F).toBytes(),k=h(V.context,B,N,w),A=s.create(F+k*b);if(!s.isValid(A))throw new Error("sign failed: invalid s");let C=j(B,s.toBytes(A));return Rr(C,y.signature,"result")}let g={zip215:!0};function _(w,v,V,S=g){let{context:b,zip215:N}=S,F=y.signature;w=le("signature",w,F),v=le("message",v),V=le("publicKey",V,y.publicKey),N!==void 0&&Nn(N,"zip215"),n&&(v=n(v));let B=F/2,k=w.subarray(0,B),A=tr(w.subarray(B,F)),C,P,D;try{C=e.fromBytes(V,N),P=e.fromBytes(k,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&C.isSmallOrder())return!1;let U=h(b,P.toBytes(),C.toBytes(),v);return P.add(C.multiplyUnsafe(U)).subtract(D).clearCofactor().is0()}let x=i.BYTES,y={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(y.seed)){return Rr(w,y.seed,"seed")}function E(w){let v=I.randomSecretKey(w);return{secretKey:v,publicKey:f(v)}}function O(w){return Ot(w)&&w.length===s.BYTES}function R(w,v){try{return!!e.fromBytes(w,v)}catch{return!1}}let I={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:O,isValidPublicKey:R,toMontgomery(w){let{y:v}=e.fromBytes(w),V=y.publicKey,S=V===32;if(!S&&V!==57)throw new Error("only defined for 25519 and 448");let b=S?i.div(Re+v,Re-v):i.div(v-Re,v+Re);return i.toBytes(b)},toMontgomerySecret(w){let v=y.secretKey;Rr(w,v);let V=t(w.subarray(0,v));return c(V).subarray(0,v)},randomPrivateKey:T,precompute(w=8,v=e.BASE){return v.precompute(w,!1)}};return Object.freeze({keygen:E,getPublicKey:f,sign:m,verify:_,utils:I,Point:e,lengths:y})}function Ih(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=ke(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:i}}function Ah(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Bu(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Ih(e),i=Rh(t,r),s=vh(i,n,o);return Ah(e,s)}var Sh=BigInt(0),ar=BigInt(1),Du=BigInt(2),cg=BigInt(3),Fh=BigInt(5),Vh=BigInt(8),no=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Zo={p:no,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Vh,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Ch(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=no,a=e*e%i*e%i,c=Tt(a,Du,i)*a%i,u=Tt(c,ar,i)*e%i,p=Tt(u,Fh,i)*u%i,d=Tt(p,t,i)*p%i,l=Tt(d,r,i)*d%i,f=Tt(l,n,i)*l%i,h=Tt(f,o,i)*f%i,m=Tt(h,o,i)*f%i,g=Tt(m,t,i)*p%i;return{pow_p_5_8:Tt(g,Du,i)*e%i,b2:a}}function Ph(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var La=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function ja(e,t){let r=no,n=se(t*t*t,r),o=se(n*n*t,r),i=Ch(e*o).pow_p_5_8,s=se(e*n*i,r),a=se(t*s*s,r),c=s,u=se(s*La,r),p=a===e,d=a===se(-e,r),l=a===se(-e*La,r);return p&&(s=c),(d||l)&&(s=u),or(s,r)&&(s=se(-s,r)),{isValid:p||d,value:s}}var Vr=ke(Zo.p,{isLE:!0}),Bh=ke(Zo.n,{isLE:!0}),Dh={...Zo,Fp:Vr,hash:al,adjustScalarBytes:Ph,uvRatio:ja},Me=Bu(Dh);var qa=La,Uh=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),kh=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Lh=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),qh=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Uu=e=>ja(ar,e),Mh=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Ma=e=>Me.Point.Fp.create(tr(e)&Mh);function ku(e){let{d:t}=Zo,r=no,n=_=>Vr.create(_),o=n(qa*e*e),i=n((o+ar)*Lh),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=ja(i,a),p=n(u*e);or(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-ar)*qh-a),l=u*u,f=n((u+u)*a),h=n(d*Uh),m=n(ar-l),g=n(ar+l);return new Me.Point(n(f*g),n(m*h),n(h*g),n(f*m))}function jh(e){fe(e,64);let t=Ma(e.subarray(0,32)),r=ku(t),n=Ma(e.subarray(32,64)),o=ku(n);return new cr(r.add(o))}var cr=class e extends ss{constructor(t){super(t)}static fromAffine(t){return new e(Me.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return jh(le("ristrettoHash",t,64))}static fromBytes(t){fe(t,32);let{a:r,d:n}=Zo,o=no,i=T=>Vr.create(T),s=Ma(t);if(!tu(Vr.toBytes(s),t)||or(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(ar+r*a),u=i(ar-r*a),p=i(c*c),d=i(u*u),l=i(r*n*p-d),{isValid:f,value:h}=Uu(i(l*d)),m=i(h*u),g=i(h*m*l),_=i((s+s)*m);or(_,o)&&(_=i(-_));let x=i(c*g),y=i(_*x);if(!f||or(y,o)||x===Sh)throw new Error("invalid ristretto255 encoding 2");return new e(new Me.Point(_,x,ar,y))}static fromHex(t){return e.fromBytes(le("ristrettoHex",t,32))}static msm(t,r){return Qn(e,Me.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=no,s=g=>Vr.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=Uu(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(or(o*f,i)){let g=s(r*qa),_=s(t*qa);t=g,r=_,h=s(d*kh)}else h=l;or(t*f,i)&&(r=s(-r));let m=s((n-r)*h);return or(m,i)&&(m=s(-m)),Vr.toBytes(m)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>Vr.create(u),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};cr.BASE=new cr(Me.Point.BASE);cr.ZERO=new cr(Me.Point.ZERO);cr.Fp=Vr;cr.Fn=Bh;var Lu,qu,as=class{static{Lu=Symbol.iterator,qu=Symbol.toStringTag}#e;#t;constructor(t={}){this[Lu]=this.entries.bind(this),this[qu]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([i,s])=>[i,{value:s,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 Mu=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 xo("Length too long (> 4 bytes)"))},ju=(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 xo("Length too long (> 4 bytes)"))},Ka=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw W.fromCode(new mt("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 mt("Length too long (> 4 bytes)"))},Kh=(e,t)=>{let r=Ka(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 mt("Length too long (> 4 bytes)"))},Xo=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Sn=Uint8Array.from([48,5,6,3,43,101,112]),fg=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),hg=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 Fn(e,t){let r=2+Mu(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+Mu(n)+n);return i[o++]=48,o+=ju(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=ju(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var Vn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw W.fromCode(new mt(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=Ka(o,r),!bn(o.slice(r,r+t.byteLength),t))throw W.fromCode(new mt("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Kh(o,r)-1;r+=Ka(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw W.fromCode(new xi(i,s.length));return s};var cs=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 Fn(t,Sn)}static derDecode(t){let r=Vn(t,Sn);if(r.length!==this.RAW_KEY_LENGTH)throw W.fromCode(new mt("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 mt("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 Ha=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))}},ls=class extends Ha{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 us=class e{#e;#t;#r;#c;#s;#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:i=6e4,maxElapsedTime:s=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#c=i,this.#o=c,this.#s=c.now(),this.#u=s,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#s}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 Vt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(Vt||(Vt={}));var Ja=60*1e3,Hh=1e6,$h=0,Gh="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Jh="ic0.app",Wh=".ic0.app",zh="icp0.io",Yh=".icp0.io",Zh="icp-api.io",Xh=".icp-api.io",$a=200,Qh=202,em=404;function tm(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw Oe.fromCode(new qn("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 Oe.fromCode(new qn("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 Oe.fromCode(new qn("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function rm(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,i=o?.hostname,s;i&&typeof i=="string"&&(n.some(a=>i.endsWith(a))?s=i:s=r.find(a=>i.endsWith(a))),o&&s?t=new URL(`${o.protocol}//${s}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var lr=class e{#e;#t;#r;#c;#s;#u;#n;#o;#a;#x;#i;#d;#p;#l;get#N(){return this.#l*Ja}#f;#h;#m;#_;constructor(t={}){this.#e=null,this.#t=!1,this.#r=$h,this.#c=!1,this.#s=null,this.#u=!1,this._isAgent=!0,this.config={},this.log=new ls,this.#f=[],this.#h=[],this.#m=new as({expirationTime:5*Ja}),this.#_=!0,this.#w=(o,i)=>{if(this.#_===!1)return o;let{status:s,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=M.fromUint8Array(d).toText(),f;if(s===hr.Replied){let{reply:x}=o;f=Fo({status:s,reply:x,timestamp:BigInt(p),request_id:c})}else if(s===hr.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Fo({status:s,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw ge.fromCode(new Be(`Unknown status: ${s}`));let h=j(ta,f),m=i.nodeKeys.get(l);if(!m)throw ne.fromCode(new Si);let g=cs.fromDer(m).rawKey;if(Me.verify(u.signature,h,g))return o;throw Pe.fromCode(new Fi(l))}return o},this.config=t,this.#o=t.fetch||tm()||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=Ne(Gh);let r=rm(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#d=t.retryTimes??3;let n=()=>new us({maxIterations:this.#d});if(this.#p=t.backoffStrategy||n,this.host.hostname.endsWith(Wh)?this.host.hostname=Jh:this.host.hostname.endsWith(Yh)?this.host.hostname=zh:this.host.hostname.endsWith(Xh)&&(this.host.hostname=Zh),t.credentials){let{name:o,password:i}=t.credentials;this.#i=`${o}${i?":"+i:""}`}if(this.#n=Promise.resolve(t.identity||new rt),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw W.fromCode(new mn("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw W.fromCode(new mn("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",ca(Lo)),t.useQueryNonces&&this.addTransform("query",ca(Lo)),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 vi)}}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(i=>(i.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(i=>(i.priority||0)<n);this.#f.splice(o>=0?o:this.#f.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw Oe.fromCode(new br);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw Oe.fromCode(new br);let s=M.from(t),a=r.effectiveCanisterId?M.from(r.effectiveCanisterId):s;await this.#g(a);let c=i.getPrincipal(),u=Ga(this.#l,this.#r),p={request_type:Hi.Call,canister_id:s,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.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:er.Call,body:p}),l;r?.nonce?l=f(r.nonce):d.body.nonce?l=f(d.body.nonce):l=void 0,p.nonce=l;function f(_){return Object.assign(_,{__nonce__:void 0})}d=await i.transformRequest(d);let h=Uo(d.body),m=this.#p(),g=Xt(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,...E}=await this.#y({requestFn:y,backoff:m,tries:0}),O=T.byteLength>0?Je(T):null;return{requestId:g,response:{...E,body:O},requestDetails:p}}catch(_){let x;if(_ instanceof ht){if(_.hasCode(wo))return this.log.warn("v3 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(_.hasCode(mn)&&!this.#c)return await this.syncTime(s),this.call(s,r,n);_.code.requestContext={requestId:g,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=_}else x=ge.fromCode(new Be(_));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next();if(this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ge.fromCode(new hn(`Backoff strategy exhausted after ${a} attempts.`,i));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($n(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:Gi(f.headers)},requestId:i};else throw ne.fromCode(new bo(f.status,f.statusText,Gi(f.headers),await f.text()))}catch(f){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
|
|
53
53
|
${f}
|
|
54
54
|
Retrying query.`),await this.#b({...t,tries:a+1});throw f instanceof ht?f:go.fromCode(new To(f))}if(!this.#_)return u;let p=u.signatures?.[0]?.timestamp;if(!p)throw ne.fromCode(new Ii("Timestamp not found in query response. This suggests a malformed or malicious response."));let d=Number(BigInt(p)/BigInt(Hh));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:i,signatureTimestampMs:d}),await this.#b({...t,tries:a+1});throw Pe.fromCode(new Ti(this.#l,i,a))}return u}async#y(t){let{requestFn:r,backoff:n,tries:o}=t,i=o===0?0:n.next();if(i===null)throw ne.fromCode(new hn(`Retry strategy exhausted after ${o} attempts.`));i>0&&await new Promise(p=>setTimeout(p,i));let s,a=new Uint8Array;try{s=await r(),s.status===$a&&(a=$n(await s.clone().arrayBuffer()))}catch(p){if(o<this.#d)return this.log.warn(`Caught exception while attempting to make request:
|
|
55
55
|
${p}
|
|
56
|
-
Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw go.fromCode(new To(p))}let c=Gi(s.headers);if(s.status===$a||s.status===Qh)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let u=await s.text();if(s.status===em&&s.url.includes("api/v3"))throw ne.fromCode(new wo);if(u.startsWith("Invalid request expiry: "))throw z.fromCode(new mn(u,this.#l));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw ne.fromCode(new bo(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#p(),i=r.effectiveCanisterId?M.from(r.effectiveCanisterId):M.from(t);await this.#g(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw Oe.fromCode(new br);let c=M.from(t),u=a.getPrincipal(),p=Ga(this.#l,this.#r),d={request_type:Tn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=Xt(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:er.Query,body:d}),s=await a.transformRequest(s);let f=Uo(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:l,backoff:o,tries:0},m=async()=>{let _=await this.#b(h);return{requestDetails:d,..._}},g=async()=>{let _=this.#m.get(i.toString());if(_)return _;await this.fetchSubnetKeys(i.toString());let x=this.#m.get(i.toString());if(!x)throw Pe.fromCode(new Ai);return x};try{if(!this.#_)return await m();let[_,x]=await Promise.all([m(),g()]);try{return this.#w(_,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#m.delete(i.toString());let y=await g();return this.#w(_,y)}}catch(_){let x;throw _ instanceof ht?(_.code.requestContext={requestId:l,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},x=_):x=ge.fromCode(new Be(_)),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 Oe.fromCode(new br);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:er.ReadState,body:{request_type:Tn.ReadState,paths:t.paths,sender:o,ingress_expiry:Ga(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#T();let i=M.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(bn(l,h))return f}}let a,c;if(o)a=o,c=Xt(a);else{c=s(r);let p=await this.#n;if(!p)throw Oe.fromCode(new br);a=await this.createReadStateRequest(r,p)}this.log.print(`fetching "/api/v2/canister/${i}/read_state" with request:`,a);let u=this.#p();try{let{responseBodyBytes:p}=await this.#y({requestFn:()=>this.#o(""+new URL(`/api/v2/canister/${i.toString()}/read_state`,this.host),{...this.#a,...a.request,body:Uo(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 ht?(p.code.requestContext={requestId:c,senderPubKey:a.body.sender_pubkey,senderSignature:a.body.sender_sig,ingressExpiry:a.body.content.ingress_expiry},d=p):d=ge.fromCode(new Be(p)),this.log.error(`Error while making read state: ${d.message}`,d),d}}parseTimeFromResponse(t){let r;if(t.certificate){let n=Je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw ne.fromCode(new wr("Could not decode time from response"));let o=An(["time"],r);if(o.status!==We.Found)throw ne.fromCode(new zt("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 ne.fromCode(new Un("Time was not in its expected format."));let i=ro(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#s=this.#s??(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??M.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new rt,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),s=(await Promise.all(Array(3).fill(null).map(async()=>{let c=(await Ua({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);s>0&&(this.#r=s-r,this.#c=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}catch(n){let o=n instanceof ht?n:ge.fromCode(new Be(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#s.finally(()=>{this.#s=null})}async status(){let t=this.#i?{Authorization:"Basic "+btoa(this.#i)}:{};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 Oe.fromCode(new Rt(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=M.from(t);await this.#g(r);let o=(await Ua({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===er.Call)for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#f)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#c}};function Ga(e,t){let r=e*Ja;return Wn.fromDeltaInMilliseconds(r,t)}var nm=300*1e3;function Ku(){return cm(im(om(),1e3),am(1e3,1.2),sm(nm))}function om(){let e=!0;return async()=>e?(e=!1,!0):!1}function im(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function sm(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw ne.fromCode(new hn(`Request timed out after ${e} msec`,n,o))}}function am(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function cm(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var $u={preSignReadStateRequest:!1};function Gu(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function za(e,t){return e!==null&&typeof e=="object"&&Gu(e,t)}function um(e,t){return Gu(e,t)&&typeof e[t]=="function"}function Hu(e){return za(e,"body")&&za(e.body,"content")&&e.body.content.request_type===Tn.ReadState&&za(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&um(e.body.content.ingress_expiry,"toHash")}async function Wa(e,t,r,n={}){let o=[ee("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await dm({paths:[o],agent:e,pollingOptions:n}),i=await e.readState(t,{paths:[o]},void 0,s)):i=await e.readState(t,{paths:[o]}),e.rootKey==null)throw Oe.fromCode(new Rt);let c=await Sr.create({certificate:i.certificate,rootKey:e.rootKey,canisterId:t,blsVerify:n.blsVerify,agent:e}),u=Ve(c.lookup_path([...o,ee("status")])),p;switch(typeof u>"u"?p=Vt.Unknown:p=new TextDecoder().decode(u),p){case Vt.Replied:return{reply:Ve(c.lookup_path([...o,"reply"])),certificate:c};case Vt.Received:case Vt.Unknown:case Vt.Processing:{let d=n.strategy??Ku();return await d(t,r,p),Wa(e,t,r,{...n,strategy:d,request:s})}case Vt.Rejected:{let d=new Uint8Array(Ve(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(Ve(c.lookup_path([...o,"reject_message"]))),f=Ve(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw gr.fromCode(new Ln(r,d,l,h))}case Vt.Done:throw ge.fromCode(new Ei(r))}throw Tr}async function dm(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&Hu(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!Hu(o))throw z.fromCode(new Vi(o));return o}var st=Symbol.for("ic-agent-metadata"),io=class e{static agentOf(t){return t[st].config.agent}static interfaceOf(t){return t[st].service}static canisterIdOf(t){return M.from(t[st].config.canisterId)}static createActorClass(t,r){let n=t({IDL:xn});class o extends e{constructor(s){if(!s.canisterId)throw z.fromCode(new No(s.canisterId));let a=typeof s.canisterId=="string"?M.fromText(s.canisterId):s.canisterId;super({config:{...Ju,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Ya),r?.certificate&&u.annotations.push(zu),this[c]=fm(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw z.fromCode(new No(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[st]=Object.freeze(t)}};function oo(e,t){let r=xn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Ju={pollingOptions:$u},Ya="http-details",zu="certificate";function fm(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[st].config.queryTransform?.(t,a,{...e[st].config,...s})};let c=s.agent||e[st].config.agent||new lr,u=M.from(s.canisterId||e[st].config.canisterId),p=xn.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:s.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case hr.Rejected:{let f=new Ni(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},gr.fromCode(f)}case hr.Replied:return r.annotations.includes(Ya)?{httpDetails:l,result:oo(r.retTypes,d.reply.arg)}:oo(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[st].config.callTransform?.(t,a,{...e[st].config,...s})};let c=s.agent||e[st].config.agent||lr.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...Ju,...e[st].config,...s},l=M.from(u),f=p!==void 0?M.from(p):l,h=xn.encode(r.argTypes,a),{requestId:m,response:g,requestDetails:_}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:s.nonce}),x,y;if(jc(g.body)){if(c.rootKey==null)throw Oe.fromCode(new Rt);let R=g.body.certificate;y=await Sr.create({certificate:R,rootKey:c.rootKey,canisterId:f,blsVerify:n,agent:c});let I=[ee("request_status"),m];switch(new TextDecoder().decode(Ve(y.lookup_path([...I,"status"])))){case"replied":x=Ve(y.lookup_path([...I,"reply"]));break;case"rejected":{let v=new Uint8Array(Ve(y.lookup_path([...I,"reject_code"])))[0],V=new TextDecoder().decode(Ve(y.lookup_path([...I,"reject_message"]))),S=Ve(y.lookup_path([...I,"error_code"])),b=S?new TextDecoder().decode(S):void 0,N=new Ln(m,v,V,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},gr.fromCode(N)}}}else if(Mc(g.body)){let{reject_code:R,reject_message:I,error_code:w}=g.body,v=new Oi(m,R,I,w);throw v.callContext={canisterId:l,methodName:t,httpDetails:g},gr.fromCode(v)}if(g.status===202){let R={...d,blsVerify:n},I=await Wa(c,f,m,R);y=I.certificate,x=I.reply}let T=r.annotations.includes(Ya),E=r.annotations.includes(zu),O={...g,requestDetails:_};if(x!==void 0)return T&&E?{httpDetails:O,certificate:y,result:oo(r.retTypes,x)}:E?{certificate:y,result:oo(r.retTypes,x)}:T?{httpDetails:O,result:oo(r.retTypes,x)}:oo(r.retTypes,x);{let R=new Be(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(I=>I.display()).join(",")}].`);throw R.callContext={canisterId:l,methodName:t,httpDetails:O},ge.fromCode(R)}};let i=(...s)=>o({},...s);return i.withOptions=s=>(...a)=>o(s,...a),i}var hm=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(hm||{}),Nx=BigInt(1e8);var q=e=>e==null,X=e=>!q(e),ec=e=>X(e)&&e!=="",so=e=>!ec(e);var mm=class extends Error{},ei=(e,t)=>{if(e==null)throw new mm(t)};var ur=e=>new Uint8Array(e),ds=e=>Array.from(e);var Yu=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var Wu="abcdefghijklmnopqrstuvwxyz234567",Qo=Object.create(null);for(let e=0;e<Wu.length;e++)Qo[Wu[e]]=e;Qo[0]=Qo.o;Qo[1]=Qo.i;var Cr=e=>btoa(String.fromCharCode(...new Uint8Array(e))),Zu=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Ox=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 Za="__bigint__",Xa="__principal__",Qa="__uint8array__",Xu=(e,t)=>typeof t=="bigint"?{[Za]:`${t}`}:X(t)&&M.isPrincipal(t)?{[Xa]:M.from(t).toText()}:X(t)&&t instanceof Uint8Array?{[Qa]:Array.from(t)}:t,Qu=(e,t)=>{let r=n=>t[n];return X(t)&&typeof t=="object"&&Za in t?BigInt(r(Za)):X(t)&&typeof t=="object"&&Xa in t?M.fromText(r(Xa)):X(t)&&typeof t=="object"&&Qa in t?Uint8Array.from(r(Qa)):t};var ue=e=>X(e)?[e]:[],ye=e=>e?.[0];var _m=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=ym({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},ym=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?ds(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 gm(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,i)=>t.setUint8(i,o));let n=t.getUint16(0);return e.slice(55+n)}function xm(e){return Fn(e,Xo)}var bm=class{constructor(e){this._cose=e,this.#e=xm(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},od=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new bm(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Cr(this.#e)}},wm=class extends od{#e;#t;constructor({authData:e,...t}){super(t);let r=_m({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}},Tm=class extends od{},Nm=class extends Error{},Om=class extends Error{},Em=class extends Error{},Rm=class extends Error{},vm=class extends Error{},Im=class extends Error{},Am=class extends Error{},ed=class extends Error{};var Sm={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Fm=6e4,id=()=>window.crypto.getRandomValues(new Uint8Array(16)),Vm=()=>id(),Cm=()=>id(),Pm=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new Nm}},sd=({appId:e})=>e?.id??Pm(),Bm=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:sd({appId:e})}}),o=()=>({user:{id:Cm(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:Vm(),...n(),...o(),pubKeyCredParams:Object.values(Sm).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},Dm=(e={})=>({rpId:sd(e),allowCredentials:[],userVerification:"required"}),tc=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}},Pr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(Pr||{}),ad=({timeout:e})=>AbortSignal.timeout(e??Fm),Um=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...Dm(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:ad({timeout:n})}),td=e=>{if(e.status!=="initialized")throw new Om},rd=e=>{if(q(e))throw new Em},nd=({type:e})=>{if(e!=="public-key")throw new Rm},rc=class ti extends Ft{#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=ti.#r({credential:new wm(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:Bm(t),signal:ad({timeout:r})});rd(o),nd(o);let{response:{attestationObject:i},rawId:s}=o;if(q(i))throw new vm;let{authData:a}=Ki.decode(ur(i)),c=gm(a);return new ti({...n,rawId:ur(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new ti(t)}getPublicKey(){td(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){td(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await tc({fn:async()=>{let n=await Um({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return rd(n),nd(n),n},step:0,onProgress:this.#e});return await tc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Yu({a:this.#t.credential.getCredentialId(),b:ur(n)}))throw new Im;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:ur(n)});this.#t=ti.#r({credential:new Tm({rawId:ur(n),cose:i})})},step:1,onProgress:this.#e}),await tc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(q(i))throw new ed;if(q(s))throw new ed;let a=Ki.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:ur(s)});if(q(a))throw new Am;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},km=async()=>X(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var ao=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 je=class e extends ao{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 nc=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var co="http://127.0.0.1:5987",cd="rdmx6-jaaaa-aaaaa-aaadq-cai";var ld=async({identity:e,container:t})=>{let n=X(t)&&t!==!1?t===!0?co:t:"https://icp-api.io",o=X(t);return await lr.create({identity:e,shouldFetchRootKey:o,host:n})};var lo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return q(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(q(this.#e)||q(this.#e[n])){let o=await ld({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var uo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return q(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let i=`${n}#${r.getPrincipal().toText()}#${t};`;if(q(this.#e)||q(this.#e[i])){let s=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[i]:s},s}return this.#e[i]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await lo.getInstance().getAgent(n);return io.createActor(t,{agent:o,canisterId:r})}};function ud(e){return e!==null&&typeof e=="object"}var ri=class e{static from(t){if(typeof t=="string"){let r=Ne(t);return this.fromRaw(r)}else if(ud(t)){let r=t;if(ud(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(vt(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(vt(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=Fn(t,Sn);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Vn(t,Sn);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}},Nt=class e extends Ft{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Me.utils.randomPrivateKey()),ll(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=Me.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(ri.fromDer(Ne(r)),Ne(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(ri.fromRaw(t),r)}static fromSecretKey(t){let r=Me.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=ri.from(t),this.#t=r}toJSON(){return[H(this.#e.toDer()),H(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Me.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,i,s]=[t,r,n].map(a=>(typeof a=="string"&&(a=Ne(a)),vt(a)));return Me.verify(o,i,s)}};var oc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function dd(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 oc("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 Ct=class e extends Ft{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=dd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=vt(await i.exportKey("spki",s.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(s,a,i)}static async fromKeyPair(t,r){let n=dd(r),o=vt(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=vt(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var ps=class{#e;get rawKey(){return this.#e.rawKey}get derKey(){return this.#e.derKey}toDer(){return this.#e.toDer()}getPublicKey(){return this.#e}getPrincipal(){if(!this.#e.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return M.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 fs(e){return e instanceof Uint8Array?H(e):H(new Uint8Array(e))}function ic(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ne(e)}var Br=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:fs(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function Lm(e,t,r,n){let o=new Br(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...ra,...new Uint8Array(Xt({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var dr=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await Lm(t,r,n,o.targets);return new e([...o.previous?.delegations||[],i],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(i=>{let{delegation:s,signature:a}=i,{pubkey:c,expiration:u,targets:p}=s;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new Br(ic(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return M.fromHex(d)})),signature:ic(a)}});return new this(o,ic(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:fs(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:fs(n)}}),publicKey:fs(this.publicKey)}}},pr=class extends Ft{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 Xt(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Vo,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},ni=class e extends ps{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function sc(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"?M.fromText(o):o)):r.push(typeof n=="string"?M.fromText(n):n));for(let o of r){let i=o.toText();for(let{delegation:s}of e.delegations){if(s.targets===void 0)continue;let a=!0;for(let c of s.targets)if(c.toText()===i){a=!1;break}if(a)return!1}}return!0}var pd=["mousedown","mousemove","keydown","touchstart","wheel"],oi=class e{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new e(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),pd.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...u)=>{let p=this,d=()=>{c=void 0,s.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let s=i(o,t?.scrollDebounce??100);window.addEventListener("scroll",s,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);pd.forEach(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 qm=(e,t)=>t.some(r=>e instanceof r),fd,hd;function Mm(){return fd||(fd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function jm(){return hd||(hd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var md=new WeakMap,cc=new WeakMap,_d=new WeakMap,ac=new WeakMap,uc=new WeakMap;function Km(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Pt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&md.set(r,e)}).catch(()=>{}),uc.set(t,e),t}function Hm(e){if(cc.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});cc.set(e,t)}var lc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return cc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||_d.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Pt(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 yd(e){lc=e(lc)}function $m(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(hs(this),t,...r);return _d.set(n,t.sort?t.sort():[t]),Pt(n)}:jm().includes(e)?function(...t){return e.apply(hs(this),t),Pt(md.get(this))}:function(...t){return Pt(e.apply(hs(this),t))}}function Gm(e){return typeof e=="function"?$m(e):(e instanceof IDBTransaction&&Hm(e),qm(e,Mm())?new Proxy(e,lc):e)}function Pt(e){if(e instanceof IDBRequest)return Km(e);if(ac.has(e))return ac.get(e);let t=Gm(e);return t!==e&&(ac.set(e,t),uc.set(t,e)),t}var hs=e=>uc.get(e);function xd(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Pt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Pt(s.result),c.oldVersion,c.newVersion,Pt(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var Jm=["get","getKey","getAll","getAllKeys","count"],zm=["put","add","delete","clear"],dc=new Map;function gd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(dc.get(t))return dc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=zm.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Jm.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return dc.set(t,i),i}yd(e=>({...e,get:(t,r,n)=>gd(t,r)||e.get(t,r,n),has:(t,r)=>!!gd(t,r)||e.has(t,r)}));var bd="auth-client-db",wd="ic-keyval",Wm=async(e=bd,t=wd,r)=>(globalThis.localStorage?.getItem(Ke)&&(globalThis.localStorage.removeItem(Ke),globalThis.localStorage.removeItem(He)),await xd(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function Ym(e,t,r){return await e.get(t,r)}async function Zm(e,t,r,n){return await e.put(t,n,r)}async function Xm(e,t,r){return await e.delete(t,r)}var ms=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=bd,storeName:n=wd,version:o=Td}=t??{},i=await Wm(r,n,o);return new e(i,n)}async set(t,r){return await Zm(this._db,this._storeName,t,r)}async get(t){return await Ym(this._db,this._storeName,t)??null}async remove(t){return await Xm(this._db,this._storeName,t)}};var He="identity",Ke="delegation",Nd="iv",Td=1,ii=class{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=globalThis.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},Bt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}ms.create(this.#e).then(n=>{this.initializedDb=n,t(n)}).catch(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 Qm=BigInt(1e9),e_=BigInt(3600),t_=Qm*e_,r_="https://identity.internetcomputer.org",n_="#authorize",o_=BigInt(8)*t_,pc="ECDSA",fc="Ed25519",i_=500,_s="UserInterrupt",si=class e{constructor(t,r,n,o,i,s,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=i,this._createOptions=s,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new Bt,n=t.keyType??pc,o=null;if(t.identity)o=t.identity;else{let c=await r.get(He);if(!c)try{let u=new ii,p=await u.get(Ke),d=await u.get(He);p&&d&&n===pc&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(Ke,p),await r.set(He,d),c=p,await u.remove(Ke),await u.remove(He))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===fc&&typeof c=="string"?o=Nt.fromJSON(c):o=await Ct.fromKeyPair(c):typeof c=="string"&&(o=Nt.fromJSON(c))}catch{}}let i=new rt,s=null;if(o)try{let c=await r.get(Ke);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?i=t.identity:c&&(s=dr.fromJSON(c),sc(s)?"toDer"in o?i=ni.fromDelegation(o,s):i=pr.fromDelegation(o,s):(await hc(r),o=null))}catch(c){console.error(c),await hc(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=oi.create(t.idleOptions)),o||(n===fc?o=Nt.generate():(t.storage&&n===pc&&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 '${fc}' as the key type, as it can serialize to a string`),o=await Ct.generate()),await Od(r,o)),new e(i,o,s,r,a,t)}_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 Br(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=dr.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=ni.fromDelegation(i,this._chain):this._identity=pr.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=oi.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(Ke,JSON.stringify(this._chain.toJSON())),await Od(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&sc(this._chain)}async login(t){let r=s_(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??o_,o=new URL(r?.identityProvider?.toString()||r_);o.hash=n_,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 i=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(_s,r?.onError):setTimeout(i,i_))};i()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let i={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(i,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(i){this._handleFailure(i.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);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 hc(this._storage),this._identity=new rt,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function hc(e){await e.remove(He),await e.remove(Ke),await e.remove(Nd)}function s_(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function a_(e){if(e instanceof Ct)return e.getKeyPair();if(e instanceof Nt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function Od(e,t){let r=a_(t);await e.set(He,r)}var $e=class e{static#e;#t;constructor(){}static getInstance(){return q(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await si.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new Bt().remove(He),await this.createAuthClient());getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new Bt;await Promise.all([n.set(He,r.getKeyPair()),n.set(Ke,JSON.stringify(t.toJSON()))])}};var mc=async e=>{await c_(),await $e.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},c_=async()=>{await $e.getInstance().logout(),je.getInstance().reset(),uo.getInstance().reset(),lo.getInstance().reset()};var Ed=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{nc({message:"junoSignOutAuthTimer"}),await mc()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":nc({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime});return}},je.getInstance().subscribe(o=>{if(q(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var ai=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=$e.getInstance();if(!await(await t()).isAuthenticated()){await r();return}await e()};var _c=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var Rd="juno.datastore.error.user.cannot_update";var Dt={certified:!1};var ys=()=>$e.getInstance().getAuthClient()?.getIdentity(),l_=async()=>{let{getAuthClient:e,createAuthClient:t}=$e.getInstance();return(e()??await t()).getIdentity()},u_=async()=>{let e=je.getInstance().get();if(q(e))return null;let t=$e.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var de=e=>X(e)?e:ys()??new rt;var yc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=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)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),m=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),_=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:_,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),I=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:I,expires_at:e.Opt(e.Nat64)}),v=e.Record({version:e.Opt(e.Nat64)}),V=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),F=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}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),k=e.Record({key:F,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),C=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),P=e.Record({delegation:e.Opt(C),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,P))}),U=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),Q=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),$=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ie=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),pe=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Ae=e.Variant({Deny:e.Null,Allow:e.Null}),re=e.Record({status_code:e.Nat16,location:e.Text}),ce=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Ae),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),Ur=e.Record({db:e.Opt(ie),authentication:e.Opt(Q),storage:ce}),kt=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Ye=e.Variant({OpenId:kt}),kr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Lr=e.Record({signature:e.Vec(e.Nat8),delegation:kr}),at=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),qr=e.Variant({Ok:Lr,Err:at}),Mr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),jr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Lt=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ct=e.Variant({AssetsUpgrade:jr,SegmentsDeployment:Lt}),Ze=e.Record({status:Mr,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:ct}),Xe=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),lt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ut=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:Xe,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Kr=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)}),dt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Hr=e.Variant({Callback:e.Record({token:dt,callback:e.Func([],[],["query"])})}),$r=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Hr),status_code:e.Nat16}),Gr=e.Record({token:e.Opt(dt),body:e.Vec(e.Nat8)}),pt=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}),Qe=e.Record({batch_id:e.Nat}),Jr=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,k)),items_length:e.Nat64}),zr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Wr=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,s)),items_length:e.Nat64}),Yr=e.Record({desc:e.Bool}),Zr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Xr=e.Record({order:e.Opt(Yr),paginate:e.Opt(Zr)}),Qr=e.Record({proposal_id:e.Nat}),en=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Qr,Ze)),items_length:e.Nat64}),tn=e.Record({include_system:e.Bool}),rn=e.Record({matcher:e.Opt(tn)}),nn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ut)),items_length:e.Nat64}),on=e.Record({stable:e.Nat64,heap:e.Nat64}),qt=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),sn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:I,expires_at:e.Opt(e.Nat64)}),an=e.Record({controller:sn,controllers:e.Vec(e.Principal)}),cn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),Mt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Bs=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:Xe,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Ds=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Ae),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),fo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ho=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([m],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([m],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(m)],[],[]),count_assets:e.Func([e.Text,O],[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,O],[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([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,v],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),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,v))],[],[]),del_rule:e.Func([V,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(k)],["query"]),get_auth_config:e.Func([],[e.Opt(Q)],["query"]),get_config:e.Func([],[Ur],[]),get_db_config:e.Func([],[e.Opt(ie)],["query"]),get_delegation:e.Func([Ye],[qr],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(k)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],["query"]),get_rule:e.Func([V,e.Text],[e.Opt(ut)],["query"]),get_storage_config:e.Func([],[ce],["query"]),http_request:e.Func([Kr],[$r],["query"]),http_request_streaming_callback:e.Func([dt],[Gr],["query"]),init_asset_upload:e.Func([pt],[Qe],[]),init_proposal:e.Func([ct],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([pt,e.Nat],[Qe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(pt),e.Nat],[e.Vec(e.Tuple(e.Text,Qe))],[]),list_assets:e.Func([e.Text,O],[Jr],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,zr))],["query"]),list_docs:e.Func([e.Text,O],[Wr],["query"]),list_proposals:e.Func([Xr],[en],["query"]),list_rules:e.Func([V,rn],[nn],["query"]),memory_size:e.Func([],[on],["query"]),reject_proposal:e.Func([g],[e.Null],[]),set_auth_config:e.Func([qt],[Q],[]),set_controllers:e.Func([an],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([cn],[ie],[]),set_doc:e.Func([e.Text,e.Text,Mt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Mt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([V,e.Text,Bs],[ut],[]),set_storage_config:e.Func([Ds],[ce],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([fo],[ho],[]),upload_proposal_asset_chunk:e.Func([fo],[ho],[])})},gc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=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)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),m=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),_=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:_,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),I=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:I,expires_at:e.Opt(e.Nat64)}),v=e.Record({version:e.Opt(e.Nat64)}),V=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),F=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}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),k=e.Record({key:F,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),C=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),P=e.Record({delegation:e.Opt(C),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,P))}),U=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),Q=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),$=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ie=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),pe=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Ae=e.Variant({Deny:e.Null,Allow:e.Null}),re=e.Record({status_code:e.Nat16,location:e.Text}),ce=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Ae),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),Ur=e.Record({db:e.Opt(ie),authentication:e.Opt(Q),storage:ce}),kt=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Ye=e.Variant({OpenId:kt}),kr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Lr=e.Record({signature:e.Vec(e.Nat8),delegation:kr}),at=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),qr=e.Variant({Ok:Lr,Err:at}),Mr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),jr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Lt=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ct=e.Variant({AssetsUpgrade:jr,SegmentsDeployment:Lt}),Ze=e.Record({status:Mr,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:ct}),Xe=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),lt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ut=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:Xe,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Kr=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)}),dt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Hr=e.Variant({Callback:e.Record({token:dt,callback:e.Func([],[],[])})}),$r=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Hr),status_code:e.Nat16}),Gr=e.Record({token:e.Opt(dt),body:e.Vec(e.Nat8)}),pt=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}),Qe=e.Record({batch_id:e.Nat}),Jr=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,k)),items_length:e.Nat64}),zr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Wr=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,s)),items_length:e.Nat64}),Yr=e.Record({desc:e.Bool}),Zr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Xr=e.Record({order:e.Opt(Yr),paginate:e.Opt(Zr)}),Qr=e.Record({proposal_id:e.Nat}),en=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Qr,Ze)),items_length:e.Nat64}),tn=e.Record({include_system:e.Bool}),rn=e.Record({matcher:e.Opt(tn)}),nn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ut)),items_length:e.Nat64}),on=e.Record({stable:e.Nat64,heap:e.Nat64}),qt=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),sn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:I,expires_at:e.Opt(e.Nat64)}),an=e.Record({controller:sn,controllers:e.Vec(e.Principal)}),cn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),Mt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Bs=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:Xe,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Ds=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Ae),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),fo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ho=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([m],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([m],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(m)],[],[]),count_assets:e.Func([e.Text,O],[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,O],[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([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,v],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),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,v))],[],[]),del_rule:e.Func([V,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(k)],[]),get_auth_config:e.Func([],[e.Opt(Q)],[]),get_config:e.Func([],[Ur],[]),get_db_config:e.Func([],[e.Opt(ie)],[]),get_delegation:e.Func([Ye],[qr],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(k)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],[]),get_rule:e.Func([V,e.Text],[e.Opt(ut)],[]),get_storage_config:e.Func([],[ce],[]),http_request:e.Func([Kr],[$r],[]),http_request_streaming_callback:e.Func([dt],[Gr],[]),init_asset_upload:e.Func([pt],[Qe],[]),init_proposal:e.Func([ct],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([pt,e.Nat],[Qe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(pt),e.Nat],[e.Vec(e.Tuple(e.Text,Qe))],[]),list_assets:e.Func([e.Text,O],[Jr],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,zr))],[]),list_docs:e.Func([e.Text,O],[Wr],[]),list_proposals:e.Func([Xr],[en],[]),list_rules:e.Func([V,rn],[nn],[]),memory_size:e.Func([],[on],[]),reject_proposal:e.Func([g],[e.Null],[]),set_auth_config:e.Func([qt],[Q],[]),set_controllers:e.Func([an],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([cn],[ie],[]),set_doc:e.Func([e.Text,e.Text,Mt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Mt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([V,e.Text,Bs],[ut],[]),set_storage_config:e.Func([Ds],[ce],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([fo],[ho],[]),upload_proposal_asset_chunk:e.Func([fo],[ho],[])})},d_=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,mission_control:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),m=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:m,RegisterUser:e.Text}),_=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),user:e.Principal}),E=e.Variant({Heap:e.Null,Stable:e.Null}),O=e.Record({system_memory:e.Opt(E)}),R=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(O),user:e.Principal}),I=e.Record({controllers:e.Vec(e.Principal)}),w=e.Record({proposal_ids:e.Vec(e.Nat)}),v=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(v),client_id:e.Text}),S=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,V))}),b=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),N=e.Record({allowed_callers:e.Vec(e.Principal)}),F=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(S),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),B=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),k=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),A=e.Variant({Deny:e.Null,Allow:e.Null}),C=e.Record({status_code:e.Nat16,location:e.Text}),P=e.Record({iframe:e.Opt(B),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(k),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,C)))}),D=e.Record({authentication:e.Opt(F),storage:P}),U=e.Record({user:e.Principal}),te=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Q=e.Variant({OpenId:te}),$=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),ie=e.Record({signature:e.Vec(e.Nat8),delegation:$}),pe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),Ae=e.Variant({Ok:ie,Err:pe}),re=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),ce=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ur=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),kt=e.Variant({AssetsUpgrade:ce,SegmentsDeployment:Ur}),Ye=e.Record({status:re,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:kt}),kr=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)}),Lr=e.Variant({Heap:e.Null,Stable:e.Null}),at=e.Record({memory:Lr,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}),qr=e.Variant({Callback:e.Record({token:at,callback:e.Func([],[],["query"])})}),Mr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(qr),status_code:e.Nat16}),jr=e.Record({token:e.Opt(at),body:e.Vec(e.Nat8)}),Lt=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}),ct=e.Record({batch_id:e.Nat}),Ze=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),Xe=e.Record({field:Ze,desc:e.Bool}),lt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ut=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(lt),description:e.Opt(e.Text),created_at:e.Opt(lt)}),Kr=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),dt=e.Record({order:e.Opt(Xe),owner:e.Opt(e.Principal),matcher:e.Opt(ut),paginate:e.Opt(Kr)}),Hr=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}),$r=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),Gr=e.Record({key:Hr,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,$r)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),pt=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,Gr)),items_length:e.Nat64}),Qe=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Jr=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Qe,expires_at:e.Opt(e.Nat64)}),zr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Wr=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Yr=e.Record({status:Wr,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),Zr=e.Record({desc:e.Bool}),Xr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Qr=e.Record({order:e.Opt(Zr),paginate:e.Opt(Xr)}),en=e.Record({proposal_id:e.Nat}),tn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(en,Ye)),items_length:e.Nat64}),rn=e.Record({openid:e.Opt(S),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),nn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Qe,expires_at:e.Opt(e.Nat64)}),on=e.Record({controller:nn,controllers:e.Vec(e.Principal)}),qt=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),sn=e.Record({iframe:e.Opt(B),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(k),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,C)))}),an=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),cn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Mt=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[_],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_orbiter:e.Func([T],[e.Principal],[]),create_satellite:e.Func([R],[e.Principal],[]),del_controllers:e.Func([I],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([w],[],[]),get_auth_config:e.Func([],[e.Opt(F)],["query"]),get_config:e.Func([],[D],["query"]),get_create_orbiter_fee:e.Func([U],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([U],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([Q],[Ae],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Ye)],["query"]),get_storage_config:e.Func([],[P],["query"]),get_user_mission_control_center:e.Func([],[e.Opt(p)],["query"]),http_request:e.Func([kr],[Mr],["query"]),http_request_streaming_callback:e.Func([at],[jr],["query"]),init_proposal:e.Func([kt],[e.Nat,Ye],[]),init_proposal_asset_upload:e.Func([Lt,e.Nat],[ct],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Lt),e.Nat],[e.Vec(e.Tuple(e.Text,ct))],[]),init_user_mission_control_center:e.Func([],[p],[]),list_assets:e.Func([e.Text,dt],[pt],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Jr))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,zr))],["query"]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Yr))],["query"]),list_proposals:e.Func([Qr],[tn],["query"]),list_user_mission_control_centers:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([rn],[F],[]),set_controllers:e.Func([on],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([qt,t],[],[]),set_storage_config:e.Func([sn],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ye],[]),update_rate_config:e.Func([qt,an],[],[]),upload_proposal_asset_chunk:e.Func([cn],[Mt],[])})},p_=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,mission_control:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),m=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:m,RegisterUser:e.Text}),_=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),user:e.Principal}),E=e.Variant({Heap:e.Null,Stable:e.Null}),O=e.Record({system_memory:e.Opt(E)}),R=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(O),user:e.Principal}),I=e.Record({controllers:e.Vec(e.Principal)}),w=e.Record({proposal_ids:e.Vec(e.Nat)}),v=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(v),client_id:e.Text}),S=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,V))}),b=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),N=e.Record({allowed_callers:e.Vec(e.Principal)}),F=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(S),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),B=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),k=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),A=e.Variant({Deny:e.Null,Allow:e.Null}),C=e.Record({status_code:e.Nat16,location:e.Text}),P=e.Record({iframe:e.Opt(B),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(k),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,C)))}),D=e.Record({authentication:e.Opt(F),storage:P}),U=e.Record({user:e.Principal}),te=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Q=e.Variant({OpenId:te}),$=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),ie=e.Record({signature:e.Vec(e.Nat8),delegation:$}),pe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),Ae=e.Variant({Ok:ie,Err:pe}),re=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),ce=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ur=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),kt=e.Variant({AssetsUpgrade:ce,SegmentsDeployment:Ur}),Ye=e.Record({status:re,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:kt}),kr=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)}),Lr=e.Variant({Heap:e.Null,Stable:e.Null}),at=e.Record({memory:Lr,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}),qr=e.Variant({Callback:e.Record({token:at,callback:e.Func([],[],[])})}),Mr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(qr),status_code:e.Nat16}),jr=e.Record({token:e.Opt(at),body:e.Vec(e.Nat8)}),Lt=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}),ct=e.Record({batch_id:e.Nat}),Ze=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),Xe=e.Record({field:Ze,desc:e.Bool}),lt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ut=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(lt),description:e.Opt(e.Text),created_at:e.Opt(lt)}),Kr=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),dt=e.Record({order:e.Opt(Xe),owner:e.Opt(e.Principal),matcher:e.Opt(ut),paginate:e.Opt(Kr)}),Hr=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}),$r=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),Gr=e.Record({key:Hr,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,$r)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),pt=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,Gr)),items_length:e.Nat64}),Qe=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Jr=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Qe,expires_at:e.Opt(e.Nat64)}),zr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Wr=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Yr=e.Record({status:Wr,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),Zr=e.Record({desc:e.Bool}),Xr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Qr=e.Record({order:e.Opt(Zr),paginate:e.Opt(Xr)}),en=e.Record({proposal_id:e.Nat}),tn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(en,Ye)),items_length:e.Nat64}),rn=e.Record({openid:e.Opt(S),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),nn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Qe,expires_at:e.Opt(e.Nat64)}),on=e.Record({controller:nn,controllers:e.Vec(e.Principal)}),qt=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),sn=e.Record({iframe:e.Opt(B),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(k),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,C)))}),an=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),cn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Mt=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[_],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_orbiter:e.Func([T],[e.Principal],[]),create_satellite:e.Func([R],[e.Principal],[]),del_controllers:e.Func([I],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([w],[],[]),get_auth_config:e.Func([],[e.Opt(F)],[]),get_config:e.Func([],[D],[]),get_create_orbiter_fee:e.Func([U],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([U],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([Q],[Ae],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ye)],[]),get_storage_config:e.Func([],[P],[]),get_user_mission_control_center:e.Func([],[e.Opt(p)],[]),http_request:e.Func([kr],[Mr],[]),http_request_streaming_callback:e.Func([at],[jr],[]),init_proposal:e.Func([kt],[e.Nat,Ye],[]),init_proposal_asset_upload:e.Func([Lt,e.Nat],[ct],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Lt),e.Nat],[e.Vec(e.Tuple(e.Text,ct))],[]),init_user_mission_control_center:e.Func([],[p],[]),list_assets:e.Func([e.Text,dt],[pt],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Jr))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,zr))],[]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Yr))],[]),list_proposals:e.Func([Qr],[tn],[]),list_user_mission_control_centers:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([rn],[F],[]),set_controllers:e.Func([on],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([qt,t],[],[]),set_storage_config:e.Func([sn],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ye],[]),update_rate_config:e.Func([qt,an],[],[]),upload_proposal_asset_chunk:e.Func([cn],[Mt],[])})};var f_=async({identity:e,host:t,localActor:r})=>await lr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),h_=async({agent:e,...t})=>e??await m_(t),m_=async({identity:e,container:t})=>{let r=X(t)&&t!==!1;return await f_({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var vd=({satelliteId:e,certified:t=!1,...r})=>Ad({canisterId:e,...r,idlFactory:t?gc:yc});var Id=({consoleId:e,certified:t=!1,...r})=>Ad({canisterId:e,...r,idlFactory:t?p_:d_}),Ad=({canisterId:e,idlFactory:t,...r})=>{if(q(e))throw new Error("No canister ID provided.");return __({canisterId:e,idlFactory:t,...r})},__=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await h_(n);return io.createActor(t,{agent:o,canisterId:e,...r??{}})};var Ce=class e extends ao{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 Sd=({satelliteId:e,container:t})=>{let{satelliteId:r}=xc({satelliteId:e}),{container:n}=bc({container:t});if(X(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?co:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},xc=({satelliteId:e})=>X(e)?{satelliteId:e}:Ce.getInstance().get()??{satelliteId:void 0},bc=({container:e})=>X(e)?{container:e}:Ce.getInstance().get()??{container:void 0};var Te=({satellite:e,options:{certified:t}})=>Vd({idlFactory:t?gc:yc,actorKey:`stock#${t?"update":"query"}`,...e}),Fd=({idlFactory:e,...t})=>Vd({idlFactory:e,actorKey:"extended#query",...t}),Vd=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=xc({satelliteId:e});ei(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=bc({container:t});return await uo.getInstance().getActor({satelliteId:n,container:o,...r})};var gs=class extends Error{},fr=class extends Error{},xs=class extends Error{},bs=class extends Error{},ws=class extends Error{},Ts=class extends Error{},Ns=class extends Error{},Os=class extends Error{},Es=class extends Error{};var Cd=e=>{if(q(e))return ue();switch(e.matcher){case"equal":return ue({Equal:e.timestamp});case"greaterThan":return ue({GreaterThan:e.timestamp});case"lessThan":return ue({LessThan:e.timestamp});case"between":return ue({Between:[e.timestamps.start,e.timestamps.end]});default:throw new Es("Invalid list matcher for timestamp",e)}},Dr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:q(e)?[]:[{key:ue(e.key),description:ue(e.description),created_at:Cd(e.createdAt),updated_at:Cd(e.updatedAt)}],paginate:ue(q(t)?void 0:{start_after:ue(t.startAfter),limit:ue(q(t.limit)?void 0:BigInt(t.limit))}),order:ue(q(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:ue(q(n)?void 0:typeof n=="string"?M.fromText(n):n)});var Pd=async e=>{let t=new Blob([JSON.stringify(e,Xu)],{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(),Qu)},vs=()=>typeof window<"u";var Bd=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 wc=async e=>{let{data:t,version:r,description:n}=e;return{description:ue(n),data:await Pd(t),version:ue(r)}},Tc=e=>{let{version:t}=e;return{version:ue(t)}},Cn=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:ye(o),owner:r.toText(),data:await Rs(i),version:ye(n),...s}};var Dd=async({collection:e,key:t,...r})=>{let{get_doc:n}=await Te(r),o=ye(await n(e,t));if(!q(o))return Cn({doc:o,key:t})},Ud=async({docs:e,...t})=>{let{get_many_docs:r}=await Te(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=ye(a);i.push(X(c)?await Cn({key:s,doc:c}):void 0)}return i},kd=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await Te(r),{key:o}=t,i=await wc(t),s=await n(e,o,i);return await Cn({key:o,doc:s})},Ld=async({docs:e,...t})=>{let{set_many_docs:r}=await Te(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await wc(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await Cn({key:s,doc:a}));return i},qd=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await Te(r),{key:o}=t;return n(e,o,Tc(t))},Md=async({docs:e,...t})=>{let{del_many_docs:r}=await Te(t),n=e.map(({collection:o,doc:i})=>[o,i.key,Tc(i)]);await r(n)},jd=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await Te(r);return n(e,Dr(t))},Kd=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await Te(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,Dr(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:m,...g}=d;u.push({key:p,description:ye(h),owner:f.toText(),data:await Bd({data:l}),version:ye(m),...g})}return{items:u,items_length:s,items_page:ye(i),matches_length:a,matches_pages:ye(c)}},Hd=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await Te(r);return n(e,Dr(t))};var Is=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await Dd({...r,satellite:{...e,identity:n},options:t??Dt})},oT=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await Ud({...r,satellite:{...e,identity:n},options:t??Dt})},$d=async({satellite:e,...t})=>{let r=de(e?.identity);return await kd({...t,satellite:{...e,identity:r},options:{certified:!0}})},Gd=async({satellite:e,...t})=>{let r=de(e?.identity);return await Ld({...t,satellite:{...e,identity:r},options:{certified:!0}})},iT=async({satellite:e,...t})=>{let r=de(e?.identity);return await qd({...t,satellite:{...e,identity:r},options:{certified:!0}})},sT=async({satellite:e,...t})=>{let r=de(e?.identity);return await Md({...t,satellite:{...e,identity:r},options:{certified:!0}})},aT=async({satellite:e,filter:t,...r})=>{let n=de(e?.identity);return await jd({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},cT=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await Kd({...n,filter:r??{},satellite:{...e,identity:o},options:t??Dt})},lT=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await Hd({...n,filter:r??{},satellite:{...e,identity:o},options:t??Dt})};var Jd=async({provider:e})=>{let{user:t,userId:r}=await Nc();if(X(t))return t;try{return await y_({userId:r,provider:e})}catch(n){if(_c({error:n,type:Rd})){let o=await zd({userId:r});if(X(o))return o}throw n}},Nc=async()=>{let e=ys();if(q(e))throw new Os("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await zd({userId:t});return{userId:t,user:r}},zd=({userId:e})=>Is({collection:"#user",key:e}),y_=({userId:e,...t})=>$d({collection:"#user",doc:{key:e,data:t}});var As=async()=>{await ai({fn:async()=>{let{user:t}=await Nc();je.getInstance().set(t??null)}})},Ss=async({user:e})=>{await ai({fn:async()=>{je.getInstance().set(e)}})};var Wd=()=>{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()},Yd=()=>{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()},Zd=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()};var Xd=BigInt(144e11),Qd=!1,ep={width:576,height:576},tp={width:424,height:576};var ci="internetcomputer.org",rp="ic0.app",np="id.ai";var op=({width:e,height:t})=>{if(!vs()||q(window)||q(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,i=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=${i}`};var Ut=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 ip=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(ip||{});var Fs=class{async signIn({options:t,authClient:r,initAuth:n}){await Ut({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Ut({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(q(r)){o(new fr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===_s){o(new xs(i));return}o(new gs(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Xd,allowPinAuthentication:t?.allowPin??Qd,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Vs=class extends Fs{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Ce.getInstance().get()?.container;if(q(i)||i===!1){let p=[ci,rp].includes(this.#e??ci);return so(this.#e)?`https://identity.${ci}`:p?`https://identity.${this.#e??ci}`:`https://${this.#e}`}let s=Ce.getInstance().get(),a=X(s)&&X(s?.internetIdentityId)?s.internetIdentityId:cd,{host:c,protocol:u}=new URL(i===!0?co:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:op((()=>{try{let{hostname:i}=new URL(n);return i.includes(np)}catch{return!1}})()?tp:ep)},identityProvider:n}}};var Oc=class extends Error{},Ec=class extends Error{},Rc=class extends Error{},vc=class extends Error{},Ic=class extends Error{},Ac=class extends Error{},Sc=class extends Error{},Fc=class extends Error{},Vc=class extends Error{},Cc=class extends Error{};var sp=({auth:e,identity:t})=>"satellite"in e?vd({...e.satellite,identity:t}):Id({...e.console,identity:t}),g_=async({actorParams:e,args:t})=>{let{authenticate:r}=await sp(e);return await r(t)},x_=async({actorParams:e,args:t})=>{let{get_delegation:r}=await sp(e);return await r(t)},b_=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=dr.fromDelegations(n,Uint8Array.from(r));return{identity:pr.fromDelegation(t,o),delegationChain:o,sessionKey:t}},Pc=async({jwt:e,context:t,auth:r})=>{let n=await Ct.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await w_({jwt:e,publicKey:o,context:t,auth:r});return{identity:b_({sessionKey:n,delegations:i}),data:s}},w_=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await g_({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new Ic("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await T_({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:p,signature:d}=u,{pubkey:l,expiration:f,targets:h}=p;return{delegations:[s,[{delegation:new Br(Uint8Array.from(l),f,ye(h)),signature:Uint8Array.from(d)}]],data:c}},T_=async({jwt:e,publicKey:t,context:{salt:r,caller:n},auth:o,expiration:i,maxRetries:s=5})=>{for(let a=0;a<s;a++){await new Promise(u=>{setInterval(u,1e3*a)});let c=await x_({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:u}=c;if("NoSuchDelegation"in u||"GetCachedJwks"in u)continue;throw new Vc("Getting delegation failed",{cause:c})}return c.Ok}throw new Cc};var Bc="juno:auth:openid",Dc={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"};var ap=e=>Cr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),N_=()=>window.crypto.getRandomValues(new Uint8Array(32)),O_=async({salt:e,caller:t})=>{let r=t.getPrincipal().toUint8Array(),n=new Uint8Array(e.length+r.byteLength);n.set(e),n.set(r,e.length);let o=await window.crypto.subtle.digest("SHA-256",n);return ap(ur(o))},E_=async({caller:e})=>{let t=N_();return{nonce:await O_({salt:t,caller:e}),salt:t}},cp="__caller__",lp="__salt__",up="__state__",R_=({caller:e,state:t,salt:r})=>{let n={[cp]:e.toJSON(),[lp]:Cr(r),[up]:t};return JSON.stringify(n)},v_=e=>{let{[cp]:t,[lp]:r,[up]:n}=JSON.parse(e);return{caller:Nt.fromParsedJson(t),salt:Zu(r),state:n}},I_=()=>ap(window.crypto.getRandomValues(new Uint8Array(12))),dp=async()=>{let e=Nt.generate(),{nonce:t,salt:r}=await E_({caller:e}),n=I_(),o=R_({caller:e,salt:r,state:n});return sessionStorage.setItem(Bc,o),{nonce:t,state:n}},pp=()=>{let e=sessionStorage.getItem(Bc);if(q(e))throw new Ec;return v_(e)};var Uc=async e=>{let t=pp();if("credentials"in e){let{credentials:{jwt:r},auth:n}=e;return await Pc({jwt:r,context:t,auth:n})}return await A_({...e,context:t})},A_=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(so(r)||!r.startsWith("#"))throw new Ac("No hash found in the current location URL");let n=new URLSearchParams(r.slice(1)),o=n.get("state"),i=n.get("id_token"),{state:s}=t;if(so(s)||o!==s)throw new Sc("The provided state is invalid",{cause:o});if(so(i))throw new Fc;return await Pc({jwt:i,auth:e,context:t})};var fp=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=(()=>{try{return new URL(e)}catch{throw new Oc("Cannot parse authURL",{cause:e})}})();a.searchParams.set("client_id",t);let{location:{origin:c}}=window;a.searchParams.set("redirect_uri",s??c),a.searchParams.set("response_type","code id_token"),a.searchParams.set("scope",o.join(" ")),a.searchParams.set("state",i),a.searchParams.set("nonce",r),ec(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},hp=async({configUrl:e,clientId:t,nonce:r,loginHint:n,domainHint:o})=>{let i=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:t,nonce:r,loginHint:n,domainHint:o}],mode:"active"},mediation:"required"});if(q(i))throw new Rc;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new vc("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function kc({google:e}){let t=await dp();if("credentials"in e){let{credentials:i}=e,{configUrl:s}=Dc;return await hp({...i,...t,configUrl:s})}let{redirect:r}=e,{authUrl:n,authScopes:o}=Dc;fp({...r,...t,authUrl:n,authScopes:o})}var S_=async()=>{let{satelliteId:e}=Ce.getInstance().get()??{satelliteId:void 0};if(q(e))throw new fr("Satellite ID not set. Have you initialized the Satellite?");let t=Ce.getInstance().get()?.container,{identity:{delegationChain:r,sessionKey:n,identity:o},data:{doc:i}}=await Uc({redirect:null,auth:{satellite:{satelliteId:e,container:t}}});await $e.getInstance().setAuthClientStorage({delegationChain:r,sessionKey:n});let s=await Cn({doc:i,key:o.getPrincipal().toText()});await Ss({user:s})};var mp=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),F_=()=>{window.addEventListener("beforeunload",mp,{capture:!0})},V_=()=>{window.removeEventListener("beforeunload",mp,{capture:!0})},Cs=async({fn:e})=>{try{return F_(),await e()}finally{V_()}};var Ps=class{get id(){return"google"}async signIn({options:t={}}){let r=t?.redirect?.clientId??Zd();if(q(r))throw new ws;let{redirect:n}=t;await kc({google:{redirect:{...n??{},clientId:r}}})}};var _p=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Gd({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...X(n)&&{aaguid:ds(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var yp=(i=>(i[i.RequestingUserCredential=0]="RequestingUserCredential",i[i.FinalizingCredential=1]="FinalizingCredential",i[i.Signing=2]="Signing",i[i.FinalizingSession=3]="FinalizingSession",i[i.RetrievingUser=4]="RetrievingUser",i))(yp||{}),gp=(s=>(s[s.CreatingUserCredential=0]="CreatingUserCredential",s[s.ValidatingUserCredential=1]="ValidatingUserCredential",s[s.FinalizingCredential=2]="FinalizingCredential",s[s.Signing=3]="Signing",s[s.FinalizingSession=4]="FinalizingSession",s[s.RegisteringUser=5]="RegisteringUser",s))(gp||{});var po=class{get id(){return"webauthn"}async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Ce.getInstance().get()??{satelliteId:void 0};if(q(i))throw new fr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:m,state:g})=>{switch(m){case Pr.RequestingUserCredential:t?.({step:1,state:g});break;case Pr.FinalizingCredential:t?.({step:2,state:g});break;case Pr.Signing:t?.({step:3,state:g});break}},c=await Ut({fn:async()=>await rc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await Ut({fn:async()=>await _p({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Ut({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await Ut({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Ce.getInstance().get()??{satelliteId:void 0};if(q(o))throw new fr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await Is({collection:"#user-webauthn",key:Cr(d),options:{certified:!0},satellite:{identity:new rt,satelliteId:o}});if(q(l))throw new Ts("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Vn(h,Xo)},s=({step:d,state:l})=>{switch(d){case Pr.RequestingUserCredential:t?.({step:0,state:l});break;case Pr.FinalizingCredential:t?.({step:1,state:l});break;case Pr.Signing:t?.({step:2,state:l});break}},a=await rc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Ut({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await Ut({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await Ct.generate({extractable:!1}),o=r??144e5,i=await dr.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:pr.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Bt;await Promise.all([n.set(He,t.getKeyPair()),n.set(Ke,JSON.stringify(r.getDelegation().toJSON()))])}};var P_=async({provider:e})=>{await ai({fn:async()=>{let r=await Jd({provider:e});je.getInstance().set(r)}})},B_=async e=>{if("google"in e){let{google:{options:t}}=e;await Lc({fn:()=>new Ps().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await Lc({fn:()=>new po().signIn({options:t,loadAuth:As}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await Lc({fn:()=>new Vs({domain:n}).signIn({options:o,authClient:$e.getInstance().getAuthClient(),initAuth:P_}),context:r});return}throw new bs("An unknown or unsupported provider was provided for sign-in.")},Lc=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await Cs({fn:e})};var D_=async e=>{let t=async()=>await U_(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Cs({fn:t})},U_=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new po().signUp({options:t,loadAuthWithUser:Ss});return}throw new Ns("An unknown or unsupported provider was provided for sign-up.")};var SO=async({idlFactory:e,satellite:t})=>{let r=de(t?.identity);return await Fd({idlFactory:e,...t,identity:r})};var xp=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:i,upload_asset_chunk:s,commit_asset_upload:a}=n,{batch_id:c}=await i(k_(r));o?.onInitiatedBatch();let{chunkIds:u}=await M_({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await q_({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var k_=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:ue(r),encoding_type:ue(o),description:ue(i)}),L_=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([i,s])=>i.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:i})=>i),headers:[...r,...o??[]]}},q_=async({commitFn:e,...t})=>{let r=L_(t);await e(r)},M_=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=vs()?new Blob([await e.arrayBuffer()]):e,i=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:i}),i++}let s=[];for await(let a of j_({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*j_({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=>K_(o)))}}var K_=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:ue(n)});var bp=async({asset:e,...t})=>{let r=await Te(t);await xp({actor:r,asset:e})},wp=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await Te(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,Dr(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:ye(s),matches_length:a,matches_pages:ye(c)}},Tp=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await Te(r);return n(e,Dr(t))},Np=async({collection:e,fullPath:t,...r})=>(await Te(r)).del_asset(e,t),Op=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await Te({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},Ep=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await Te(r);return n(e,Dr(t))},Rp=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await Te(r);return ye(await n(e,t))},vp=async({assets:e,...t})=>{let{get_many_assets:r}=await Te(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>ye(s))};var Ip=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var JO=e=>Ap(e),zO=e=>Ap({filename:e.data.name,...e}),Ap=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let u=de(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...s,identity:u};return await bp({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:Sp({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,name:p}},WO=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)},{items:i,...s}=await wp({collection:e,filter:t??{},satellite:o,options:n??Dt}),a=i.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:m,updated_at:g})=>{let _=ye(u);return{fullPath:c,description:ye(l),name:p,downloadUrl:Sp({satellite:o,assetKey:{fullPath:c,token:_}}),token:_,headers:f,encodings:h.reduce((x,[y,{modified:T,sha256:E,total_length:O}])=>({...x,[y]:{modified:T,sha256:Ip(E),total_length:O}}),{}),owner:d.toText(),created_at:m,updated_at:g}});return{items:a,assets:a,...s}},YO=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)};return await Tp({collection:e,satellite:o,filter:t??{},options:n??Dt})},ZO=({collection:e,fullPath:t,satellite:r})=>Np({collection:e,fullPath:t,satellite:{...r,identity:de(r?.identity)},options:{certified:!0}}),XO=({assets:e,satellite:t})=>Op({assets:e,satellite:{...t,identity:de(t?.identity)},options:{certified:!0}}),QO=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:de(t?.identity)};return await Ep({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},e6=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await Rp({...r,satellite:{...e,identity:n},options:t??Dt})},t6=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await vp({...r,satellite:{...e,identity:n},options:t??Dt})},Sp=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:de(r?.identity)};return`${Sd(n)}${e}${X(t)?`?token=${t}`:""}`};var H_=e=>{let t=e?.satelliteId??Wd();ei(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Yd();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,container:r}},u6=e=>$_(e),$_=async e=>{let t=H_(e);Ce.getInstance().set(t),await As();let r=t.workers?.auth!==void 0?Ed(t.workers.auth):void 0;return[...r?[r]:[]]},G_=e=>je.getInstance().subscribe(e),d6=G_;export{ip as AuthClientSignInProgressStep,Os as InitError,Vs as InternetIdentityProvider,Es as ListError,gs as SignInError,fr as SignInInitError,ws as SignInMissingClientIdError,bs as SignInProviderNotSupportedError,xs as SignInUserInterruptError,Ns as SignUpProviderNotSupportedError,yp as WebAuthnSignInProgressStep,Ts as WebAuthnSignInRetrievePublicKeyError,gp as WebAuthnSignUpProgressStep,d6 as authSubscribe,YO as countAssets,lT as countDocs,ZO as deleteAsset,iT as deleteDoc,QO as deleteFilteredAssets,aT as deleteFilteredDocs,XO as deleteManyAssets,sT as deleteManyDocs,Sp as downloadUrl,e6 as getAsset,Is as getDoc,u_ as getIdentityOnce,t6 as getManyAssets,oT as getManyDocs,SO as getSatelliteExtendedActor,S_ as handleRedirectCallback,u6 as initJuno,$_ as initSatellite,km as isWebAuthnAvailable,WO as listAssets,cT as listDocs,G_ as onAuthStateChange,$d as setDoc,Gd as setManyDocs,B_ as signIn,mc as signOut,D_ as signUp,l_ as unsafeIdentity,JO as uploadBlob,zO as uploadFile};
|
|
56
|
+
Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw go.fromCode(new To(p))}let c=Gi(s.headers);if(s.status===$a||s.status===Qh)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let u=await s.text();if(s.status===em&&s.url.includes("api/v3"))throw ne.fromCode(new wo);if(u.startsWith("Invalid request expiry: "))throw W.fromCode(new mn(u,this.#l));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw ne.fromCode(new bo(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#p(),i=r.effectiveCanisterId?M.from(r.effectiveCanisterId):M.from(t);await this.#g(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw Oe.fromCode(new br);let c=M.from(t),u=a.getPrincipal(),p=Ga(this.#l,this.#r),d={request_type:Tn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=Xt(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:er.Query,body:d}),s=await a.transformRequest(s);let f=Uo(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:l,backoff:o,tries:0},m=async()=>{let _=await this.#b(h);return{requestDetails:d,..._}},g=async()=>{let _=this.#m.get(i.toString());if(_)return _;await this.fetchSubnetKeys(i.toString());let x=this.#m.get(i.toString());if(!x)throw Pe.fromCode(new Ai);return x};try{if(!this.#_)return await m();let[_,x]=await Promise.all([m(),g()]);try{return this.#w(_,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#m.delete(i.toString());let y=await g();return this.#w(_,y)}}catch(_){let x;throw _ instanceof ht?(_.code.requestContext={requestId:l,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},x=_):x=ge.fromCode(new Be(_)),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 Oe.fromCode(new br);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:er.ReadState,body:{request_type:Tn.ReadState,paths:t.paths,sender:o,ingress_expiry:Ga(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#T();let i=M.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(bn(l,h))return f}}let a,c;if(o)a=o,c=Xt(a);else{c=s(r);let p=await this.#n;if(!p)throw Oe.fromCode(new br);a=await this.createReadStateRequest(r,p)}this.log.print(`fetching "/api/v2/canister/${i}/read_state" with request:`,a);let u=this.#p();try{let{responseBodyBytes:p}=await this.#y({requestFn:()=>this.#o(""+new URL(`/api/v2/canister/${i.toString()}/read_state`,this.host),{...this.#a,...a.request,body:Uo(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 ht?(p.code.requestContext={requestId:c,senderPubKey:a.body.sender_pubkey,senderSignature:a.body.sender_sig,ingressExpiry:a.body.content.ingress_expiry},d=p):d=ge.fromCode(new Be(p)),this.log.error(`Error while making read state: ${d.message}`,d),d}}parseTimeFromResponse(t){let r;if(t.certificate){let n=Je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw ne.fromCode(new wr("Could not decode time from response"));let o=An(["time"],r);if(o.status!==ze.Found)throw ne.fromCode(new Wt("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 ne.fromCode(new Un("Time was not in its expected format."));let i=ro(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#s=this.#s??(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??M.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new rt,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),s=(await Promise.all(Array(3).fill(null).map(async()=>{let c=(await Ua({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);s>0&&(this.#r=s-r,this.#c=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}catch(n){let o=n instanceof ht?n:ge.fromCode(new Be(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#s.finally(()=>{this.#s=null})}async status(){let t=this.#i?{Authorization:"Basic "+btoa(this.#i)}:{};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 Oe.fromCode(new Rt(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=M.from(t);await this.#g(r);let o=(await Ua({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===er.Call)for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#f)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#c}};function Ga(e,t){let r=e*Ja;return zn.fromDeltaInMilliseconds(r,t)}var nm=300*1e3;function Ku(){return cm(im(om(),1e3),am(1e3,1.2),sm(nm))}function om(){let e=!0;return async()=>e?(e=!1,!0):!1}function im(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function sm(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw ne.fromCode(new hn(`Request timed out after ${e} msec`,n,o))}}function am(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function cm(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var $u={preSignReadStateRequest:!1};function Gu(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Wa(e,t){return e!==null&&typeof e=="object"&&Gu(e,t)}function um(e,t){return Gu(e,t)&&typeof e[t]=="function"}function Hu(e){return Wa(e,"body")&&Wa(e.body,"content")&&e.body.content.request_type===Tn.ReadState&&Wa(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&um(e.body.content.ingress_expiry,"toHash")}async function za(e,t,r,n={}){let o=[ee("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await dm({paths:[o],agent:e,pollingOptions:n}),i=await e.readState(t,{paths:[o]},void 0,s)):i=await e.readState(t,{paths:[o]}),e.rootKey==null)throw Oe.fromCode(new Rt);let c=await Sr.create({certificate:i.certificate,rootKey:e.rootKey,canisterId:t,blsVerify:n.blsVerify,agent:e}),u=Ve(c.lookup_path([...o,ee("status")])),p;switch(typeof u>"u"?p=Vt.Unknown:p=new TextDecoder().decode(u),p){case Vt.Replied:return{reply:Ve(c.lookup_path([...o,"reply"])),certificate:c};case Vt.Received:case Vt.Unknown:case Vt.Processing:{let d=n.strategy??Ku();return await d(t,r,p),za(e,t,r,{...n,strategy:d,request:s})}case Vt.Rejected:{let d=new Uint8Array(Ve(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(Ve(c.lookup_path([...o,"reject_message"]))),f=Ve(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw gr.fromCode(new Ln(r,d,l,h))}case Vt.Done:throw ge.fromCode(new Ei(r))}throw Tr}async function dm(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&Hu(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!Hu(o))throw W.fromCode(new Vi(o));return o}var st=Symbol.for("ic-agent-metadata"),io=class e{static agentOf(t){return t[st].config.agent}static interfaceOf(t){return t[st].service}static canisterIdOf(t){return M.from(t[st].config.canisterId)}static createActorClass(t,r){let n=t({IDL:xn});class o extends e{constructor(s){if(!s.canisterId)throw W.fromCode(new No(s.canisterId));let a=typeof s.canisterId=="string"?M.fromText(s.canisterId):s.canisterId;super({config:{...Ju,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Ya),r?.certificate&&u.annotations.push(Wu),this[c]=fm(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw W.fromCode(new No(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[st]=Object.freeze(t)}};function oo(e,t){let r=xn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Ju={pollingOptions:$u},Ya="http-details",Wu="certificate";function fm(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[st].config.queryTransform?.(t,a,{...e[st].config,...s})};let c=s.agent||e[st].config.agent||new lr,u=M.from(s.canisterId||e[st].config.canisterId),p=xn.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:s.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case hr.Rejected:{let f=new Ni(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},gr.fromCode(f)}case hr.Replied:return r.annotations.includes(Ya)?{httpDetails:l,result:oo(r.retTypes,d.reply.arg)}:oo(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[st].config.callTransform?.(t,a,{...e[st].config,...s})};let c=s.agent||e[st].config.agent||lr.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...Ju,...e[st].config,...s},l=M.from(u),f=p!==void 0?M.from(p):l,h=xn.encode(r.argTypes,a),{requestId:m,response:g,requestDetails:_}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:s.nonce}),x,y;if(jc(g.body)){if(c.rootKey==null)throw Oe.fromCode(new Rt);let R=g.body.certificate;y=await Sr.create({certificate:R,rootKey:c.rootKey,canisterId:f,blsVerify:n,agent:c});let I=[ee("request_status"),m];switch(new TextDecoder().decode(Ve(y.lookup_path([...I,"status"])))){case"replied":x=Ve(y.lookup_path([...I,"reply"]));break;case"rejected":{let v=new Uint8Array(Ve(y.lookup_path([...I,"reject_code"])))[0],V=new TextDecoder().decode(Ve(y.lookup_path([...I,"reject_message"]))),S=Ve(y.lookup_path([...I,"error_code"])),b=S?new TextDecoder().decode(S):void 0,N=new Ln(m,v,V,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},gr.fromCode(N)}}}else if(Mc(g.body)){let{reject_code:R,reject_message:I,error_code:w}=g.body,v=new Oi(m,R,I,w);throw v.callContext={canisterId:l,methodName:t,httpDetails:g},gr.fromCode(v)}if(g.status===202){let R={...d,blsVerify:n},I=await za(c,f,m,R);y=I.certificate,x=I.reply}let T=r.annotations.includes(Ya),E=r.annotations.includes(Wu),O={...g,requestDetails:_};if(x!==void 0)return T&&E?{httpDetails:O,certificate:y,result:oo(r.retTypes,x)}:E?{certificate:y,result:oo(r.retTypes,x)}:T?{httpDetails:O,result:oo(r.retTypes,x)}:oo(r.retTypes,x);{let R=new Be(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(I=>I.display()).join(",")}].`);throw R.callContext={canisterId:l,methodName:t,httpDetails:O},ge.fromCode(R)}};let i=(...s)=>o({},...s);return i.withOptions=s=>(...a)=>o(s,...a),i}var hm=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(hm||{}),Nx=BigInt(1e8);var q=e=>e==null,X=e=>!q(e),ec=e=>X(e)&&e!=="",so=e=>!ec(e);var mm=class extends Error{},ei=(e,t)=>{if(e==null)throw new mm(t)};var ur=e=>new Uint8Array(e),ds=e=>Array.from(e);var Yu=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var zu="abcdefghijklmnopqrstuvwxyz234567",Qo=Object.create(null);for(let e=0;e<zu.length;e++)Qo[zu[e]]=e;Qo[0]=Qo.o;Qo[1]=Qo.i;var Cr=e=>btoa(String.fromCharCode(...new Uint8Array(e))),Zu=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Ox=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 Za="__bigint__",Xa="__principal__",Qa="__uint8array__",Xu=(e,t)=>typeof t=="bigint"?{[Za]:`${t}`}:X(t)&&M.isPrincipal(t)?{[Xa]:M.from(t).toText()}:X(t)&&t instanceof Uint8Array?{[Qa]:Array.from(t)}:t,Qu=(e,t)=>{let r=n=>t[n];return X(t)&&typeof t=="object"&&Za in t?BigInt(r(Za)):X(t)&&typeof t=="object"&&Xa in t?M.fromText(r(Xa)):X(t)&&typeof t=="object"&&Qa in t?Uint8Array.from(r(Qa)):t};var ue=e=>X(e)?[e]:[],ye=e=>e?.[0];var _m=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=ym({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},ym=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?ds(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 gm(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,i)=>t.setUint8(i,o));let n=t.getUint16(0);return e.slice(55+n)}function xm(e){return Fn(e,Xo)}var bm=class{constructor(e){this._cose=e,this.#e=xm(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},od=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new bm(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Cr(this.#e)}},wm=class extends od{#e;#t;constructor({authData:e,...t}){super(t);let r=_m({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}},Tm=class extends od{},Nm=class extends Error{},Om=class extends Error{},Em=class extends Error{},Rm=class extends Error{},vm=class extends Error{},Im=class extends Error{},Am=class extends Error{},ed=class extends Error{};var Sm={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Fm=6e4,id=()=>window.crypto.getRandomValues(new Uint8Array(16)),Vm=()=>id(),Cm=()=>id(),Pm=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new Nm}},sd=({appId:e})=>e?.id??Pm(),Bm=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:sd({appId:e})}}),o=()=>({user:{id:Cm(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:Vm(),...n(),...o(),pubKeyCredParams:Object.values(Sm).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},Dm=(e={})=>({rpId:sd(e),allowCredentials:[],userVerification:"required"}),tc=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}},Pr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(Pr||{}),ad=({timeout:e})=>AbortSignal.timeout(e??Fm),Um=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...Dm(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:ad({timeout:n})}),td=e=>{if(e.status!=="initialized")throw new Om},rd=e=>{if(q(e))throw new Em},nd=({type:e})=>{if(e!=="public-key")throw new Rm},rc=class ti extends Ft{#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=ti.#r({credential:new wm(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:Bm(t),signal:ad({timeout:r})});rd(o),nd(o);let{response:{attestationObject:i},rawId:s}=o;if(q(i))throw new vm;let{authData:a}=Ki.decode(ur(i)),c=gm(a);return new ti({...n,rawId:ur(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new ti(t)}getPublicKey(){td(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){td(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await tc({fn:async()=>{let n=await Um({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return rd(n),nd(n),n},step:0,onProgress:this.#e});return await tc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Yu({a:this.#t.credential.getCredentialId(),b:ur(n)}))throw new Im;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:ur(n)});this.#t=ti.#r({credential:new Tm({rawId:ur(n),cose:i})})},step:1,onProgress:this.#e}),await tc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(q(i))throw new ed;if(q(s))throw new ed;let a=Ki.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:ur(s)});if(q(a))throw new Am;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},km=async()=>X(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var ao=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 je=class e extends ao{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 nc=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var co="http://127.0.0.1:5987",cd="rdmx6-jaaaa-aaaaa-aaadq-cai";var ld=async({identity:e,container:t})=>{let n=X(t)&&t!==!1?t===!0?co:t:"https://icp-api.io",o=X(t);return await lr.create({identity:e,shouldFetchRootKey:o,host:n})};var lo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return q(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(q(this.#e)||q(this.#e[n])){let o=await ld({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var uo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return q(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let i=`${n}#${r.getPrincipal().toText()}#${t};`;if(q(this.#e)||q(this.#e[i])){let s=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[i]:s},s}return this.#e[i]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await lo.getInstance().getAgent(n);return io.createActor(t,{agent:o,canisterId:r})}};function ud(e){return e!==null&&typeof e=="object"}var ri=class e{static from(t){if(typeof t=="string"){let r=Ne(t);return this.fromRaw(r)}else if(ud(t)){let r=t;if(ud(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(vt(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(vt(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=Fn(t,Sn);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Vn(t,Sn);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}},Nt=class e extends Ft{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Me.utils.randomPrivateKey()),ll(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=Me.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(ri.fromDer(Ne(r)),Ne(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(ri.fromRaw(t),r)}static fromSecretKey(t){let r=Me.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=ri.from(t),this.#t=r}toJSON(){return[H(this.#e.toDer()),H(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Me.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,i,s]=[t,r,n].map(a=>(typeof a=="string"&&(a=Ne(a)),vt(a)));return Me.verify(o,i,s)}};var oc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function dd(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 oc("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 Ct=class e extends Ft{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=dd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=vt(await i.exportKey("spki",s.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(s,a,i)}static async fromKeyPair(t,r){let n=dd(r),o=vt(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=vt(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var ps=class{#e;get rawKey(){return this.#e.rawKey}get derKey(){return this.#e.derKey}toDer(){return this.#e.toDer()}getPublicKey(){return this.#e}getPrincipal(){if(!this.#e.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return M.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 fs(e){return e instanceof Uint8Array?H(e):H(new Uint8Array(e))}function ic(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ne(e)}var Br=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:fs(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function Lm(e,t,r,n){let o=new Br(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...ra,...new Uint8Array(Xt({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var dr=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await Lm(t,r,n,o.targets);return new e([...o.previous?.delegations||[],i],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(i=>{let{delegation:s,signature:a}=i,{pubkey:c,expiration:u,targets:p}=s;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new Br(ic(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return M.fromHex(d)})),signature:ic(a)}});return new this(o,ic(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:fs(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:fs(n)}}),publicKey:fs(this.publicKey)}}},pr=class extends Ft{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 Xt(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Vo,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},ni=class e extends ps{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function sc(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"?M.fromText(o):o)):r.push(typeof n=="string"?M.fromText(n):n));for(let o of r){let i=o.toText();for(let{delegation:s}of e.delegations){if(s.targets===void 0)continue;let a=!0;for(let c of s.targets)if(c.toText()===i){a=!1;break}if(a)return!1}}return!0}var pd=["mousedown","mousemove","keydown","touchstart","wheel"],oi=class e{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new e(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),pd.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...u)=>{let p=this,d=()=>{c=void 0,s.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let s=i(o,t?.scrollDebounce??100);window.addEventListener("scroll",s,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);pd.forEach(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 qm=(e,t)=>t.some(r=>e instanceof r),fd,hd;function Mm(){return fd||(fd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function jm(){return hd||(hd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var md=new WeakMap,cc=new WeakMap,_d=new WeakMap,ac=new WeakMap,uc=new WeakMap;function Km(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Pt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&md.set(r,e)}).catch(()=>{}),uc.set(t,e),t}function Hm(e){if(cc.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});cc.set(e,t)}var lc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return cc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||_d.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Pt(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 yd(e){lc=e(lc)}function $m(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(hs(this),t,...r);return _d.set(n,t.sort?t.sort():[t]),Pt(n)}:jm().includes(e)?function(...t){return e.apply(hs(this),t),Pt(md.get(this))}:function(...t){return Pt(e.apply(hs(this),t))}}function Gm(e){return typeof e=="function"?$m(e):(e instanceof IDBTransaction&&Hm(e),qm(e,Mm())?new Proxy(e,lc):e)}function Pt(e){if(e instanceof IDBRequest)return Km(e);if(ac.has(e))return ac.get(e);let t=Gm(e);return t!==e&&(ac.set(e,t),uc.set(t,e)),t}var hs=e=>uc.get(e);function xd(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Pt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Pt(s.result),c.oldVersion,c.newVersion,Pt(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var Jm=["get","getKey","getAll","getAllKeys","count"],Wm=["put","add","delete","clear"],dc=new Map;function gd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(dc.get(t))return dc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=Wm.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Jm.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return dc.set(t,i),i}yd(e=>({...e,get:(t,r,n)=>gd(t,r)||e.get(t,r,n),has:(t,r)=>!!gd(t,r)||e.has(t,r)}));var bd="auth-client-db",wd="ic-keyval",zm=async(e=bd,t=wd,r)=>(globalThis.localStorage?.getItem(Ke)&&(globalThis.localStorage.removeItem(Ke),globalThis.localStorage.removeItem(He)),await xd(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function Ym(e,t,r){return await e.get(t,r)}async function Zm(e,t,r,n){return await e.put(t,n,r)}async function Xm(e,t,r){return await e.delete(t,r)}var ms=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=bd,storeName:n=wd,version:o=Td}=t??{},i=await zm(r,n,o);return new e(i,n)}async set(t,r){return await Zm(this._db,this._storeName,t,r)}async get(t){return await Ym(this._db,this._storeName,t)??null}async remove(t){return await Xm(this._db,this._storeName,t)}};var He="identity",Ke="delegation",Nd="iv",Td=1,ii=class{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=globalThis.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},Bt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}ms.create(this.#e).then(n=>{this.initializedDb=n,t(n)}).catch(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 Qm=BigInt(1e9),e_=BigInt(3600),t_=Qm*e_,r_="https://identity.internetcomputer.org",n_="#authorize",o_=BigInt(8)*t_,pc="ECDSA",fc="Ed25519",i_=500,_s="UserInterrupt",si=class e{constructor(t,r,n,o,i,s,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=i,this._createOptions=s,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new Bt,n=t.keyType??pc,o=null;if(t.identity)o=t.identity;else{let c=await r.get(He);if(!c)try{let u=new ii,p=await u.get(Ke),d=await u.get(He);p&&d&&n===pc&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(Ke,p),await r.set(He,d),c=p,await u.remove(Ke),await u.remove(He))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===fc&&typeof c=="string"?o=Nt.fromJSON(c):o=await Ct.fromKeyPair(c):typeof c=="string"&&(o=Nt.fromJSON(c))}catch{}}let i=new rt,s=null;if(o)try{let c=await r.get(Ke);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?i=t.identity:c&&(s=dr.fromJSON(c),sc(s)?"toDer"in o?i=ni.fromDelegation(o,s):i=pr.fromDelegation(o,s):(await hc(r),o=null))}catch(c){console.error(c),await hc(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=oi.create(t.idleOptions)),o||(n===fc?o=Nt.generate():(t.storage&&n===pc&&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 '${fc}' as the key type, as it can serialize to a string`),o=await Ct.generate()),await Od(r,o)),new e(i,o,s,r,a,t)}_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 Br(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=dr.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=ni.fromDelegation(i,this._chain):this._identity=pr.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=oi.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(Ke,JSON.stringify(this._chain.toJSON())),await Od(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&sc(this._chain)}async login(t){let r=s_(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??o_,o=new URL(r?.identityProvider?.toString()||r_);o.hash=n_,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 i=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(_s,r?.onError):setTimeout(i,i_))};i()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let i={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(i,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(i){this._handleFailure(i.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);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 hc(this._storage),this._identity=new rt,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function hc(e){await e.remove(He),await e.remove(Ke),await e.remove(Nd)}function s_(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function a_(e){if(e instanceof Ct)return e.getKeyPair();if(e instanceof Nt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function Od(e,t){let r=a_(t);await e.set(He,r)}var $e=class e{static#e;#t;constructor(){}static getInstance(){return q(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await si.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new Bt().remove(He),await this.createAuthClient());getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new Bt;await Promise.all([n.set(He,r.getKeyPair()),n.set(Ke,JSON.stringify(t.toJSON()))])}};var mc=async e=>{await c_(),await $e.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},c_=async()=>{await $e.getInstance().logout(),je.getInstance().reset(),uo.getInstance().reset(),lo.getInstance().reset()};var Ed=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{nc({message:"junoSignOutAuthTimer"}),await mc()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":nc({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime});return}},je.getInstance().subscribe(o=>{if(q(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var ai=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=$e.getInstance();if(!await(await t()).isAuthenticated()){await r();return}await e()};var _c=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var Rd="juno.datastore.error.user.cannot_update";var Dt={certified:!1};var ys=()=>$e.getInstance().getAuthClient()?.getIdentity(),l_=async()=>{let{getAuthClient:e,createAuthClient:t}=$e.getInstance();return(e()??await t()).getIdentity()},u_=async()=>{let e=je.getInstance().get();if(q(e))return null;let t=$e.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var de=e=>X(e)?e:ys()??new rt;var yc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=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)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),m=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),_=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:_,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),I=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:I,expires_at:e.Opt(e.Nat64)}),v=e.Record({version:e.Opt(e.Nat64)}),V=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),F=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}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),k=e.Record({key:F,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),C=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),P=e.Record({delegation:e.Opt(C),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,P))}),U=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),Q=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),$=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ie=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),pe=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Ae=e.Variant({Deny:e.Null,Allow:e.Null}),re=e.Record({status_code:e.Nat16,location:e.Text}),ce=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Ae),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),Ur=e.Record({db:e.Opt(ie),authentication:e.Opt(Q),storage:ce}),kt=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Ye=e.Variant({OpenId:kt}),kr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Lr=e.Record({signature:e.Vec(e.Nat8),delegation:kr}),at=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),qr=e.Variant({Ok:Lr,Err:at}),Mr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),jr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Lt=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ct=e.Variant({AssetsUpgrade:jr,SegmentsDeployment:Lt}),Ze=e.Record({status:Mr,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:ct}),Xe=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),lt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ut=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:Xe,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Kr=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)}),dt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Hr=e.Variant({Callback:e.Record({token:dt,callback:e.Func([],[],["query"])})}),$r=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Hr),status_code:e.Nat16}),Gr=e.Record({token:e.Opt(dt),body:e.Vec(e.Nat8)}),pt=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}),Qe=e.Record({batch_id:e.Nat}),Jr=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,k)),items_length:e.Nat64}),Wr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zr=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,s)),items_length:e.Nat64}),Yr=e.Record({desc:e.Bool}),Zr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Xr=e.Record({order:e.Opt(Yr),paginate:e.Opt(Zr)}),Qr=e.Record({proposal_id:e.Nat}),en=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Qr,Ze)),items_length:e.Nat64}),tn=e.Record({include_system:e.Bool}),rn=e.Record({matcher:e.Opt(tn)}),nn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ut)),items_length:e.Nat64}),on=e.Record({stable:e.Nat64,heap:e.Nat64}),qt=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),sn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:I,expires_at:e.Opt(e.Nat64)}),an=e.Record({controller:sn,controllers:e.Vec(e.Principal)}),cn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),Mt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Bs=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:Xe,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Ds=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Ae),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),fo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ho=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([m],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([m],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(m)],[],[]),count_assets:e.Func([e.Text,O],[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,O],[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([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,v],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),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,v))],[],[]),del_rule:e.Func([V,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(k)],["query"]),get_auth_config:e.Func([],[e.Opt(Q)],["query"]),get_config:e.Func([],[Ur],[]),get_db_config:e.Func([],[e.Opt(ie)],["query"]),get_delegation:e.Func([Ye],[qr],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(k)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],["query"]),get_rule:e.Func([V,e.Text],[e.Opt(ut)],["query"]),get_storage_config:e.Func([],[ce],["query"]),http_request:e.Func([Kr],[$r],["query"]),http_request_streaming_callback:e.Func([dt],[Gr],["query"]),init_asset_upload:e.Func([pt],[Qe],[]),init_proposal:e.Func([ct],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([pt,e.Nat],[Qe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(pt),e.Nat],[e.Vec(e.Tuple(e.Text,Qe))],[]),list_assets:e.Func([e.Text,O],[Jr],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Wr))],["query"]),list_docs:e.Func([e.Text,O],[zr],["query"]),list_proposals:e.Func([Xr],[en],["query"]),list_rules:e.Func([V,rn],[nn],["query"]),memory_size:e.Func([],[on],["query"]),reject_proposal:e.Func([g],[e.Null],[]),set_auth_config:e.Func([qt],[Q],[]),set_controllers:e.Func([an],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([cn],[ie],[]),set_doc:e.Func([e.Text,e.Text,Mt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Mt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([V,e.Text,Bs],[ut],[]),set_storage_config:e.Func([Ds],[ce],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([fo],[ho],[]),upload_proposal_asset_chunk:e.Func([fo],[ho],[])})},gc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=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)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),m=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),_=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:_,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),I=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:I,expires_at:e.Opt(e.Nat64)}),v=e.Record({version:e.Opt(e.Nat64)}),V=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),F=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}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),k=e.Record({key:F,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),C=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),P=e.Record({delegation:e.Opt(C),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,P))}),U=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),Q=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),$=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ie=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),pe=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Ae=e.Variant({Deny:e.Null,Allow:e.Null}),re=e.Record({status_code:e.Nat16,location:e.Text}),ce=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Ae),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),Ur=e.Record({db:e.Opt(ie),authentication:e.Opt(Q),storage:ce}),kt=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Ye=e.Variant({OpenId:kt}),kr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Lr=e.Record({signature:e.Vec(e.Nat8),delegation:kr}),at=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),qr=e.Variant({Ok:Lr,Err:at}),Mr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),jr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Lt=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ct=e.Variant({AssetsUpgrade:jr,SegmentsDeployment:Lt}),Ze=e.Record({status:Mr,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:ct}),Xe=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),lt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ut=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:Xe,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Kr=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)}),dt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Hr=e.Variant({Callback:e.Record({token:dt,callback:e.Func([],[],[])})}),$r=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Hr),status_code:e.Nat16}),Gr=e.Record({token:e.Opt(dt),body:e.Vec(e.Nat8)}),pt=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}),Qe=e.Record({batch_id:e.Nat}),Jr=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,k)),items_length:e.Nat64}),Wr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zr=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,s)),items_length:e.Nat64}),Yr=e.Record({desc:e.Bool}),Zr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Xr=e.Record({order:e.Opt(Yr),paginate:e.Opt(Zr)}),Qr=e.Record({proposal_id:e.Nat}),en=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Qr,Ze)),items_length:e.Nat64}),tn=e.Record({include_system:e.Bool}),rn=e.Record({matcher:e.Opt(tn)}),nn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ut)),items_length:e.Nat64}),on=e.Record({stable:e.Nat64,heap:e.Nat64}),qt=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),sn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:I,expires_at:e.Opt(e.Nat64)}),an=e.Record({controller:sn,controllers:e.Vec(e.Principal)}),cn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),Mt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Bs=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:Xe,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Ds=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Ae),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),fo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ho=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([m],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([m],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(m)],[],[]),count_assets:e.Func([e.Text,O],[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,O],[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([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,v],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),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,v))],[],[]),del_rule:e.Func([V,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(k)],[]),get_auth_config:e.Func([],[e.Opt(Q)],[]),get_config:e.Func([],[Ur],[]),get_db_config:e.Func([],[e.Opt(ie)],[]),get_delegation:e.Func([Ye],[qr],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(k)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],[]),get_rule:e.Func([V,e.Text],[e.Opt(ut)],[]),get_storage_config:e.Func([],[ce],[]),http_request:e.Func([Kr],[$r],[]),http_request_streaming_callback:e.Func([dt],[Gr],[]),init_asset_upload:e.Func([pt],[Qe],[]),init_proposal:e.Func([ct],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([pt,e.Nat],[Qe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(pt),e.Nat],[e.Vec(e.Tuple(e.Text,Qe))],[]),list_assets:e.Func([e.Text,O],[Jr],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Wr))],[]),list_docs:e.Func([e.Text,O],[zr],[]),list_proposals:e.Func([Xr],[en],[]),list_rules:e.Func([V,rn],[nn],[]),memory_size:e.Func([],[on],[]),reject_proposal:e.Func([g],[e.Null],[]),set_auth_config:e.Func([qt],[Q],[]),set_controllers:e.Func([an],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([cn],[ie],[]),set_doc:e.Func([e.Text,e.Text,Mt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Mt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([V,e.Text,Bs],[ut],[]),set_storage_config:e.Func([Ds],[ce],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([fo],[ho],[]),upload_proposal_asset_chunk:e.Func([fo],[ho],[])})},d_=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,mission_control:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),m=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:m,RegisterUser:e.Text}),_=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),user:e.Principal}),E=e.Variant({Heap:e.Null,Stable:e.Null}),O=e.Record({system_memory:e.Opt(E)}),R=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(O),user:e.Principal}),I=e.Record({controllers:e.Vec(e.Principal)}),w=e.Record({proposal_ids:e.Vec(e.Nat)}),v=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(v),client_id:e.Text}),S=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,V))}),b=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),N=e.Record({allowed_callers:e.Vec(e.Principal)}),F=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(S),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),B=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),k=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),A=e.Variant({Deny:e.Null,Allow:e.Null}),C=e.Record({status_code:e.Nat16,location:e.Text}),P=e.Record({iframe:e.Opt(B),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(k),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,C)))}),D=e.Record({authentication:e.Opt(F),storage:P}),U=e.Record({user:e.Principal}),te=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Q=e.Variant({OpenId:te}),$=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),ie=e.Record({signature:e.Vec(e.Nat8),delegation:$}),pe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),Ae=e.Variant({Ok:ie,Err:pe}),re=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),ce=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ur=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),kt=e.Variant({AssetsUpgrade:ce,SegmentsDeployment:Ur}),Ye=e.Record({status:re,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:kt}),kr=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)}),Lr=e.Variant({Heap:e.Null,Stable:e.Null}),at=e.Record({memory:Lr,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}),qr=e.Variant({Callback:e.Record({token:at,callback:e.Func([],[],["query"])})}),Mr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(qr),status_code:e.Nat16}),jr=e.Record({token:e.Opt(at),body:e.Vec(e.Nat8)}),Lt=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}),ct=e.Record({batch_id:e.Nat}),Ze=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),Xe=e.Record({field:Ze,desc:e.Bool}),lt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ut=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(lt),description:e.Opt(e.Text),created_at:e.Opt(lt)}),Kr=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),dt=e.Record({order:e.Opt(Xe),owner:e.Opt(e.Principal),matcher:e.Opt(ut),paginate:e.Opt(Kr)}),Hr=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}),$r=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),Gr=e.Record({key:Hr,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,$r)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),pt=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,Gr)),items_length:e.Nat64}),Qe=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Jr=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Qe,expires_at:e.Opt(e.Nat64)}),Wr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zr=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Yr=e.Record({status:zr,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),Zr=e.Record({desc:e.Bool}),Xr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Qr=e.Record({order:e.Opt(Zr),paginate:e.Opt(Xr)}),en=e.Record({proposal_id:e.Nat}),tn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(en,Ye)),items_length:e.Nat64}),rn=e.Record({openid:e.Opt(S),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),nn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Qe,expires_at:e.Opt(e.Nat64)}),on=e.Record({controller:nn,controllers:e.Vec(e.Principal)}),qt=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),sn=e.Record({iframe:e.Opt(B),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(k),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,C)))}),an=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),cn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Mt=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[_],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_orbiter:e.Func([T],[e.Principal],[]),create_satellite:e.Func([R],[e.Principal],[]),del_controllers:e.Func([I],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([w],[],[]),get_auth_config:e.Func([],[e.Opt(F)],["query"]),get_config:e.Func([],[D],["query"]),get_create_orbiter_fee:e.Func([U],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([U],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([Q],[Ae],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Ye)],["query"]),get_storage_config:e.Func([],[P],["query"]),get_user_mission_control_center:e.Func([],[e.Opt(p)],["query"]),http_request:e.Func([kr],[Mr],["query"]),http_request_streaming_callback:e.Func([at],[jr],["query"]),init_proposal:e.Func([kt],[e.Nat,Ye],[]),init_proposal_asset_upload:e.Func([Lt,e.Nat],[ct],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Lt),e.Nat],[e.Vec(e.Tuple(e.Text,ct))],[]),init_user_mission_control_center:e.Func([],[p],[]),list_assets:e.Func([e.Text,dt],[pt],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Jr))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Wr))],["query"]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Yr))],["query"]),list_proposals:e.Func([Qr],[tn],["query"]),list_user_mission_control_centers:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([rn],[F],[]),set_controllers:e.Func([on],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([qt,t],[],[]),set_storage_config:e.Func([sn],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ye],[]),update_rate_config:e.Func([qt,an],[],[]),upload_proposal_asset_chunk:e.Func([cn],[Mt],[])})},p_=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,mission_control:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),m=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:m,RegisterUser:e.Text}),_=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),user:e.Principal}),E=e.Variant({Heap:e.Null,Stable:e.Null}),O=e.Record({system_memory:e.Opt(E)}),R=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(O),user:e.Principal}),I=e.Record({controllers:e.Vec(e.Principal)}),w=e.Record({proposal_ids:e.Vec(e.Nat)}),v=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(v),client_id:e.Text}),S=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,V))}),b=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),N=e.Record({allowed_callers:e.Vec(e.Principal)}),F=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(S),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),B=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),k=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),A=e.Variant({Deny:e.Null,Allow:e.Null}),C=e.Record({status_code:e.Nat16,location:e.Text}),P=e.Record({iframe:e.Opt(B),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(k),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,C)))}),D=e.Record({authentication:e.Opt(F),storage:P}),U=e.Record({user:e.Principal}),te=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Q=e.Variant({OpenId:te}),$=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),ie=e.Record({signature:e.Vec(e.Nat8),delegation:$}),pe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),Ae=e.Variant({Ok:ie,Err:pe}),re=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),ce=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ur=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),kt=e.Variant({AssetsUpgrade:ce,SegmentsDeployment:Ur}),Ye=e.Record({status:re,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:kt}),kr=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)}),Lr=e.Variant({Heap:e.Null,Stable:e.Null}),at=e.Record({memory:Lr,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}),qr=e.Variant({Callback:e.Record({token:at,callback:e.Func([],[],[])})}),Mr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(qr),status_code:e.Nat16}),jr=e.Record({token:e.Opt(at),body:e.Vec(e.Nat8)}),Lt=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}),ct=e.Record({batch_id:e.Nat}),Ze=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),Xe=e.Record({field:Ze,desc:e.Bool}),lt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ut=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(lt),description:e.Opt(e.Text),created_at:e.Opt(lt)}),Kr=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),dt=e.Record({order:e.Opt(Xe),owner:e.Opt(e.Principal),matcher:e.Opt(ut),paginate:e.Opt(Kr)}),Hr=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}),$r=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),Gr=e.Record({key:Hr,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,$r)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),pt=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,Gr)),items_length:e.Nat64}),Qe=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Jr=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Qe,expires_at:e.Opt(e.Nat64)}),Wr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),zr=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Yr=e.Record({status:zr,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),Zr=e.Record({desc:e.Bool}),Xr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Qr=e.Record({order:e.Opt(Zr),paginate:e.Opt(Xr)}),en=e.Record({proposal_id:e.Nat}),tn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(en,Ye)),items_length:e.Nat64}),rn=e.Record({openid:e.Opt(S),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),nn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Qe,expires_at:e.Opt(e.Nat64)}),on=e.Record({controller:nn,controllers:e.Vec(e.Principal)}),qt=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),sn=e.Record({iframe:e.Opt(B),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(k),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,C)))}),an=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),cn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Mt=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[_],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_orbiter:e.Func([T],[e.Principal],[]),create_satellite:e.Func([R],[e.Principal],[]),del_controllers:e.Func([I],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([w],[],[]),get_auth_config:e.Func([],[e.Opt(F)],[]),get_config:e.Func([],[D],[]),get_create_orbiter_fee:e.Func([U],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([U],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([Q],[Ae],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ye)],[]),get_storage_config:e.Func([],[P],[]),get_user_mission_control_center:e.Func([],[e.Opt(p)],[]),http_request:e.Func([kr],[Mr],[]),http_request_streaming_callback:e.Func([at],[jr],[]),init_proposal:e.Func([kt],[e.Nat,Ye],[]),init_proposal_asset_upload:e.Func([Lt,e.Nat],[ct],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Lt),e.Nat],[e.Vec(e.Tuple(e.Text,ct))],[]),init_user_mission_control_center:e.Func([],[p],[]),list_assets:e.Func([e.Text,dt],[pt],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Jr))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Wr))],[]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Yr))],[]),list_proposals:e.Func([Qr],[tn],[]),list_user_mission_control_centers:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([rn],[F],[]),set_controllers:e.Func([on],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([qt,t],[],[]),set_storage_config:e.Func([sn],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ye],[]),update_rate_config:e.Func([qt,an],[],[]),upload_proposal_asset_chunk:e.Func([cn],[Mt],[])})};var f_=async({identity:e,host:t,localActor:r})=>await lr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),h_=async({agent:e,...t})=>e??await m_(t),m_=async({identity:e,container:t})=>{let r=X(t)&&t!==!1;return await f_({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var vd=({satelliteId:e,certified:t=!1,...r})=>Ad({canisterId:e,...r,idlFactory:t?gc:yc});var Id=({consoleId:e,certified:t=!1,...r})=>Ad({canisterId:e,...r,idlFactory:t?p_:d_}),Ad=({canisterId:e,idlFactory:t,...r})=>{if(q(e))throw new Error("No canister ID provided.");return __({canisterId:e,idlFactory:t,...r})},__=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await h_(n);return io.createActor(t,{agent:o,canisterId:e,...r??{}})};var Ce=class e extends ao{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 Sd=({satelliteId:e,container:t})=>{let{satelliteId:r}=xc({satelliteId:e}),{container:n}=bc({container:t});if(X(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?co:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},xc=({satelliteId:e})=>X(e)?{satelliteId:e}:Ce.getInstance().get()??{satelliteId:void 0},bc=({container:e})=>X(e)?{container:e}:Ce.getInstance().get()??{container:void 0};var Te=({satellite:e,options:{certified:t}})=>Vd({idlFactory:t?gc:yc,actorKey:`stock#${t?"update":"query"}`,...e}),Fd=({idlFactory:e,...t})=>Vd({idlFactory:e,actorKey:"extended#query",...t}),Vd=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=xc({satelliteId:e});ei(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=bc({container:t});return await uo.getInstance().getActor({satelliteId:n,container:o,...r})};var gs=class extends Error{},fr=class extends Error{},xs=class extends Error{},bs=class extends Error{},ws=class extends Error{},Ts=class extends Error{},Ns=class extends Error{},Os=class extends Error{},Es=class extends Error{};var Cd=e=>{if(q(e))return ue();switch(e.matcher){case"equal":return ue({Equal:e.timestamp});case"greaterThan":return ue({GreaterThan:e.timestamp});case"lessThan":return ue({LessThan:e.timestamp});case"between":return ue({Between:[e.timestamps.start,e.timestamps.end]});default:throw new Es("Invalid list matcher for timestamp",e)}},Dr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:q(e)?[]:[{key:ue(e.key),description:ue(e.description),created_at:Cd(e.createdAt),updated_at:Cd(e.updatedAt)}],paginate:ue(q(t)?void 0:{start_after:ue(t.startAfter),limit:ue(q(t.limit)?void 0:BigInt(t.limit))}),order:ue(q(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:ue(q(n)?void 0:typeof n=="string"?M.fromText(n):n)});var Pd=async e=>{let t=new Blob([JSON.stringify(e,Xu)],{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(),Qu)},vs=()=>typeof window<"u";var Bd=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 wc=async e=>{let{data:t,version:r,description:n}=e;return{description:ue(n),data:await Pd(t),version:ue(r)}},Tc=e=>{let{version:t}=e;return{version:ue(t)}},Cn=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:ye(o),owner:r.toText(),data:await Rs(i),version:ye(n),...s}};var Dd=async({collection:e,key:t,...r})=>{let{get_doc:n}=await Te(r),o=ye(await n(e,t));if(!q(o))return Cn({doc:o,key:t})},Ud=async({docs:e,...t})=>{let{get_many_docs:r}=await Te(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=ye(a);i.push(X(c)?await Cn({key:s,doc:c}):void 0)}return i},kd=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await Te(r),{key:o}=t,i=await wc(t),s=await n(e,o,i);return await Cn({key:o,doc:s})},Ld=async({docs:e,...t})=>{let{set_many_docs:r}=await Te(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await wc(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await Cn({key:s,doc:a}));return i},qd=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await Te(r),{key:o}=t;return n(e,o,Tc(t))},Md=async({docs:e,...t})=>{let{del_many_docs:r}=await Te(t),n=e.map(({collection:o,doc:i})=>[o,i.key,Tc(i)]);await r(n)},jd=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await Te(r);return n(e,Dr(t))},Kd=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await Te(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,Dr(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:m,...g}=d;u.push({key:p,description:ye(h),owner:f.toText(),data:await Bd({data:l}),version:ye(m),...g})}return{items:u,items_length:s,items_page:ye(i),matches_length:a,matches_pages:ye(c)}},Hd=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await Te(r);return n(e,Dr(t))};var Is=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await Dd({...r,satellite:{...e,identity:n},options:t??Dt})},oT=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await Ud({...r,satellite:{...e,identity:n},options:t??Dt})},$d=async({satellite:e,...t})=>{let r=de(e?.identity);return await kd({...t,satellite:{...e,identity:r},options:{certified:!0}})},Gd=async({satellite:e,...t})=>{let r=de(e?.identity);return await Ld({...t,satellite:{...e,identity:r},options:{certified:!0}})},iT=async({satellite:e,...t})=>{let r=de(e?.identity);return await qd({...t,satellite:{...e,identity:r},options:{certified:!0}})},sT=async({satellite:e,...t})=>{let r=de(e?.identity);return await Md({...t,satellite:{...e,identity:r},options:{certified:!0}})},aT=async({satellite:e,filter:t,...r})=>{let n=de(e?.identity);return await jd({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},cT=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await Kd({...n,filter:r??{},satellite:{...e,identity:o},options:t??Dt})},lT=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await Hd({...n,filter:r??{},satellite:{...e,identity:o},options:t??Dt})};var Jd=async({provider:e})=>{let{user:t,userId:r}=await Nc();if(X(t))return t;try{return await y_({userId:r,provider:e})}catch(n){if(_c({error:n,type:Rd})){let o=await Wd({userId:r});if(X(o))return o}throw n}},Nc=async()=>{let e=ys();if(q(e))throw new Os("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await Wd({userId:t});return{userId:t,user:r}},Wd=({userId:e})=>Is({collection:"#user",key:e}),y_=({userId:e,...t})=>$d({collection:"#user",doc:{key:e,data:t}});var As=async()=>{await ai({fn:async()=>{let{user:t}=await Nc();je.getInstance().set(t??null)}})},Ss=async({user:e})=>{await ai({fn:async()=>{je.getInstance().set(e)}})};var zd=()=>{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()},Yd=()=>{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()},Zd=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()};var Xd=BigInt(144e11),Qd=!1,ep={width:576,height:576},tp={width:424,height:576};var ci="internetcomputer.org",rp="ic0.app",np="id.ai";var op=({width:e,height:t})=>{if(!vs()||q(window)||q(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,i=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=${i}`};var Ut=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 ip=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(ip||{});var Fs=class{async signIn({options:t,authClient:r,initAuth:n}){await Ut({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Ut({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(q(r)){o(new fr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===_s){o(new xs(i));return}o(new gs(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Xd,allowPinAuthentication:t?.allowPin??Qd,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Vs=class extends Fs{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Ce.getInstance().get()?.container;if(q(i)||i===!1){let p=[ci,rp].includes(this.#e??ci);return so(this.#e)?`https://identity.${ci}`:p?`https://identity.${this.#e??ci}`:`https://${this.#e}`}let s=Ce.getInstance().get(),a=X(s)&&X(s?.internetIdentityId)?s.internetIdentityId:cd,{host:c,protocol:u}=new URL(i===!0?co:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:op((()=>{try{let{hostname:i}=new URL(n);return i.includes(np)}catch{return!1}})()?tp:ep)},identityProvider:n}}};var Oc=class extends Error{},Ec=class extends Error{},Rc=class extends Error{},vc=class extends Error{},Ic=class extends Error{},Ac=class extends Error{},Sc=class extends Error{},Fc=class extends Error{},Vc=class extends Error{},Cc=class extends Error{};var sp=({auth:e,identity:t})=>"satellite"in e?vd({...e.satellite,identity:t}):Id({...e.console,identity:t}),g_=async({actorParams:e,args:t})=>{let{authenticate:r}=await sp(e);return await r(t)},x_=async({actorParams:e,args:t})=>{let{get_delegation:r}=await sp(e);return await r(t)},b_=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=dr.fromDelegations(n,Uint8Array.from(r));return{identity:pr.fromDelegation(t,o),delegationChain:o,sessionKey:t}},Pc=async({jwt:e,context:t,auth:r})=>{let n=await Ct.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await w_({jwt:e,publicKey:o,context:t,auth:r});return{identity:b_({sessionKey:n,delegations:i}),data:s}},w_=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await g_({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new Ic("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await T_({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:p,signature:d}=u,{pubkey:l,expiration:f,targets:h}=p;return{delegations:[s,[{delegation:new Br(Uint8Array.from(l),f,ye(h)),signature:Uint8Array.from(d)}]],data:c}},T_=async({jwt:e,publicKey:t,context:{salt:r,caller:n},auth:o,expiration:i,maxRetries:s=5})=>{for(let a=0;a<s;a++){await new Promise(u=>{setInterval(u,1e3*a)});let c=await x_({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:u}=c;if("NoSuchDelegation"in u||"GetCachedJwks"in u)continue;throw new Vc("Getting delegation failed",{cause:c})}return c.Ok}throw new Cc};var Bc="juno:auth:openid",Dc={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"};var ap=e=>Cr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),N_=()=>window.crypto.getRandomValues(new Uint8Array(32)),O_=async({salt:e,caller:t})=>{let r=t.getPrincipal().toUint8Array(),n=new Uint8Array(e.length+r.byteLength);n.set(e),n.set(r,e.length);let o=await window.crypto.subtle.digest("SHA-256",n);return ap(ur(o))},E_=async({caller:e})=>{let t=N_();return{nonce:await O_({salt:t,caller:e}),salt:t}},cp="__caller__",lp="__salt__",up="__state__",R_=({caller:e,state:t,salt:r})=>{let n={[cp]:e.toJSON(),[lp]:Cr(r),[up]:t};return JSON.stringify(n)},v_=e=>{let{[cp]:t,[lp]:r,[up]:n}=JSON.parse(e);return{caller:Nt.fromParsedJson(t),salt:Zu(r),state:n}},I_=()=>ap(window.crypto.getRandomValues(new Uint8Array(12))),dp=async()=>{let e=Nt.generate(),{nonce:t,salt:r}=await E_({caller:e}),n=I_(),o=R_({caller:e,salt:r,state:n});return sessionStorage.setItem(Bc,o),{nonce:t,state:n}},pp=()=>{let e=sessionStorage.getItem(Bc);if(q(e))throw new Ec;return v_(e)};var Uc=async e=>{let t=pp();if("credentials"in e){let{credentials:{jwt:r},auth:n}=e;return await Pc({jwt:r,context:t,auth:n})}return await A_({...e,context:t})},A_=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(so(r)||!r.startsWith("#"))throw new Ac("No hash found in the current location URL");let n=new URLSearchParams(r.slice(1)),o=n.get("state"),i=n.get("id_token"),{state:s}=t;if(so(s)||o!==s)throw new Sc("The provided state is invalid",{cause:o});if(so(i))throw new Fc;return await Pc({jwt:i,auth:e,context:t})};var fp=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=(()=>{try{return new URL(e)}catch{throw new Oc("Cannot parse authURL",{cause:e})}})();a.searchParams.set("client_id",t);let{location:{origin:c}}=window;a.searchParams.set("redirect_uri",s??c),a.searchParams.set("response_type","code id_token"),a.searchParams.set("scope",o.join(" ")),a.searchParams.set("state",i),a.searchParams.set("nonce",r),ec(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},hp=async({configUrl:e,clientId:t,nonce:r,loginHint:n,domainHint:o})=>{let i=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:t,nonce:r,loginHint:n,domainHint:o}],mode:"active"},mediation:"required"});if(q(i))throw new Rc;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new vc("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function kc({google:e}){let t=await dp();if("credentials"in e){let{credentials:i}=e,{configUrl:s}=Dc;return await hp({...i,...t,configUrl:s})}let{redirect:r}=e,{authUrl:n,authScopes:o}=Dc;fp({...r,...t,authUrl:n,authScopes:o})}var S_=async()=>{let{satelliteId:e}=Ce.getInstance().get()??{satelliteId:void 0};if(q(e))throw new fr("Satellite ID not set. Have you initialized the Satellite?");let t=Ce.getInstance().get()?.container,{identity:{delegationChain:r,sessionKey:n,identity:o},data:{doc:i}}=await Uc({redirect:null,auth:{satellite:{satelliteId:e,container:t}}});await $e.getInstance().setAuthClientStorage({delegationChain:r,sessionKey:n});let s=await Cn({doc:i,key:o.getPrincipal().toText()});await Ss({user:s})};var mp=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),F_=()=>{window.addEventListener("beforeunload",mp,{capture:!0})},V_=()=>{window.removeEventListener("beforeunload",mp,{capture:!0})},Cs=async({fn:e})=>{try{return F_(),await e()}finally{V_()}};var Ps=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Zd();if(q(r))throw new ws;let{redirect:n}=t;await kc({google:{redirect:{...n??{},clientId:r}}})}};var _p=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Gd({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...X(n)&&{aaguid:ds(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var yp=(i=>(i[i.RequestingUserCredential=0]="RequestingUserCredential",i[i.FinalizingCredential=1]="FinalizingCredential",i[i.Signing=2]="Signing",i[i.FinalizingSession=3]="FinalizingSession",i[i.RetrievingUser=4]="RetrievingUser",i))(yp||{}),gp=(s=>(s[s.CreatingUserCredential=0]="CreatingUserCredential",s[s.ValidatingUserCredential=1]="ValidatingUserCredential",s[s.FinalizingCredential=2]="FinalizingCredential",s[s.Signing=3]="Signing",s[s.FinalizingSession=4]="FinalizingSession",s[s.RegisteringUser=5]="RegisteringUser",s))(gp||{});var po=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Ce.getInstance().get()??{satelliteId:void 0};if(q(i))throw new fr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:m,state:g})=>{switch(m){case Pr.RequestingUserCredential:t?.({step:1,state:g});break;case Pr.FinalizingCredential:t?.({step:2,state:g});break;case Pr.Signing:t?.({step:3,state:g});break}},c=await Ut({fn:async()=>await rc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await Ut({fn:async()=>await _p({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Ut({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await Ut({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Ce.getInstance().get()??{satelliteId:void 0};if(q(o))throw new fr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await Is({collection:"#user-webauthn",key:Cr(d),options:{certified:!0},satellite:{identity:new rt,satelliteId:o}});if(q(l))throw new Ts("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Vn(h,Xo)},s=({step:d,state:l})=>{switch(d){case Pr.RequestingUserCredential:t?.({step:0,state:l});break;case Pr.FinalizingCredential:t?.({step:1,state:l});break;case Pr.Signing:t?.({step:2,state:l});break}},a=await rc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Ut({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await Ut({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await Ct.generate({extractable:!1}),o=r??144e5,i=await dr.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:pr.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Bt;await Promise.all([n.set(He,t.getKeyPair()),n.set(Ke,JSON.stringify(r.getDelegation().toJSON()))])}};var P_=async({provider:e})=>{await ai({fn:async()=>{let r=await Jd({provider:e});je.getInstance().set(r)}})},B_=async e=>{if("google"in e){let{google:{options:t}}=e;await Lc({fn:()=>new Ps().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await Lc({fn:()=>new po().signIn({options:t,loadAuth:As}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await Lc({fn:()=>new Vs({domain:n}).signIn({options:o,authClient:$e.getInstance().getAuthClient(),initAuth:P_}),context:r});return}throw new bs("An unknown or unsupported provider was provided for sign-in.")},Lc=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await Cs({fn:e})};var D_=async e=>{let t=async()=>await U_(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Cs({fn:t})},U_=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new po().signUp({options:t,loadAuthWithUser:Ss});return}throw new Ns("An unknown or unsupported provider was provided for sign-up.")};var IO=e=>e?.data?.provider==="webauthn",AO=e=>e?.data?.provider==="google";var CO=async({idlFactory:e,satellite:t})=>{let r=de(t?.identity);return await Fd({idlFactory:e,...t,identity:r})};var xp=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:i,upload_asset_chunk:s,commit_asset_upload:a}=n,{batch_id:c}=await i(k_(r));o?.onInitiatedBatch();let{chunkIds:u}=await M_({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await q_({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var k_=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:ue(r),encoding_type:ue(o),description:ue(i)}),L_=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([i,s])=>i.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:i})=>i),headers:[...r,...o??[]]}},q_=async({commitFn:e,...t})=>{let r=L_(t);await e(r)},M_=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=vs()?new Blob([await e.arrayBuffer()]):e,i=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:i}),i++}let s=[];for await(let a of j_({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*j_({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=>K_(o)))}}var K_=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:ue(n)});var bp=async({asset:e,...t})=>{let r=await Te(t);await xp({actor:r,asset:e})},wp=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await Te(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,Dr(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:ye(s),matches_length:a,matches_pages:ye(c)}},Tp=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await Te(r);return n(e,Dr(t))},Np=async({collection:e,fullPath:t,...r})=>(await Te(r)).del_asset(e,t),Op=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await Te({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},Ep=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await Te(r);return n(e,Dr(t))},Rp=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await Te(r);return ye(await n(e,t))},vp=async({assets:e,...t})=>{let{get_many_assets:r}=await Te(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>ye(s))};var Ip=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var YO=e=>Ap(e),ZO=e=>Ap({filename:e.data.name,...e}),Ap=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let u=de(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...s,identity:u};return await bp({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:Sp({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,name:p}},XO=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)},{items:i,...s}=await wp({collection:e,filter:t??{},satellite:o,options:n??Dt}),a=i.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:m,updated_at:g})=>{let _=ye(u);return{fullPath:c,description:ye(l),name:p,downloadUrl:Sp({satellite:o,assetKey:{fullPath:c,token:_}}),token:_,headers:f,encodings:h.reduce((x,[y,{modified:T,sha256:E,total_length:O}])=>({...x,[y]:{modified:T,sha256:Ip(E),total_length:O}}),{}),owner:d.toText(),created_at:m,updated_at:g}});return{items:a,assets:a,...s}},QO=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)};return await Tp({collection:e,satellite:o,filter:t??{},options:n??Dt})},e6=({collection:e,fullPath:t,satellite:r})=>Np({collection:e,fullPath:t,satellite:{...r,identity:de(r?.identity)},options:{certified:!0}}),t6=({assets:e,satellite:t})=>Op({assets:e,satellite:{...t,identity:de(t?.identity)},options:{certified:!0}}),r6=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:de(t?.identity)};return await Ep({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},n6=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await Rp({...r,satellite:{...e,identity:n},options:t??Dt})},o6=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await vp({...r,satellite:{...e,identity:n},options:t??Dt})},Sp=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:de(r?.identity)};return`${Sd(n)}${e}${X(t)?`?token=${t}`:""}`};var H_=e=>{let t=e?.satelliteId??zd();ei(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Yd();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,container:r}},f6=e=>$_(e),$_=async e=>{let t=H_(e);Ce.getInstance().set(t),await As();let r=t.workers?.auth!==void 0?Ed(t.workers.auth):void 0;return[...r?[r]:[]]},G_=e=>je.getInstance().subscribe(e),h6=G_;export{ip as AuthClientSignInProgressStep,Os as InitError,Vs as InternetIdentityProvider,Es as ListError,gs as SignInError,fr as SignInInitError,ws as SignInMissingClientIdError,bs as SignInProviderNotSupportedError,xs as SignInUserInterruptError,Ns as SignUpProviderNotSupportedError,yp as WebAuthnSignInProgressStep,Ts as WebAuthnSignInRetrievePublicKeyError,gp as WebAuthnSignUpProgressStep,h6 as authSubscribe,QO as countAssets,lT as countDocs,e6 as deleteAsset,iT as deleteDoc,r6 as deleteFilteredAssets,aT as deleteFilteredDocs,t6 as deleteManyAssets,sT as deleteManyDocs,Sp as downloadUrl,n6 as getAsset,Is as getDoc,u_ as getIdentityOnce,o6 as getManyAssets,oT as getManyDocs,CO as getSatelliteExtendedActor,S_ as handleRedirectCallback,f6 as initJuno,$_ as initSatellite,AO as isGoogleUser,km as isWebAuthnAvailable,IO as isWebAuthnUser,XO as listAssets,cT as listDocs,G_ as onAuthStateChange,$d as setDoc,Gd as setManyDocs,B_ as signIn,mc as signOut,D_ as signUp,l_ as unsafeIdentity,YO as uploadBlob,ZO as uploadFile};
|
|
57
57
|
/*! Bundled license information:
|
|
58
58
|
|
|
59
59
|
@noble/hashes/esm/utils.js:
|